使用fminunc找逻辑回归(logistic)代价函数的最小值

本文介绍了如何利用MATLAB的fminunc函数找到逻辑回归(Logistic Regression)代价函数的最小值。通过实例展示了单变量和多变量函数的优化过程,以及在含参函数中的应用。最后,演示了在二元逻辑回归问题中,使用fminunc找到最优参数theta的过程,结果与预期一致,证实了非线性优化在神经网络训练中的作用。
摘要由CSDN通过智能技术生成

在看完UFLDL自编码器autoencoder的代码后,发现其中的训练过程并不是使用训练的手段找到最优的参数theta,而是使用了minFunc寻找代价函数的最小值,并返回优化后的参数theta。其中的minFunc函数的说明里头提到了这个函数提供的各种选项和matlab提供的fminunc函数非常像,所以就去看了下matlabhelp

这里贴出fminunc函数help中最基本的翻译:

fminunc试图找到一个多变量函数的最小值,从一个估计的初试值开始,这通常被认为是无约束非线性优化问题。

x =fminunc(fun,x0)      试图从x0附近开始找到函数的局部最小值,x0可以是标量,向量或矩阵

x =fminunc(fun,x0,options)      根据结构体options中的设置来找到最小值,可用optimset来设置options

x =fminunc(problem)         为problem找到最小值,而problem是在Input Arguments中定义的结构体

 

Create thestructure problem by exporting a problem from Optimization Tool, as describedin Exporting Your Work.

 

[x,fval]= fminunc(...)    返回目标函数fun在解x处的函数值

[x,fval,exitflag]= fminunc(...)     返回一个描述退出条件的值exitflag

[x,fval,exitflag,output]= fminunc(...)       返回一个叫output的结构体,它包含着优化的信息

[x,fval,exitflag,output,grad]= fminunc(...)     返回函数在解x处的梯度的值,存储在grad中

[x,fval,exitflag,output,grad,hessian]= fminunc(...)            返回函数在解x处的Hessian矩阵的值,存储在hessian中

 

对这些说明理解的不是很透彻,然后做了几个简单的实验,如下:

 

定义函数fun1

function y = fun1(x)

y = (x - 2)^2;

end

显然fun1x=2处取得最小值0

 

clear

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值