多种评价相似性算法(余弦定理,Jaccard,曼哈顿距离等) 前一篇文章,我们知晓了关于用欧几里得距离来评判两者对于书籍的看法是否相近,从而得出两人是否有相同爱好。 其实还有几种评判相似度的算法,比如余弦定理,Jaccard系数,曼哈顿距离,Pearson方法等等。我们在这有详有细的介绍这三个算法。 1.余弦定理 第一个,余弦定理。这个定理在初中数学是这样的,如下图1.1
图1.1 余弦定理公式 但是这个明显跟我们研究的联系不紧密,其实,最重要的是在XY轴坐标轴中我们可以看出端倪出来,如下图1.2
图1.2 余弦定理二维向量计算公式 这个θ便是两者之间的夹角,在二维向量中,如下图1.3
图1.3 二维向量角度 我们假如有两人A和B,两本书(《呼兰河传》和《源泉》),A喜欢《呼兰河传》,不喜欢《源泉》,B喜欢《呼兰河传》,也喜欢《源泉》,这样,我们分别用布尔值来代替喜欢不喜欢,得到 A(1,0),B(1,1),这样用余弦定理求出cosθ ≈ 0.7,可以知道当值为1时近似相同。而为0时则分歧最大。 当然这只是两本书,如果N本书,便是N维向量,明显依照此法可行,具体公式易得。第一次看到此算法,在《数学之美》中看到的,讲的是用来判定两篇新闻是否类似,跟我所举的看书的问题是差不多的。 2.Jaccard系数 第二个,Jaccard系数计算公式为如下图2.1
图2.1 Jaccard系数公式 其实,Jaccard系数跟前几个一样,都是相似性参数,但是他是两个集合A和B交集素的个数在A、B并集中所占的比例,称为这两个集合的杰卡德系数。 给定两个集合 A,B ,均含有 n 个共同的属性,每个 属性取值为 0 或 1。 杰卡德系数是测评此类数据的有 效工具。 文中定义: M11 为集合 A 与 B 的属性值都是 1 的个数;M01 为样本 A 的属性值是1,且样本 B 的属性值 是 0 的个数;M10 为样本 A 的属性值是0,且样本 B 的属 性值是 1 的个数;M00 为样本 A 与 B 的属性值都是 0 的 个数。 则有如下结论: M11 + M01 + M10 + M00 = n J = M11/(M11 + M01 + M10) 如果集合 A,B 均为空集,定义 J (A,B) = 1。 显然 0 ≤ J (A,B) ≤ 1。 J 值越大,两样本相似度越大。 杰卡德相似系数是衡量两个集合相似度的一种指标。比如A和B对于三本书的评价为A(1,1,0)和B(1,0,1)。PS:1代表喜欢,0代表不喜欢。可以得到J ≈ 0.3,这就说明两人相似度不高,也可以看出杰卡德系数其实跟余弦定理有些许相似。 除了杰卡德相似系数,还有杰卡德距离,在此不表。 3.曼哈顿距离 第三个,曼哈顿距离也叫出租车几何,其实这个算法很简单。先说明他的历史来由,就是在早期的计算机图形学中,屏幕是由像素构成,是整数,点的坐标也一般是整数,原因是浮点运算很昂贵,很慢而且有误差,如果直接使用AB的欧氏距离(欧几里德距离:在二维和三维空间中的欧氏距离的就是两点之间的距离),则必须要进行浮点运算,如果使用AC和CB,则只要计算加减法即可,这就大大提高了运算速度,而且不管累计运算多少次,都不会有误差。 如下图3.1
图3.1 地图 图中红线,蓝色和黄色代表代表曼哈顿距离,这三个线就是一样的,所以曼哈顿距离是一样的,但是路线可能不一样。而绿色代表欧几里得距离,也就是直线距离啊。公式为d(i,j)=|X1-X2|+|Y1-Y2|.所以可以知道d(i,j) = d(j,i),d(i,j)<=dis(i,j).PS:dis(i,j)是欧几里得距离。值得注意的是,这个算法跟城市导航有些许关联。 总结,这三个算法算是简单的。但是可以通过些浅显的明白如何将信息之间的关系用具体的数值表现出来。 参考文献 [1] 张晓琳,付英姿,褚培肖.杰卡德相似系数在推荐系统中的应用[期刊论文].-计算机技术与发展 2015(4) [2] 百度百科.曼哈顿距离[EB/OL].曼哈顿距离_百度百科.2017.
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/62113.html