How to use regularization with lsqnonlin function

10 次查看(过去 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 中查找有关 Interpolation of 2-D Selections in 3-D Grids 的更多信息

标签

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by