How to use regularization with lsqnonlin function

12 次查看(过去 30 天)
Hi,
I would like to use lsqnonlin functinon with regularization (e.g. Tikhonov regularization). However, to my big surprise there is no such option it seems!
I like lsqnonlin because I can specify a cost function with an anonymous function in a convenient way.
Please, tell me there is a way to add regularization or another function that does the same thing with regularization?
Also please note that my fonction takes as input a matrix and convolves with a small kernel k:
fun = @(x)conv2(x,k,'same')-y;
lsqnonlinoptions=optimset('Algorithm','Levenberg-Marquardt','MaxIter',maxIterArg);
x_lsq =lsqnonlin(fun,x0,[],[],lsqnonlinoptions);

采纳的回答

Bruno Luong
Bruno Luong 2020-11-14
编辑:Bruno Luong 2020-11-14
You are free to incorporation anything in the objective function, e.g., l^2 regularization
regcoef = some_small_coef;
fun = @(x) [reshape(conv2(x,k,'same')-y,[],1); regcoef*x(:)];
  12 个评论
Bruno Luong
Bruno Luong 2020-11-15
I have no image-processing tbox so I can't try, and I guess I know the reason. But I stop to answer your many questions that drift from the original question.
AD
AD 2020-11-15
编辑:AD 2020-11-15
Ok, - sorry for the many questions, its just that I am trying things - shall I post another question with this? It's just for getting a better intuition of things... I know there are algorithms for image re-alignment.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Mathematics and Optimization 的更多信息

标签

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by