推荐算法中的矩阵分解(1)在这里:https://blog.csdn.net/Root__God/article/details/117283584
矩阵分解目标函数
在(1)当中提到了加入正则化的目标函数如下:
该目标函数是采用的最小二乘法原理,当时预测评分和真实评分之间的平方差和最小的时候,就意味着这个模型很好。
但很关键的问题是:如何求目标函数的最小值?
矩阵分解迭代过程
为了求目标函数的最小值,我们可以采用梯度下降方法。梯度下降原理在这里:https://blog.csdn.net/Root__God/article/details/122310907
简而言之,梯度下降就是按着目标函数偏导的反方向不断迭代我们的参数,直到求出局部最小值为止。
那梯度下降就分为两个步骤。①求偏导。②更新参数并迭代
1. 对目标函数求偏导
对于加入正则化的目标函数,我们对 q i q_i qi求导:
− 2 ( r u i − q i T p u ) p u + 2 λ ∥ q i ∥ -2(r_{ui}-q_{i}^{T}p_u)p_u+2\lambda \left\| q_i\right\| −2(rui−qiTpu)p