矩阵分解中的随机梯度下降,对标签的比例敏感?

数据挖掘 梯度下降
2022-02-27 10:55:48

当我对评级矩阵使用矩阵分解(Netflix Prize 解决方案)时,我试图找出一个奇怪的现象:

R=PTQ+Bu+Bi

评分范围从 1 到 10。

然后我通过每个标签在测试集中的绝对平均误差来评估模型,第一列是 origin_score,第二列(我们不转换数据,然后训练及其预测误差),第三列(我们将数据全部转换为除2,训练,当我使用这个模型进行预测时,首先重建矩阵,然后乘以2并使其回到相同的比例)

如您所见,在 3-4 年级(大多数样本是 3-4 的标签),它更精确,而在高分范围内(如 9 和 10,仅占整个训练集的 2%),情况更糟。

+----------------------+--------------------+--------------------+
| rounded_origin_score | abs_mean_avg_error | abs_mean_avg_error | +----------------------+--------------------+---------------------+
| 1.0 | 2.185225396100167 | 2.559125413626183 | | 2.0 | 1.4072212825108161 | 1.5290497332538155 | | 3.0 | 0.7606073396581479 | 0.6285151230269825 | | 4.0 | 0.7823491986435621 | 0.6419077576969795 | | 5.0 | 1.2734369551159568 | 1.256590210555053 | | 6.0 | 1.9546560495715863 | 2.0461809588933835 | | 7.0 | 2.707229888048017 | 2.8866856489147494 | | 8.0 | 3.5084244741417137 | 3.7212155956153796 | | 9.0 | 4.357185793060213 | 4.590550124054919 | | 10.0 | 5.180752400467891 | 5.468600926567884 | +----------------------+--------------------+---------------------+

我已经重新训练了几次模型,得到了相同的结果,所以我认为这不是随机性的影响。

1个回答

您的目标分数越大,潜在变量应该越大(嗯,这不仅是一个重要的量级,也是一个方差,但它仍然适用于您的情况)。除非您使用正则化(并且很可能您会这样做),否则较大的潜在向量系数没有问题。在正则化的情况下,您的最佳解决方案将倾向于较小的值,并且有时宁愿牺牲一些准确性以降低正则化惩罚。

梯度下降不会遇到大系数的问题(除非你遇到某种数值问题):如果学习率调整得当(上面有很多东西,谷歌),它应该达到等效参数。否则没有人保证你会收敛:-)

进行回归时的常用经验法则(您的矩阵分解实例是一种回归)是标准化您的数据:使其具有零均值和单位方差。