1)关于训练参数是复数的问题
——q_k ^theta
q_k(是item的特征矩阵)中有可能是负数,而指数 theta 如果是含小数点的话,就会产生复数了。MATLAB 程序计算结果出现 复数(a+bi)问题
解决办法:
① 令 q_k 所有元素都为非负数了。
② 令 theta 为正整数。但是theta在更新过程中是会变化的。
2)训练结果theta是NAN的问题(共有5 fold,第1、5fold是正常的,第2、3、4均是NAN)
——可能是学习率 lr 的问题。
学习率 lr 的问题影响还蛮大的:
如果设的过大:会产生震荡,就是一直在最优解旁来回跳动,
如果设的过小:会达不到最优解。