Mahout系列:相似度

Mahout推荐系统中有许多相似度实现,这些组件实现了计算不能User之间或Item之间的相似度。对 于数据量以及数据类型不同的数据源,需要不同的相似度计算方法来提高推荐性能,在mahout提供了 大量用于计算相似度的组件,这些组件分别实现了不同的相似度计算方。

User 相似度:

Item 相似度:

皮尔森相关度

类名:PearsonCorrelationSimilarity

原理:用来反映两个变量线性相关程度的统计量

范围:[-1,1],绝对值越大,说明相关性越强,负相关对于推荐的意义小。

说明:1、 不考虑重叠的数量;2、 如果只有一项重叠,无法计算相似性(计算过程被除数有n-1 );3、 如果重叠的值都相等,也无法计算相似性(标准差为0,做除数)。

该相似度并不是最好的选择,也不是最坏的选择,只是因为其容易理解,在早期研究中经常被提起 。使用Pearson线性相关系数必须假设数据是成对地从正态分布中取得的,并且数据至少在逻辑范畴内 必须是等间距的数据。Mahout中,为皮尔森相关计算提供了一个扩展,通过增加一个枚举类型 (Weighting)的参数来使得重叠数也成为计算相似度的影响因子。

欧式距离相似度

类名:EuclideanDistanceSimilarity

原理:利用欧式距离d定义的相似度s,s=1 / (1+d)。

范围:[0,1],值越大,说明d越小,也就是距离越近,则相似度越大。

说明:同皮尔森相似度一样,该相似度也没有考虑重叠数对结果的影响,同样地,Mahout通过增加 一个枚举类型(Weighting)的参数来使得重叠数也成为计算相似度的影响因子。

余弦相似度

类名:PearsonCorrelationSimilarity和UncenteredCosineSimilarity

原理:多维空间两点与所设定的点形成夹角的余弦值。

范围:[-1,1],值越大,说明夹角越大,两点相距就越远,相似度就越小。

说明:在数学表达中,如果对两个项的属性进行了数据中心化,计算出来的余 弦相似度和皮尔森相似度是一样的,在mahout中,实现了数据中心化的过程,所以皮尔森相似度值也 是数据中心化后的余弦相似度。另外在新版本中,Mahout提供了UncenteredCosineSimilarity类作为 计算非中心化数据的余弦相似度。

时间: 2024-10-28 17:34:42

Mahout系列:相似度的相关文章

[推荐系统]Mahout中相似度计算方法介绍

Mahout中相似度计算方法介绍      在现实中广泛使用的推荐系统一般都是基于协同过滤算法的,这类算法通常都需要计算用户与用户或者项目与项目之间的相似度,对于数据量以及数据类型不同的数据源,需要不同的相似度计算方法来提高推荐性能,在mahout提供了大量用于计算相似度的组件,这些组件分别实现了不同的相似度计算方法.下图用于实现相似度计算的组件之间的关系: 图1.项目相似度计算组件 图2.用户相似度计算组件 下面就几个重点相似度计算方法做介绍: 皮尔森相关度 类名:PearsonCorrela

mahout系列:谱聚类

