我使用矩阵分解作为基于用户点击行为记录的推荐系统算法。我尝试了两种矩阵分解方法:
第一个是基本 SVD,其预测只是用户因子向量u和项目因子i的乘积:r = u * i
我使用的第二个是带有偏置分量的 SVD。
r = u * i + b_u + b_i
其中b_u和b_i表示用户和项目的偏好偏差。
我使用的一种模型性能非常低,另一种是合理的。我真的不明白为什么后者表现更差,我怀疑它是否过度拟合。
我搜索了检测过拟合的方法,发现学习曲线是一个好方法。但是,x 轴是训练集的大小,y 轴是准确度。这让我很困惑。如何更改训练集的大小?从数据集中挑出一些记录?
另一个问题是,我试图绘制迭代损失曲线(损失是 )。看起来曲线是正常的:
但我不确定这种方法是否正确,因为我使用的指标是准确率和召回率。我应该绘制迭代精度曲线吗???或者这个已经告诉我我的模型是正确的?
谁能告诉我我是否朝着正确的方向前进?太感谢了。:)