我对NN真的很陌生,我试图在我的推荐系统中实现它,为用户提供有关用户相似性的建议。 事实上,我通过不同的参数有4个不同的用户相似度,并且我使用权重来确定每个相似度在总相似度中的重要性。
区域相似性= 0.5,weightRegion = 0.6
兴趣相似度= 0.3,weightInterest = 0.8
教育相似度= 0.75,weightEducation = 1.1
位置相似度= 0.6,weightPositions = 1.5
所以计算总相似度乘以和除以权重之和:(0.5 * 0.6 + 0.3 * 0.8 + 0.75 * 1.1 + 0.6 * 1.5)/ 4 //除以权重之和,将参数放入{0..1} 所以我需要通过用户评级控制这些权重(用户点击评分从1到10,权重r校正)
我已经建立了这样的NN:
所以我正在做的是: n = 0.25(学习k); 评级= 0.7(这是我的7评级);
NET5 = X1 * W15 + X2 * W25 + X3 * W35 + X4 * W45;
OUT5 = 1 /(1-POW(E,-net5));
真实= OUT5 *(1 + 1-等级);
ERR = OUT5 *(1-OUT5)*(实OUT5);
w15n = W15 + ERR 名词 X1;
w25n = W25 + ERR 名词的X2;
w35n = W35 + ERR 名词 X3;
w45n = W45 + ERR 名词 X4;
(即使代码格式化,它仍然说它没有正确格式化)
我做错了什么?导致这种纠正的结果根本不好。 感谢
答案 0 :(得分:0)
我认为你走错了路。反向传播不是这种学习的好选择(以某种方式增量学习)。 要使用反向传播,您需要一些数据,例如1000个数据,其中不同类型的相似(输入)和真相似性(输出)。然后权重将更新并更新,直到错误率降低。此外,您还需要测试数据集,这将确保结果网络即使在训练期间没有看到的相似值也能表现良好。