机器学习 | 目录
机器学习 | 聚类评估指标
无监督学习 | KMeans与KMeans++原理
无监督学习 | KMeans之Skleaen实现:电影评分聚类
对函数 d i s t ( ⋅ , ⋅ ) dist(\cdot,\cdot) dist(⋅,⋅) ,若它是一个“距离度量
”(distance measure),则需满足一些基本性质:[1]
(1) 非 负 性 : d i s t ( x i , x j ) ≥ 0 ; 同 一 性 : d i s t ( x i , x j ) = 0 当 且 仅 当 x i = x j ; 对 称 性 : d i s t ( x i , x j ) = d i s t ( x j , x i ) 直 递 性 : d i s t ( x i , x j ) ≤ d i s t ( x i , x k ) + d i s t ( x k , x j ) 【 三 角 不 等 式 】 \begin{aligned} &非负性:dist(x_i,x_j) \geq 0; \\ &同一性:dist(x_i,x_j)=0 当且仅当 x_i=x_j;\\ &对称性:dist(x_i,x_j) = dist(x_j,x_i)\\ &直递性:dist(x_i,x_j)\leq dist(x_i,x_k)+dist(x_k,x_j) 【三角不等式】\\ \end{aligned}\tag{1} 非负性:dist(xi,xj)≥0;同一性:dist(xi,xj)=0当且仅当xi=xj;对称性:dist(xi,xj)=dist(xj,xi)直递性:dist(xi,xj)≤dist(xi,xk)+dist(xk,xj)【三角不等式】(1)
给定样本 x i = ( x i 1 , x i 2 , ⋯   , x i n ) x_i=(x_{i1},x_{i2},\cdots,x_{in}) xi=(xi1,xi2,⋯,xin) 与 x j = ( x j 1 , x j 2 , ⋯   , x j n ) x_j=(x_{j1},x_{j2},\cdots,x_{jn}) xj=(xj1,xj2,⋯,xjn) ,最常用的是“闵可夫斯基距离
”(Minkowski distance)
(2) d i s t m k ( x i , x j ) = ( ∑ u = 1 n ∣ x i u − x j u ∣ p ) 1 p dist_{mk}(x_i,x_j)=\bigg(\sum_{u=1}^n |x_{iu}-x_{ju}|^p\bigg)^{\frac{1}{p}} \tag{2} distmk(xi,xj)=(u=1∑n∣xiu−xju∣p)p1(2)
对 p ≥ 1 p \geq 1 p≥1,式 2 明显满足公式 1 的距离度量基本性质。
当 p → ∞ 时 , 则 得 到 切 比 雪 夫 距 离 p\to\infty 时,则得到切比雪夫距离 p→∞时,则得到切比雪夫距离
当 p = 1 p=1 p=1 时,闵可夫斯基距离即曼哈顿距离
(Manhattan distance),亦称“街区距离
”(city block distance):
(3) d i s t m a n ( x i , x j ) = ∥ x i − x j ∥ 1 = ∑ u = 1 n ∣ x i u − x j u ∣ dist_{man}(x_i,x_j)=\|x_i-x_j\|_1=\sum_{u=1}^n|x_{iu}-x_{ju}| \tag{3} distman(xi,xj)=∥xi−xj∥1=u=1∑n∣xiu−xju∣(3)
当 p = 2 p=2 p=2 时,闵可夫斯基距离即欧式距离
(Euclidean distance):
(4) d i s t e d ( x i , x j ) = ∥ x i , x j ∥ 2 = ∑ u = 1 n ∣ x i u − x j u ∣ 2 dist_{ed}(x_i,x_j)=\|x_i,x_j\|_2=\sqrt{\sum_{u=1}^n|x_{iu}-x_{ju}|^2} \tag{4} disted(xi,xj)=∥xi,xj∥2=u=1∑n∣xiu−xju∣2(4)
我们常将属性划分为“连续属性
”(continuous attribute)和“离散属性
”(categorical attribute),前者在定义域上有无穷多个可能的取值,后者在定义域上是有限个取值。
然而,在讨论距离计算时,属性上是否定义了“序”关系更为重要。例如定义域 {1,2,3} 的离散属性与连续属性的性质更接近一些,能直接在属性值上结算距离:“1”与“2”比较接近、与“3”比较远,这样的属性称为“有序属性
”(ordinal attribute);而定义域 {飞机, 火车, 轮船} 这样的离散属性则不能直接在属性值上计算距离,称为“无序属性
”(non-ordinal attribute)。
显然,闵可夫斯基距离可用于连续属性和有序属性。
连续属性亦称“
数值属性
”(numerical attribute),“离散属性”亦称“列名属性
“(nominal attribute)
对无需属性可采用VDM
(Value Difference Metric)。令 m u , a m_{u,a} mu,a 表示在属性 u u u 上取值为 a a a 的样本数, k k k 为样本数, m u , a , i m_{u,a,i} mu,a,i 表示在第 i i i 个样本簇中在属性 u u u 上取值为 a a a 的样本数, k k k 为样本簇数,则属性 u u u 上两个离散值 a a a 与 b b b 之间的 VDM 距离为:
(5) V D M p ( a , b ) = ∑ i = 1 k ∣ m u , a , i m u , a − m u , b , i m u , b ∣ p VDM_p(a,b)=\sum_{i=1}^k\bigg|\frac{m_{u,a,i}}{m_{u,a}}-\frac{m_{u,b,i}}{m_{u,b}}\bigg|^p \tag{5} VDMp(a,b)=i=1∑k∣∣∣∣mu,amu,a,i−mu,bmu,b,i∣∣∣∣p(5)
将闵可夫斯基距离和 VDM 距离结合即可处理混合属性
。假定有 n c n_c nc 个有序属性、 n − n c n-n_c n−nc 个无序属性,不失一般性,令有序属性排列在无序属性之前,则
(6) M i n k o v D M p ( x i , x j ) = ( ∑ u = 1 n c ∣ x i u − x j u ∣ p + ∑ u = n c + 1 n V D M p ( x i u , x j u ) ) 1 p MinkovDM_p(x_i,x_j)=\bigg( \sum_{u=1}^{n_c}|x_{iu}-x_{ju}|^p + \sum_{u=n_c+1}^{n} VDM_p(x_{iu},x_{ju}) \bigg)^{\frac{1}{p}} \tag{6} MinkovDMp(xi,xj)=(u=1∑nc∣xiu−xju∣p+u=nc+1∑nVDMp(xiu,xju))p1(6)
当样本空间中不同属性的重要性不同时,可使用“加权距离
”(weighted distance)。
以加权闵可夫斯基距离为例:
(7) d i s t w m k ( x i , x j ) = ( ∑ u = 1 n w u ∣ x i u − x j u ∣ p ) 1 p dist_{wmk}(x_i,x_j)=\bigg(\sum_{u=1}^n w_u|x_{iu}-x_{ju}|^p\bigg)^{\frac{1}{p}} \tag{7} distwmk(xi,xj)=(u=1∑nwu∣xiu−xju∣p)p1(7)
[1] 周志华. 机器学习[M]. 北京: 清华大学出版社, 2016: 199-200.