余弦相似和内积的意义?

  统计/机器学习 推荐系统    浏览次数:10117        分享
0

我们知道余弦相似实际上就是归一化的内积。那归一化的意义在这里是什么意思?如果不归一的话,这个内积的意义又是什么呢?

 

Steven0612   2017-05-15 09:53



   1个回答 
3

它们表达的意思不一样,不能简单的一概而论。


余弦距离只考虑了角度差,内积综合考虑了角度差和长度差。


比如有两个对象A和B,它们的向量表示为$A(1,1,0)$和$B(0,1,1)$,那么它们余弦相似就是$\frac{1}{\sqrt{2}\sqrt{2}}=\frac{1}{2}$。余弦相似不考虑向量的长度,所以$A(1,1,0)$和$C(0,3,3)$的相似程度和$A$与$B$的相同。


但是,如果如果向量的长度本身对相似有真实的影响(在理解含义的情况下),推荐使用内积。比如对商品的几个属性打分,1表示不确定,依次到,5表示很确定,那么$A(1,1,1)$,$B(4,4,4)$,$C(5,5,5)$三个商品,根据内积,$B$与$C$更相似。但是余弦相似在这里就无法区分$A,B,C$的相似性。



SofaSofa数据科学社区DS面试题库 DS面经

高代兄   2017-05-17 11:37



  相关讨论

pointwise和pairwise推荐排序算法的区别是什么?

推荐系统中常用的表示相似或者距离的方法有哪些?

推荐系统里的ALS是什么意思?

怎么给推荐结果增加多样性和随机性?

推荐系统算法里的cold start是什么意思?

两个向量的余弦距离大于1?

Jaccard相似或者Jaccard距离是怎么计算的?

为什么wide&deep模型用ftrl和adagrad两种优化方法

协同过滤的数据预处理问题

推荐系统中的召回(recall)是什么意思?

  随便看看

随机森林(random forest)和支持向量机(SVM)各有什么优劣

决策树、随机森林中的多重共线性问题

pandas.DataFrame里的loc和iloc什么区别?

假设检验中的p值是什么意思?为什么越小越好?

sklearn训练classifier的时候报错Unknown label type