我使用矩阵分解作为基于用户点击行为记录的推荐系统算法。我尝试2点矩阵因式分解方法:我的方法检测矩阵分解中的过拟合是否正确?
第一种是基本SVD,其预测为用户因子矢量的只是产品ù和项目因子我:R = ü * 我
我使用的第二个是带偏差分量的SVD。
R = ü * 我 + b_u + b_i
其中b_u和b_i表示用户和项目的偏好倾向。
我使用的一个模型的性能非常低,另一个是合理的。我真的不明白为什么后者表现更差,我怀疑它是否过度配合。
我使用搜索过滤方法来检测过度拟合,发现学习曲线是一个好方法。但是,x轴是训练集的大小,y轴是精度。这让我很困惑。我怎样才能改变训练集的大小?从数据集中挑出一些记录?
另一个问题是,我试图绘制迭代损失曲线(损失是)。它似乎曲线是正常的:
但我不知道,因为我用的指标是准确率和召回这种方法是否正确。我应该绘制迭代精度曲线吗?或者这个已经告诉我的模型是正确的?
任何人都可以告诉我我是否正朝着正确的方向前进吗?非常感谢。 :)