/ @( t& w0 h* O' ~公式如下:. [# S( Y9 u" _1 f, t& K2 O
; {: W$ y8 L% ?% b8 ~$ J( f% ~/ C6 @& e
" x3 C: y9 L" i# K' w范围:,两向量越相似,向量夹角越小,余弦相似度越大;值为负时,两向量负相关。 , k% W. j4 _! ^# f 8 S. p m+ k, T0 h: w余弦距离使用两个向量夹角的余弦值作为衡量两个个体间差异的大小。 9 X% C( `( I. o0 ~6 A3 m ' \8 V F8 U& Y3 u相比欧氏距离,余弦距离更加注重两个向量在方向上的差异。$ Q, j# V0 M6 h/ R# [5 ?+ W D2 z
# Z( ^6 y7 ~. o/ G. y5 U
余弦相似度主要的应用场景有: - T- N$ C& K1 G 2 H2 O9 F' K: U$ L( O1)推荐系统中的协同过滤;1 l5 n$ [/ u) Q0 H
% c; [7 v0 b3 u0 W2 y2)计算文本的相似性; 3 P$ ~5 I. k6 a2 | # K- l. u, S( ^ h, K% v$ e欧式距离和余弦相似度的区别:5 ~; k; t4 D& I& \
余弦相似度衡量的是维度间取值方向的一致性,注重维度之间的差异,不注重数值上的差异;& O: l/ k. h- C" D8 u6 }/ l0 |
% B6 g9 g% m& _1 n
而欧氏距离度量的正是数值上的差异性。, ?: K* k, [; p5 a& F2 K9 A( j- j
- ]' q' z" m( j/ B
3、皮尔逊相关系数 - D* U2 c* D1 R5 i. a* N皮尔逊相关系数一般用于计算两个定距变量间联系的紧密程度。假设有两个变量X,Y,则它们之间的相关系数为: ' [% Q% U% {: Q) Q1 Q% a) w9 [ : J; Z2 i. Y* B. @" ^0 `8 i8 J9 J; G! |
* N/ ]; L. F& L% @4 `: d4 u
皮尔森相关系数是衡量线性关联性的程度,p的一个几何解释是其代表两个变量的取值根据均值集中后构成的向量之间夹角的余弦。 ; e# u" c( K- m, z 6 Z' ]3 {2 C$ o$ j$ u( m皮尔逊相似度计算结果在之间,-1表示负相关, 1表示正相关。 0 s" V$ a7 X0 w# r6 t3 }$ h) j* I3 H) c( u& ?0 V
当相关系数为0时,X和Y两变量无关系。 : A8 K7 G) @2 z$ N) h" m& {: X) y' c# u6 L4 H. {& ^ j
当X的值增大(减小),Y值增大(减小),两个变量为正相关,反之,为负相关。% o, a$ c+ d% G4 P
0 x2 ^7 R1 T) \ Y皮尔逊相似度衡量两个变量是不是同增同减,即两个变量的变化趋势是否一致。3 p- \* s) a! H% I5 H7 l
: T2 E1 r. N% H9 [3 Q
它不适合计算布尔值向量之间的相关度,适合处理评分的数据,且是稠密的数据,稀疏数据不适合。 6 m% p! X4 [$ G* R4 |0 p1 A/ v; }2 l" e9 E% @& L7 F K/ g0 f
当两个变量的标准差都不为零时,相关系数才有定义,皮尔逊相关系数适用于: % ~& s' |9 g' g0 W / x) g$ H" h! O, }; R6 x1 x1)两个变量之间是线性关系,都是连续数据。$ C# w; U8 B8 R
4 J1 L9 C& p0 ^/ M
2)两个变量的总体是正态分布,或接近正态的单峰分布。 " s+ V' z' T% U9 F# M, J 6 n& |$ n9 W' }; o3)两个变量的观测值是成对的,每对观测值之间相互独立。 ) U% z+ X5 w/ E4 E$ q. ~3 f7 Q ; X: C" a/ O3 f0 f0 \4、杰卡德相似系数 # Y$ k# q( Z9 }5 k. FJaccard(杰卡德)相似性系数主要用于计算符号度量或布尔值度量的样本间的相似度。" ]. E( ?4 O4 F5 k6 j/ a' p
4 ^7 X' S3 E8 _Jaccard(Jaccard similarity coefficient)相似系数等于样本集A和B交集的个数和样本集A和B并集个数的比值,在[0,1]之间,当两个样本完全一致时,结果为1,当两个样本完全不同时,结果为 0,用符号表示: 6 J3 u) Z. ^2 H! R/ m. ^% T& [" o0 k9 c
! p; D# s: v F t * G6 I" U' }) ] C& F1 ^/ n+ v1 u* wJaccard(杰卡德)距离:与杰卡德相似系数相反,用两个集合中不同元素所占元素的比例来衡量两个集合(样本)的区分度。 3 Z; g. D( ~% r' {8 x1 k5 ~1 ^$ t: F6 h. x/ W- K \8 @: Z
0 \. B2 g+ A+ O4 G6 Q3 }$ e9 N3 E5 v0 R/ @6 w; U
由于Jaccard相似系数主要用于计算符号度量或布尔值度量的个体间的相似度,无法衡量差异具体值的大小,只能获得“是否相同”这个结果,所以Jaccard系数只关心个体间共同具有的特征是否一致这个问题。 " u- S+ e/ Q! S2 N; K- m& Y6 t6 S( N0 ?# i8 m6 c6 D
Jaccard系数主要的应用场景有:6 i$ r" p! C- t
! W6 c* B( G$ j3 x2 [& ^
1)过滤相似度很高的新闻,或者网页去重; " x4 {0 \7 v } s& L1 `6 Z 8 x3 X" R! n, [; k7 h( y2)考试防作弊系统; 6 W. A1 B" M7 a6 t6 f/ V9 V5 H* e. k# i3 J& o
3)论文查重系统;' @2 c/ u; i5 V* g7 s( R
. W! r' x: N4 o1 R. @如何选择相似度算法: 5 T9 \) t& X9 \9 ~1)余弦相似度或者皮尔逊相关系数适合用户评分数据(实数值);. M) u8 s8 ~+ X
5 m. v* h" Z0 k# E& _, G) E
2)杰卡德相似度适用于隐式反馈数据,如:0/1、布尔值、是否收藏(点击、加购物车等); / `& I s3 p/ m3 Z2 {& d5 ] . E& R6 V4 u3 @" T1 ~$ ]1 a& i5、常用距离公式汇总" y0 u0 L- D3 g; n
明氏距离(Minkowski Distance)的推广:为曼哈顿距离,为欧氏距离,切比雪夫距离是明氏距离取极限的形式。 & q$ l+ p9 v2 M( ]' l% y5 X% z+ O ( J6 A7 c2 G* b+ f* U* ]4 x8 v, h3 V $ |5 Y- W2 o. O/ E , V0 E; J) Q. m) v标准欧氏距离的思路:将各个维度的数据进行标准化:标准化后的值 = ( 标准化前的值 - 分量的均值 ) /分量的标准差,然后计算欧式距离,如下:# m. x7 Z3 b( [! n
9 K1 b! E7 w; ?: m$ O
6 l/ y y4 E6 y4 L* }; P0 E
* v+ O6 U: {0 W
关注微信公众号【有梦想的程序星空】,了解软件系统和人工智能算法领域的前沿知识,让我们一起学习、一起进步吧!# |+ b! C" O1 W
———————————————— 9 A3 v+ G2 s9 a% x" ?版权声明:本文为CSDN博主「程序遇上智能星空」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 5 N: f* h- S' x2 F- T原文链接:https://blog.csdn.net/kevinjin2011/article/details/125184542# A4 S9 }: C( X- s
, {' v1 r. {$ B5 I( W8 D3 L . h$ ^# U6 [ _* `; {8 i* y