Azzera filtri
Azzera filtri

Matlab Curve Fitting Algorithm

4 visualizzazioni (ultimi 30 giorni)
AlphaDecay
AlphaDecay il 4 Set 2019
Commentato: Matt J il 6 Set 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?

Risposta accettata

Matt J
Matt J il 5 Set 2019
Modificato: Matt J il 5 Set 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 Commenti
AlphaDecay
AlphaDecay il 5 Set 2019
Thank you, that makes sense. I have a final follow-on question. Where do the confidence intervals come from in fit()?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Get Started with Curve Fitting Toolbox in Help Center e File Exchange

Prodotti


Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by