1.构造亲和矩阵W 2.构造度矩阵D 3.拉普拉斯矩阵L 4.计算L矩阵的第二小特征值(谱)对应的特征向量Fiedler 向量 5.以Fiedler向量作为kmean聚类的初始中心,用kmeans聚类 亲和矩阵 :W_ij=exp(-(d(s_i,s_j)/2o^2))             d (s_i,s_j)  = ||s_i,s_j||.    o 为事先设定的参数. 度矩阵:D_ii  =sum(w_i) 规范相似矩阵:D^(-1/2)*W*D^(1/2) ,即:W(i,j)/(D(

Mahout系列:kmeans 聚类

Kmeans是最经典的聚类算法之一,它的优美简单.快速高效被广泛使用. Kmeans算法描述 输入:簇的数目k:包含n个对象的数据集D. 输出:k个簇的集合. 方法: 从D中任意选择k个对象作为初始簇中心: repeat; 根据簇中对象的均值,将每个对象指派到 最相似的簇: 更新簇均值,即计算每个簇中对象的均值: 计算准则函数: until准则函数不 在发生变化. Kmeans 算法的优缺点: 1)优点 (1)k-平均算法是解决聚类问题的一种经典算法,算法简单.快速. (2)对处理 大数据集,该

Mahout系列:canopy 算法

Canopy 算法,流程简单,容易实现,一下是算法 (1)设样本集合为S,确定两个阈值t1和t2,且t1>t2. (2)任取一个样本点p属于S,作为一个Canopy,记为C,从S中移除p. (3)计算S中所有点到p的距离dist (4)若dist<t1,则将相应点归到C,作为弱关联. (5)若dist<t2,则将相应点移出S,作为强关联. (6)重复(2)~(5),直至S为空. 上面的过程可以看出,dist<t2的点属于有且仅有一个簇,t2<dist<t1 的点可能属于

Mahout系列:距离度量

x = (x1,...,xn) 和y = (y1,...,yn) 之间的距离为 (1)欧氏距离   EuclideanDistanceMeasure (2)曼哈顿距离  ManhattanDistanceMeasure (3)马氏距离MahalanobisDistanceMeasure 马氏距离是由印度统计学家马哈拉诺比斯提出的,表示数据的协方差距离.它 是一种有效的计算两个未知样本集的相似度的方法.与欧氏距离不同的是它考虑到各种特性之间的联 系(例如:一条关于身高的信息会带来一条关于体重的信息

mahout系列:Dirichlet 分布

Dirichlet分布可以看做是分布之上的分布.如何理解这句话,我们可以先举个例子:假设我们有 一个骰子,其有六面,分别为{1,2,3,4,5,6}.现在我们做了10000次投掷的实验,得到的实验结果是 六面分别出现了{2000,2000,2000,2000,1000,1000}次,如果用每一面出现的次数与试验总数的比值估 计这个面出现的概率,则我们得到六面出现的概率,分别为{0.2,0.2,0.2,0.2,0.1,0.1}.现在,我们 还不满足,我们想要做10000次试验,每次试验中我们都投掷

mahout系列:minhash聚类

Map: Vector featureVector = features.get(); if (featureVector.size() < minVectorSize) { return; } // Initialize the MinHash values to highest for (int i = 0; i < numHashFunctions; i++) { minHashValues[i] = Integer.MAX_VALUE; } for (int i = 0; i <

家电锁定国庆档专家推荐“灵动”朗度冰箱

"金九银十"一直都是家电厂商最为关注的黄金时段,今年也不例外.早在前些时日,各大卖场就已就新一轮家电产品拉开促销大战,吸引了不少准备在十一期间添置家电的消费者.冰箱领域,有家电行业分析师表示最看好9月23日在上海全球首发的"灵动"系列朗度冰箱,并称其开启了高端家电的多门新时代.家电锁定国庆档 专家推荐"灵动"朗度冰箱记者调查显示,"十一"前夕新婚.新居消费需求旺盛,催生了大批冰箱潜在需求用户,其中不乏对生活品质有着极高要求的新

买耗材要去耗材放心店

随着打印机的进一步普及,耗材作为使用中最大的成本支出越来越受到用户重视,消费者对打印耗材的选择也应该更为理性和慎重.现在市场上有许多型号的打印机能够买到兼容耗材,以前有些家庭和企业出于成本的考虑,选择了价格相付低廉的非原装墨盒,但经常发现适得其反,打印质量无法获得有效的保障,而且代用墨盒或硒鼓的打印量通常会比原装耗材少.那么,究竞什么样的耗材是适合用户需求的产品.去什么地方购买耗材才最合理呢? 原装耗材共有的优势 原装墨盒一般都是由打印机厂商生产,也是打印机厂商稳定利润的源头.由于原装墨盒的生产