Mahout推荐引擎中的几种相似度计算简要介绍
来源:互联网 发布:待机长平板 知乎 编辑:程序博客网 时间:2024/05/29 19:56
Mahout的Taste框架里提供的几种比较常用的相似度计算。
1.欧几里德距离(Euclidean Distance),记为d(x,y)
首先要计算两个点之间的欧几里德距离,然后根据欧几里德距离计算相似度。
对应的欧几里德相似度,一般采用如下方式转换:sim(x,y) = 1/(1+d(x,y))。距离越小,相似度越大。
2.余弦相似性(Cosine Similarity)
余弦相似性计算时,余弦值代表用户之间的相似性,当夹角越小时,余弦值越大,用户越相似,余弦相似性被广泛应用于计算文档数据的相似度。
3.皮尔逊相关系数(Pearson Correlation Coefficient)
皮尔逊相关系数一般用户计算两个定距变量间线性相关的紧密程度,它的取值在【-1,+1】之间。当取值大于0时表示两个变量是正相关的,即一个变量的值越大,
另一个变量的值也会越大;当取值小于0时表示两个变量是负相关的,即一个变量的值越大,另一个变量的值反而会越小。
4.Tanimoto系数(Tanimoto Coefficient)
Tanimoto系数也称Jaccard系数,是Cosine相似度的扩展,一般用于计算文本数据的相似度。
5.CityBlock(曼哈顿)相似度
曼哈顿距离(Manhattan Distance)是由十九世纪的赫尔曼·闵可夫斯基所创词汇,是使用在几何度量空间的几何学用语,用以表明两个点以上在标准坐标系上的绝对轴距总和。
转换后的相似度为:sim(x,y) = 1/(1+d(x,y))。
上述各种相似性计算方法都各自的优缺点,也应用于不同的场景之下。
这里只简单介绍下概念,数学公式没有往上贴。
除了以上介绍的几种,PEARSON, EUCLIDEAN, COSINE, TANIMOTO, SPEARMAN, CITYBLOCK, Mahout的Taste框架中还给出了LOGLIKELIHOOD, 可用来计算用户也可用来计算item。下面是对用户进行聚类使用的,FARTHEST_NEIGHBOR_CLUSTER, NEAREST_NEIGHBOR_CLUSTER
- Mahout推荐引擎中的几种相似度计算简要介绍
- Mahout推荐引擎介绍
- [推荐系统]Mahout中相似度计算方法介绍
- [推荐系统]mahout中实现的几种相似度计算方法
- mahout中的相似度
- 推荐系统的几种相似度计算
- Mahout分布式推荐引擎介绍
- Mahout聚类中相似度计算
- 推荐算法中的 相似度计算
- 推荐算法中的 相似度计算
- mahout中的相似度算法
- Mahout的taste里的几种相似度计算方法
- Mahout的taste里的几种相似度计算方法
- Mahout的taste里的几种相似度计算方法
- Mahout的taste里的几种相似度计算方法
- Mahout的taste里的几种相似度计算方法
- Mahout下个性化推荐引擎Taste介绍
- Mahout下个性化推荐引擎Taste介绍
- ZKclient 不断重连问题排查-dubbo使用
- C#基本练习
- fragment与activity之间通信整理
- UVa679 小球下落(树)
- ProgressDialog使用总结
- Mahout推荐引擎中的几种相似度计算简要介绍
- C/C++程序的内存分配方式
- ZeroMQ接口函数之 :zmq_bind - 绑定一个socket
- scrapy setting.py 配置
- MyBatis底层基础和拦截器 - 第一部分
- 字符串以XX开头或结尾
- hdu 1540(线段树单点更新 区间合并)
- sort +awk+uniq 统计文件中出现次数最多的前10个单词
- Leetcode 10. Regular Expression Matching