请耐心等待。问题是最后的问题。我试图弄清楚如何调用fminunc的区别。
这个问题源自Andrew Ng在Coursera机器学习课程中的第3周材料。 我正在反复这个问题。 Matlab: Meaning of @(t)(costFunction(t, X, y)) from Andrew Ng's Machine Learning class
我试图理解论证的含义
@(t) ( costFunction(t, X, y) )
用户wolfie,将其显示为缩短版本。任何人都可以解释为什么表达本身必须是那样的?在视频讲座中,他运行了这样的功能
[optTheta, functionVal, exitFlag] = fminunc(@costFunction, initialTheta, options)
其中程序文件的costFunction
输入和输出如下:
function [jVal, gradient] = costFunction(theta)
练习提供的代码具有此版本的功能:
costFunction(theta, X, y)
。
为什么在没有匿名函数的第二种情况下没有调用fminunc,这就是为什么它被称为:
[theta, cost] = fminunc(@(t)(costFunction(t, X, y)), initial_theta, options);
而不是:
[theta, cost] = fminunc(@costFunction, initial_theta, options);
?