Matlab中fminunc函数的意义 以及options函数的初级用法。
来源:互联网 发布:怎么看网络稳定不稳定 编辑:程序博客网 时间:2024/06/05 20:17
本文问题出自Stanford大学 Andrew Ng老师的机器学习week 3 Logistic Regression Model 中出现如下高级函数:
该过程涉及matlab两个函数 fminunc 和options;
要清楚的了解这两个算法如何使用,我们需要知道自定义函数的使用方法,以图上的自定义函数function [jVal,gradient] = costFunction(theta) 为例。该自定义函数传入一个theta参数(2x1)。并计算代价值(cost) jVal = jVal = (theta(1)-5)^2 + (theta(2)-5)^2; 和每次迭代的梯度值(gradient) gradient(1) = 2*(theta(1)-5); gradient(2) = 2*(theta(2)-5);
计算结束后返回两个参数[jVal,gradient],注意这两个参数位置尤为重要,第一个返回值为jval计算值(类似于y = f(x)中的y),第二个返回值为gradient(类似于y = a+bx中的a,b)在下面的fminunc函数格式定义中需要用到。
要使用fminun函数的如下形式:[x,fval,exitflag] = fminunc(fun,x0,options);
该方法需要定义3个输入参数fun,x0和options;我们以图片的为例子进行fminunc用法的说明。
图片中的第一个输入参数fun 定义为 @costFunction 该“@”符号涉及句柄知识,在另一篇(http://blog.csdn.net/gzp444280620/article/details/49252491)博文中有讲到。
第二个输入参数x0定义为 initialTheta 该参数为一个 2x1矩阵(2个元素的列向量)。该列向量为用户自定义梯度下降法的输出参数。使用前要预先初始化。
第三个输入参数为options 该参数的的作用包括是否使用用户自定义的梯度下降公式(GradObj)以及迭代次数(MaxIter)。
例子中使用了自定义的梯度下降公式(costFunction中的gradient返回值),并且把迭代次数设为迭代100次。 例: options = optimset('GradObj','on','MaxIter','100');
输入参数定义完成后我们来看一下fminunc的输出参数[x,fval,exitflag],其中第一个返回值x为上面function [jVal,gradient] = costFunction(theta)中的第二个返回值gra, 第二个返回值fval返回的是costFunction函数的第一个返回值jVal 这个关系是理解fminunc的重点。 第三个返回值exitflag返回值为0或1,表示在theta点定义的Jval函数是否收敛。
总结一下fminunc默认定义规格与自定义函数之间的对应关系:
- Matlab中fminunc函数的意义 以及options函数的初级用法。
- Matlab中fminunc函数的意义 以及options函数的初级用法。
- Matlab中fminunc函数的意义 以及options函数的初级用法
- Matlab中fminunc函数的意义以及options函数的初级用法。
- matlab中fminunc函数的使用
- MATLAB的fminunc函数使用参数解释
- Matlab 用于求解无约束非线性规划的函数有:fminsearch和fminunc,用法介绍如下。
- Matlab优化函数中options选项的修改
- 函数中省略号的意义和用法
- 函数中省略号的意义和用法
- 函数中省略号的意义和用法
- R语言set.seed()函数的意义以及用法
- matlab中sort函数的用法
- matlab中repmat函数的用法
- MATLAB中freqz函数的用法
- matlab中repmat函数的用法
- matlab中repmat函数的用法
- matlab 中diag函数的用法
- ArcGIS Desktop Add-in插件开发
- 内核调试神器SystemTap — 探测点与语法(二)
- 【转】java垃圾回收制度
- 一套仿WINDOWS桌面的EXTJS模板
- linux 下memcached的一些操作
- Matlab中fminunc函数的意义 以及options函数的初级用法。
- Tile-Based架构下的性能调校
- 内核调试神器SystemTap — 更多功能与原理(三)
- postgre笔记
- 【术】c#字典Dictionary自定义类作为key键
- android 音乐播放器电话监听
- Android Paint、Canvas、Matrix使用讲解(一、Paint)
- 2.数据结构之链表面试题
- 接口测试