Matlab Curve Fitting Algorithm

4 visualizaciones (últimos 30 días)
AlphaDecay
AlphaDecay el 4 de Sept. de 2019
Comentada: Matt J el 6 de Sept. de 2019
I was trying to solve a surface fitting problem where I had two inputs [X1 X2] used to predict a third quantity Y that occupied the range [1,0). I initially created a very simple gradient descent script from scratch in Python. It was a traditional gradient descent with RMSE as the cost function. After playing aorund with different learning rates and starting guesses (learning along the way that the problem/solution seemed to be extrmeley sensitive to the learning rate and would easily diverge) the best result I was able to get was .05 RMSE.
I tried the matlab fit function next, with 'poly11' fit type and it found a surface with .0045 RMSE (1 order magnitude better than I achieved). It's not surprising to me that Matlab has a more sophisticated curve fitting algorithm than the rudamentary one I wrote up, but does anyone have an idea of what additional tricks fit() may be using that I'm not?

Respuesta aceptada

Matt J
Matt J el 5 de Sept. de 2019
Editada: Matt J el 5 de Sept. de 2019
If you didn't specify any lower/upper bounds in the fitoptions, then the 'poly11' fitting task has the form of an unconstrained linear-least squares problem and has a closed-form, linear algebraic solution. It is likely that no iterations were done by fit() it all, but rather it probably just solved an appropriate system of linear equations.
  4 comentarios
AlphaDecay
AlphaDecay el 5 de Sept. de 2019
Thank you, that makes sense. I have a final follow-on question. Where do the confidence intervals come from in fit()?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Get Started with Curve Fitting Toolbox en Help Center y File Exchange.

Productos


Versión

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by