Andrew NG Machine Learning 练习3中
for c = 1:num_labels
all_theta(c,:) = fmincg (@(t)(lrCostFunction(t, X, (y == c), lambda)), ...
initial_theta, options);
end
这里y为5000*1, 分别由500个10,9,...,1组成
y==c输出为:除了y中等于c的那500个数,其他都为0,输出变量格式为logical
关于fmincg功能跟fminunc功能一样,求lrCostFunction里面的函数最最小值,并且输出参数theta,
initial_theta作为t输入到函数lrCostFunction的第一个参数
如果不理解可以参考MATLAB文档
新建一个myfun.m函数文件
function f = myfun( x )
f = 3*x(1)^2 + 2*x(1)*x(2) + x(2)^2 % Cost function
end
再新建一个test.m
x0 = [1,1];
[x,fval] = fminunc(@myfun,x0);
f函数最小值为fval,对应的x为函数最小值的矩阵