Revising Levenberg Marquardt Method

Revising Levenberg Marquardt Method - Revising the Levenberg Marquardt Method with finite differences - Сообщения

#1 Опубликовано: 21.12.2019 00:50:23
CBG

CBG

77 сообщений из 312 понравились пользователям.

Группа: User

Reviewing the Levenberg Marquardt Method with a Jacobian matrix for finite differences,
solving an example taken from the website:
http://support.ptc.com/help/mathcad/en/index.html#page/PTC_Mathcad_Help/example_using_minerr_for_nonlinear_least_squares_fitting.htm .

LMM revisits.png

Algorithm_Levenberg_M_with_DF_SS7251.sm (210 КиБ) скачан 87 раз(а).

Algorithm_Levenberg_M_with_DF_SS7251.pdf (569 КиБ) скачан 87 раз(а).


Best Regards

Carlos
2 пользователям понравился этот пост
frapuano 21.12.2019 04:42:00, NDTM Amarasekera 27.12.2019 07:41:00
#2 Опубликовано: 21.12.2019 08:34:27
Martin Kraska

Martin Kraska

1222 сообщений из 2150 понравились пользователям.

Группа: Moderator

Solution using the Maxima package lsquares via the interface functions of the Maxima plugin

fit1.png
fit1.sm (29 КиБ) скачан 87 раз(а).
Martin Kraska Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
2 пользователям понравился этот пост
frapuano 21.12.2019 15:16:00, Radovan Omorjan 21.12.2019 10:36:00
#3 Опубликовано: 21.12.2019 13:27:24
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Thanks: Carlos, Martin.
SS 6179 does not complain but still pedaling in 10 min ???

1. in Mathcad [8 Pro ... 11] type ERR= after Minerr
ERR is undocumented = SSD [discovered by Paul W.]
2. alternate to corr, SSD sometimes meaningless [Viod ratio, Verhulst].
3. Often, the best fit is Conjugate Gradient.

Jean

Genfit VoidRatio.sm (65 КиБ) скачан 64 раз(а).
Genfit Verhulst.sm (56 КиБ) скачан 63 раз(а).
Genfit Weibull.sm (54 КиБ) скачан 71 раз(а).
#4 Опубликовано: 24.12.2019 03:13:34
CBG

CBG

77 сообщений из 312 понравились пользователям.

Группа: User

Thanks, Martin

Hello Jean:

I tried to run the algorithm of Levenberg Marquardt, in the version of SS6179,
but it inevitably fails, giving an incorrect solution.

It seems that the error could be in some operation where a single value vector
is produced. Could you take a look to see if you can doctorate ?.

I post again the version of the algorithm in SS7251 with some minor changes.

LMM revisits_R1.png

Algorithm_Levenberg_M_with_DF_SS6179.sm (513 КиБ) скачан 66 раз(а).

Algorithm_Levenberg_M_with_DF_SS7251_R1.sm (209 КиБ) скачан 62 раз(а).


Best Regards

Carlos
#5 Опубликовано: 26.12.2019 12:11:47
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Wrote

It seems that the error could be in some operation where a single value vector
is produced. Could you take a look to see if you can doctorate ?.


Helo Carlos,
I deleted all previous postings of no more interest.
I found no way to iterate LM ? Otherwise, easy to initialize
from the al_nleqsolve as suggested in the last part of the attached.
In Mathcad, LM was found hyper robust to initialize,
but most of the times, better fit are concluded from CG.

The Weibull example is one of the easiest to fit.
Very many aren't so easy to fit from model(s), more reflexive.
Some model functions can't be fitted at all, unless from trial/error.
A great piece of work, to get familiarized in fitting session.
Thanks Carlos ... Jean

Genfit Weibull [LM_Iteretive CG] Copy.sm (436 КиБ) скачан 60 раз(а).
#6 Опубликовано: 26.12.2019 12:46:45
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Wrote

I found no way to iterate LM ? Otherwise, easy to initialize
from the al_nleqsolve as suggested in the last part of the attached.


... then like this:
refit from observing the bar deviation.

Genfit Weibull [LM,al_nleqsolve Companion].sm (102 КиБ) скачан 57 раз(а).
#7 Опубликовано: 26.12.2019 14:24:39
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Wrote

... then like this:
refit from observing the bar deviation.


... the fully tutored version.

Genfit Weibull [LM,al_nleqsolve Companion] Copy.sm (104 КиБ) скачан 71 раз(а).
#8 Опубликовано: 26.12.2019 23:29:57
CBG

CBG

77 сообщений из 312 понравились пользователям.

Группа: User

Hello Jean

Thank you very much.

