相较于 θ 和 x的迭代计算, 存在一个更有效率的算法:将这两个优化目标函数给合为一个定义成新的优化目标函数 J,它依然是一个代价函数,是特征 x和参数 θ的函数。这种算法不再需要不停地计算 x 和 θ,而是能够将x 和 θ 同时计算出来。
上面的第一个求和运算是所有用户 J 的总和,和所有被用户评分过的电影总和
下面的第一个求和运算是关于每部电影 i 求和,和所有曾经对它评分过的用户 j 的求和运算
这两种都是对所有 (i,j) 对的求和,其中r(i,j) 是等于1的。
如果你把 x 作为常量,然后关于 θ求 J 的最小值的话,那就与第一个式子相等
如果你把 θ 作为常量,然后关于 x求 J 的最小值的话,那就与第二个式子相等
算法唯一的不同是将这两组参数同时化简,且去掉特征 x0等于1。不存在 θ0这种特殊的情况,梯度下降更新式里并没有分出k等于0的特殊情况。
我们将这个前提移除的理由是现在是在学习所有的特征,所以没有必要将这个等于一的特征值固定死。因为如果算法真的需要一个特征永远为1,它可以选择靠自己去获得1这个数值。这样算法有了灵活性去自行学习。
![](https://img.haomeiwen.com/i12936029/6fb0353620369093.png)
![](https://img.haomeiwen.com/i12936029/da5c0de3480d25af.png)
网友评论