本文问题出自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函数格式定义中需要用到。