The question is: Why does the SS7251 version directly obtain the solution,
changing the values correctly of the β variable, while the SS6179 version does not,
and they have to be manually entered as new values of the vector of the assumed initial solution. ?

The algorithm is the same for the 2 versions of SmathStudio, so what is the difference if the
programming and decision definitions are supposed to work the same?

Best Regards

Carlos
#9 Опубликовано: 27.12.2019 00:35:45
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Wrote

Thank you very much.

The question is: Why does the SS7251 version directly obtain the solution,
changing the values correctly of the β variable, while the SS6179 version does not,
and they have to be manually entered as new values of the vector of the assumed initial solution. ?

The algorithm is the same for the 2 versions of SmathStudio, so what is the difference if the
programming and decision definitions are supposed to work the same?


A most interesting observation !
SS 6179 may have to do with the conditional statement.
SS 6179 is "zero" tolerance. So, it may just navigate then end.
It could be SS 7251 conditional is coded more tolerant
Mathcad style and reaches convergence ? Watson, are you there ?
Cheers Carlos ... later on.
#10 Опубликовано: 27.12.2019 03:09:57
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 сообщений из 1675 понравились пользователям.

Группа: User

Wrote

Hello Jean

Thank you very much.

The question is: Why does the SS7251 version directly obtain the solution,
changing the values correctly of the β variable, while the SS6179 version does not,
and they have to be manually entered as new values of the vector of the assumed initial solution. ?

The algorithm is the same for the 2 versions of SmathStudio, so what is the difference if the
programming and decision definitions are supposed to work the same?

Best Regards

Carlos



Hola Carlos. Just check the code from the SS6179 version, in the while not(stop) loop, the line with A:=J^T*f is wrong, it must to be A:=J^T*J.

Best regards.
Alvaro.
1 пользователям понравился этот пост
NDTM Amarasekera 27.12.2019 07:17:00
#11 Опубликовано: 27.12.2019 15:47:32
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Wrote

Hola Carlos. Just check the code from the SS6179 version, in the while not(stop) loop, the line with A:=J^T*f is wrong, it must to be A:=J^T*J.


Thanks Alvaro ... doctored !
Weibull LM [0.1,1] 1 min
Weibull CG [0.1,1] 2.3 sec ... ½ max residual deviation
Carlos, your very original LM [Pharmacokinetics] works faster.
an it be compacted algo style ... tried not to avail ?

Hola ! Avaro, Carlos ... Jean

Genfit Weibull [LM_Iteretive CG].sm (437 КиБ) скачан 60 раз(а).
Genfit [Algo Minimize(L-M)].sm (116 КиБ) скачан 69 раз(а).
#12 Опубликовано: 27.12.2019 20:37:54
CBG

CBG

77 сообщений из 312 понравились пользователям.

Группа: User

Wrote



Hola Carlos. Just check the code from the SS6179 version, in the while not(stop) loop, the line with A:=J^T*f is wrong, it must to be A:=J^T*J.

Best regards.
Alvaro.



Hola Alvaro.

Muchas gracias por tu corrección.

Cuando copie y pegue directamente el codigo de SS7251 a SS6179 daba el error de
"Ecuacion demasiado larga para visualizarla" con un tiempo de ejecusion de mas de 7 minutos,
por lo que opté por copiar manualmente el codigo, pensando que las declaraciones eran interpretados erroneamente, y
fue cuando copie mal la formula.


Hello Alvaro.

Thank you very much for your correction.

When copying and pasting directly the code from SS7251 to SS6179 it gave the error of
"Equation too long to display" with an execution time of more than 7 minutes,
So I chose to manually copy the code, thinking that the statements were misinterpreted, and
It was when I copied the formula badly.

Muchas gracias tambien a Jean por su apoyo y sus comentarios tan acertados.


Best Regards

Carlos
#13 Опубликовано: 27.12.2019 22:14:29
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Wrote

Muchas gracias tambien a Jean por su apoyo y sus comentarios tan acertados.


I Understand Carlos ...
Now, for your bed time reading, these two fits level Mathcad GenfitMatrix.
By far, they beat former NBS-125.
Rational fractions have exceptional fitting/interpolation virtues.
Thanks and credit to Jeff who helped me so much ...
About same timing as MCD 11

Jean ... enjoy.

Genfit 0000000 Rational Auto-init ITER Copy.sm (149 КиБ) скачан 64 раз(а).

#14 Опубликовано: 08.01.2020 22:47:05
johnsuh209

johnsuh209

0 сообщений из 1 понравились пользователям.

Группа: User

Wrote

Solution using the Maxima package lsquares via the interface functions of the Maxima plugin

