How should I go about doing regression with a series of exponents involved? I have a table of data with input values and target values, and I was tasked to do something quite peculiar. I was tasked to run a sort of exponential regression and report back with the coefficients and the series of exponents. Let me explain:
Vanilla Linear Regression will minimize sum of squared error to create a linear combination in the format of $[a_1x_1 + a_2x_2...]$ where $a_i$ represents the series of coefficients and $x_i$ represents the different input features. This means that solving for the coefficients on linear regression is fairly easy given enough linearly independent data points.
I was given a dataset, and I was tasked to create an equation in the form of $[a_1x_1^{n_1} + a_2x_2^{n_2}...]$ where $a_i$ is the coefficients, $x_i$ is the input features, and $n_i$ signifies an exponential value. 
I believe that since $a_i$ and $n_i$ need to be solved for, there are too many variables involved to go about this problem in a simple manner. 
Is something like this even something like this even solvable? If so, how would you go about it statistically, and how would you go about it in python?
p.s. The task also says that all exponents, $n_i$, need to be between 0 and 1, so that might make it a bit easier.
p.s.s. I know that $[a_1x_1^{n_1} + a_2x_2^{n_2}...]$  is not linear unless all $n_i$ variables are either 0 or 1 but I wrote "linear regression" in the title because the two general formulas are similar.
 A: Fitting to experimental data the function :
$$y(x)=b\:x^{p}+c\:x^{q}$$
for the approximate values of the 4 parameters $p,q,b,c$ is easy thanks to the method described pp.71-72 (with numerical example p.73) in the paper https://fr.scribd.com/doc/14674814/Regressions-et-equations-integrales
The case of the 5 parameters function :
$$y(x)=a+b\:x^{p}+c\:x^{q}$$
is shown in https://math.stackexchange.com/questions/3306953/sum-of-exponential-growth-and-decay/3317563#3317563
The extension to more parameters is theoretically possible on the same way. But too many parameters increase the deviations in the numerical calculus, making the result less and less accurate, up to be not acceptable in practice. This is discussed p.74  in the referenced paper.
A: If $x_i$ are the same
If you transform the $x$ values like:
$$t = \log(x)$$
Then your formula changes into
$$y = a_1 \exp(n_1t) +  a_2 \exp(n_2t) + \dots$$
This you can solve with one of many methods for sums of exponential functions.

*

*An earlier example on Cross Validated is  'answer to: Fitting exponential decay with negative y values'.

*The article 'Exponential analysis in physical phenomena' by Andrei A. Istratov and Oleg F. Vyvenko published in Review of Scientific Instruments 70, 1233 (1999) provides a very thorough overview.


If $x_i$ are not the same
The above methods are for the case when the features $x_i$ are the same feature. E.g. a time variable. Your case might be a bit more difficult.
Solving $$y = a_1 \exp(n_1t) +  a_2 \exp(n_2t) + \dots$$ is easier than $$y = a_1 \exp(n_1t_1) +  a_2 \exp(n_2t_2) + \dots$$
For the latter, there is no easy way to find a good starting value. However, finding the solution can be made slightly easier by the method described below.
Segregated solving
You can solve it in a segregated fashion by considering that the function is a separable non-linear function and can be divided in a linear part and a non-linear part. When we try to minimize the loss function $\mathcal{L}(a_1,a_2,t_1,t_2)$ we can eliminate the coefficients $a_1$ and $a_2$ by considering them as the solution for an OLS fit with $t_1$ and $t_2$ fixed. Then these coefficients $a_1$ and $a_2$ are simple linear functions of $t_1$ and $t_2$ and we fill them into the equation for the loss function $\mathcal{L}(f_1(t_1,t_2),f_2(t_1,t_2),t_1,t_2)$ which is now effectively a function of only two parameters $\mathcal{L}(t_1,t_2)$. In this question an example is given for this method: How to compute the gradient for a seperable nonlinear least squares problem?
The segregated solving will optimize the algorithm to find the minimum, but you still need to find a starting point for $t_1$ and $t_2$. This is a difficult problem as the cost function is not convex. The example below (from the previously linked question) shows how the solution may diverge away from the global minimum.

