zoukankan      html  css  js  c++  java
  • 相似度计算方法

    1.余弦相似度

    在平面系 a向量与b向量的夹角越小,说明相似度越大,余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"。

    在三维也是一个道理(x,y,z)确定的一点与点(a,b,c)一点的夹角

    高中学过向量a与向量b的乘积定义为:

    所以两者的夹角为 cos=a*b/|a|*|b|

    分子代表:集合n个(x*y)之和

    分母:所有集合n个x^2之和开方+n个y^2之和开方  代表向量a集合n维的模

    对于多维的也是一样的

    集合A(112111000)

    集合B(111011111)

    2.欧氏距离:

     

    就是计算空间上两点间的距离。下图很好体现了欧氏距离和余弦相似度的差异。

    所以可以看出 欧氏距离 适用于 那些 对数值差异大小敏感的 相似度计算,

     余弦相似度 更适用于 判别方向上的差异,而对绝对的数值不敏感的,比如 通过用户对 内容的评分来区分兴趣的相似度,修正了不同用户之间可能存在度量标准不统一的问题(有的用户默认高分,有的用户默认低分,对于默认低分用户来说7分就表示他喜欢了,而对默认高分用户来说10分才表示喜欢)。

  • 相关阅读:
    118. 杨辉三角
    1054. 距离相等的条形码
    面试题 02.01. 移除重复节点
    289. 生命游戏
    KONGA下的HAMC插件功能 --JAVA代码实现
    JPA
    Spring Cloud概述
    Spring框架分为哪七大模块,各模块的主要功能作用是什么
    ActiveMQ
    新手也能看懂,消息队列其实很简单
  • 原文地址:https://www.cnblogs.com/hejunhong/p/11317816.html
Copyright © 2011-2022 走看看