fit1.png
fit1.sm (29 КиБ) скачан 87 раз(а).my god.. i didn't know this was a thing! i'm really glad a friend led me to this forum. hey can you check out this website? solidpapers.com was where I had one of my geometry homework done and I got a passing grade! can you see if it also works for you? i'm planning to order another paper from them again. tell me what you think!!!



#15 Опубликовано: 09.01.2020 08:29:55
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Fitting data set is a long discours, much longer in techniques/methods.
The Mathcad/Mathsoft LM is the quick/robust ... bingo/done.
Not the best in very many instances.
Attach your data set in this Forum.
Make sure they are raw data from collection, i.e: not freaked by unknown.
Cheers ... are we going to see you again ?
#16 Опубликовано: 09.01.2020 23:14:39
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Wrote

my god.. i didn't know this was a thing!


1. al_nleqsolve fits the model through selected equalities.
The data set may be moderately noisy.
2. GenfiMinimize is essentially the Cholesky LS solver.
My collection is not lean [177 documents ...some duplicates].

Genfit linfit HyperRobust [Ge Crystal].sm (81 КиБ) скачан 61 раз(а).
Genfit [Algo Minimize(al_nleqsolve Alco, Thurber)].sm (85 КиБ) скачан 64 раз(а).
#17 Опубликовано: 14.01.2020 17:42:56
CBG

CBG

77 сообщений из 312 понравились пользователям.

Группа: User


I Understand Carlos ...




Hello Jean
I know you understand perfectly, and that has been the intention.

The second Levenberg Marquardt algorithm has been passed as a function
in the versions of SS7251 and SS6179, the examples published by Jean in
"Genfit linfit HyperRobust [Ge Crystal] .sm"
and 2 other previous examples have also been solved.

Unfortunately, version SS6179, for unknown reasons
does not solve the first example, and results in the
same starting solution vector, the other examples are solved without problem.

LM2A_as_a_Function_SS7251.sm (150 КиБ) скачан 58 раз(а).

LM2A_as_a_Function_SS6179.sm (144 КиБ) скачан 61 раз(а).


Best Regards

Carlos
1 пользователям понравился этот пост
frapuano 15.01.2020 07:53:00
#18 Опубликовано: 15.01.2020 15:39:52
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Unfortunately, version SS6179, for unknown reasons
does not solve the first example, and results in the
same starting solution vector, the other examples are
solved without problem.


Hola ! Carlos.
You don't specify if the SS 7251 solves that example.
Please, don't drop dead at reading.
This example attached, Mathcad [L-M, CG, QN] does not even
return the exact coefficients. I tortured myself on that.
On the other hand as well, many model functions can't be
fitted from being too much reflexive within themselves.
For those non willing fit, al_nleqsolve will generally succeeds.
Mathcad failed as well the ITER Cadarache Cu resistivity.
Was done otherwise via sub methods. At least for ITER,
Mathcad returned: "Too complicated to solve"
u:=(0≤x)*(x≤10) useful constrain the Quick plot.
Thanks for your immense dedication.

Jean

Genfit [Algo Minimize(al_nleqsolve Pharmacokinetics) ... AUTOMATED] Copy.sm (104 КиБ) скачан 57 раз(а).
#19 Опубликовано: 15.01.2020 20:16:40
CBG

CBG

77 сообщений из 312 понравились пользователям.

Группа: User

Hola Jean!

Levenberg Marquardt's second algorithm in SS7251 does solve the example. All data
with a tolerance of 10 ^ -16 can be used, or 4 selected data with a tolerance of
10 ^ -8 can be used, in both cases, the starting vector is [0.5 1 1 1].

LMSA.png

LM2A_as_a_Function_SS7251_R1.pdf (798 КиБ) скачан 71 раз(а).

LM2A_as_a_Function_SS7251_R1.sm (205 КиБ) скачан 62 раз(а).

The idea was to run the LM algorithm as a function for SS7251 and SS6179, for which
use your examples.

Jean, I tell you that I take the results you show in your exercises as the exact or correct ones

Thank you

Best Regards

Carlos
1 пользователям понравился этот пост
frapuano 16.01.2020 08:16:00
#20 Опубликовано: 16.01.2020 15:35:31
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Wrote

Jean, I tell you that I take the results you show in your exercises as the exact or correct ones


They are all correct, good fit from model.
There are many more techniques to best fit by region(s)
The last example SS 6179 spits the fit very fast vs other
solvable previous examples ... supports tol 0.00000001.
Comfort yourself: model fit needs no more than 6 decimals
or less ... from zillions done.
Thanks Carlos for your doctoring expertise.

Jean

Genfit 000000000000 L-M AUTOMATED Carlos 20200115 [Exampless].sm (211 КиБ) скачан 66 раз(а).

  • Новые сообщения Новые сообщения
  • Нет новых сообщений Нет новых сообщений