matlab中fminunc函数的使用

  • Post author:
  • Post category:其他


Matlab中fminuch函数的使用方法

1.介绍

fminunc是matlab中的一个优化求解器,可以找到无约束函数的最小值。

2.输入

参数的初始值,例如J(θ)函数的θ的初值

对应的函数和梯度值

例子:

求解逻辑回归的最佳参数

1.      计算代价函数和梯度值


function

[J, grad] = costFunction(theta, X, y)

m = length(y);

J = 0;

h = sigmoid(X*theta);

J = -1/m*sum((y.*log(h)+(1-y).*log(1-h)));

grad = zeros(size(theta));

grad = (1/m)*X’*(h-y)

e

nd


2.


调用


fminuch


函数

options = optimset(

‘GradObj’

,

‘on’

,

‘MaxIter’

, 400);

[theta, cost] = (@(t)(costFunction(t, X, y)), initial_theta,options);

在这段代码片段中,首先定义了与fminunc一起使用的设置选项。将GradObj选项设置为on,它告诉fminunc我们定义的函数返回成本和梯度。 这允许fminunc到在最小化功能时使用梯度下降。 此外,我们设定了MaxIter选项为400,所以fminunc将运行最多400步



版权声明:本文为qq_35488769原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。