1

我正在关注文本并希望在 MATLAB 中实现部分代码,但是我不明白该怎么做。它的目标是优化一组值,这将根据一些输入更好地预测输出。

这是功能:

在此处输入图像描述

我已经实现了 L 函数。虽然我知道 'd' 意味着一个非常小的变化,但我不确定如何在 MATLAB 中实现它。我需要指定这个值吗?如果是这样,改变只能朝一个方向发展吗?

作为背景,这里是论文:http ://www.ee.kth.se/php/modules/publications/reports/2006/IR-EE-SB_2006_026.pdf第 4 页有这个特殊的公式。

4

1 回答 1

0

看起来您正在实施牛顿优化多维函数http://en.wikipedia.org/wiki/Newton 's_method_in_optimization 的方法,尽管您的公式与该链接中给出的不同。无论如何,方括号中的项是 Hessian 的逆,它本身是成本函数 L 的二阶偏导数矩阵。最后一项是梯度,它是成本函数 L 的一阶偏导数的向量。你需要将梯度和 Hessian 实现为单独的函数,这可能并不容易。然后,您可以只使用 Matlab 中的反斜杠运算符,而不是取 Hessian 的倒数并乘以梯度:inv(A)*x相当于A\x.

于 2013-02-26T19:27:53.330 回答