机器学习7 - 算法进阶2
知识点
- 距离度量。
- Manhattan: d i s t ( x , y ) = ∑ i ∣ x i − y i ∣ dist(x,y) = \sum_{i}|x_{i}-y_{i}| dist(x,y)=∑i∣xi−yi∣
- 欧式距离Euclidean: d i s t ( x , y ) = ∑ i ( x i − y i ) 2 dist(x,y) = \sqrt{\sum_{i}(x_{i}-y_{i})^2} dist(x,y)=∑i(xi−yi)2
- Minkowski: d i s t ( x , y ) = ( ∑ i ∣ x i − y i ) p ) 1 p dist(x,y) = (\sum_{i}|x_{i}-y_{i})^{p})^{\frac{1}{p}} dist(x,y)=(∑i∣xi−yi)p)p1
- 杰卡德相似系数(Jaccard): J ( A , B ) = ∣ A ∩ B ∣ ∣ A ∪ B ∣ J(A,B) = \frac{|A\cap B|}{|A\cup B|} J(A,B)=∣A∪B∣∣A∩B∣
- 余弦相似度(cosine similarity): c o s ( θ ) = a ⋅ b ∣ a ∣ ⋅ ∣ b ∣ cos(\theta) = \frac{\bold{a}\cdot\bold{b}}{|\bold{a}|\cdot|\bold{b}|} cos(θ)=∣a∣⋅∣b∣a⋅b
- Pearson相关系数: ρ x y = C o v ( x , y ) σ x σ y \rho_{xy} = \frac{Cov(x,y)}{\sigma_{x}\sigma_{y}} ρxy=σxσyCov(x,y)
- 相对熵(KL散度): D ( p ∣ ∣ q ) = ∑ x p ( x ) l o g p ( x ) q ( x ) = E p ( x ) l o g p ( x ) q ( x ) D(p||q) = \sum_{x}p(x)log\frac{p(x)}{q(x)} = E_{p(x)}log\frac{p(x)}{q(x)} D(p∣∣q)=∑xp(x)logq(x)p(x)=Ep(x)logq(x)p(x)
- Hellinger距离:
D
α
(
p
∣
∣
q
)
=
2
1
−
α
2
(
1
−
∫
p
(
x
)
1
+
α
2
q
(
x
)
1
−
α
2
d
x
)
D_{\alpha}(p||q) = \frac{2}{1-\alpha^2}(1-\int p(x)^{\frac{1+\alpha}{2}}q(x)^{\frac{1-\alpha}{2}}dx)
Dα(p∣∣q)=1−α22(1−∫p(x)21+αq(x)21−αdx)
Person相关系数即x,y坐标平移到原点后的夹角余弦。Hellinger当 α \alpha α为01时,退化为 D ( p ∣ ∣ q ) , D ( q ∣ ∣ p ) D(p||q),D(q||p) D(p∣∣q),D(q∣∣p)。
- K-means聚类
- 选定初始中心(可以使用elbow方法来选取中心数)
- 对于每个样本,将其标记为距离类别中心最近的类别
- 将每个中心更新为隶属该类别的所有样本的均值
- 重复迭代直到满足一定的迭代步数或者MSE或者簇中心变化率。
需要做feature scaling。
- 聚类的衡量指标:
- 均一性:一个簇只含有一个类别的样本,则满足均一性
p = 1 k ∑ i = 1 k N ( C i = = K i ) N ( K i ) p = \frac{1}{k}\sum_{i=1}^{k}\frac{N(C_{i}==K_{i})}{N(K_{i})} p=k1i=1∑kN(Ki)N(Ci==Ki) - 完整性:同类别样本被归类到相同簇中,则满足完整性
r = 1 k ∑ i = 1 n N ( C i = = K i ) N ( C i ) r = \frac{1}{k}\sum_{i=1}^{n}\frac{N(C_{i}==K_{i})}{N(C_{i})} r=k1i=1∑nN(Ci)N(Ci==Ki) - V-measure:均一性和完整性的加权平均
ν β = ( 1 + β ) ⋅ p r β ⋅ p + r \nu_{\beta} = \frac{(1+\beta)\cdot pr}{\beta\cdot p+r} νβ=β⋅p+r(1+β)⋅pr - 调整兰德系数(ARI, Adjusted Rnd ARI),范围为[-1,1],越高越好。
- 调整互信息(AMI,Adjusted Mutual Information),越高越好。
- 轮廓系数:
- 簇内不相似度:计算样本i到同簇其它样本的平均距离为ai;ai越小,表示样本i越应该被聚类到该簇,簇C中的所有样本的ai的均值被称为簇C的簇不相似度。
- 簇间不相似度:计算样本i到其它簇Cj的所有样本的平均距离bij,i=min{bi1,bi2,…,bik};bi越大,表示样本i越不属于其它簇。
- 轮廓系数:
s
i
s_{i}
si值越接近1表示样本i聚类越合理,越接近-1,表示样本i应该分类到另外的簇中,近似为0,表示样本i应该在边界上;所有样本的si的均值被成为聚类结果的轮廓系数。
s ( i ) = b ( i ) − a ( i ) m a x { a ( i ) , b ( i ) } s ( i ) = { 1 − a ( i ) b ( i ) a ( i ) < b ( i ) 0 a ( i ) = b ( i ) a ( i ) b ( i ) − 1 a ( i ) > b ( i ) s(i) = \frac{b(i)-a(i)}{max\{a(i),b(i)\}} \quad s(i) = \begin{cases} 1-\frac{a(i)}{b(i)} \quad a(i)<b(i)\\ 0 \quad a(i) = b(i) \\ \frac{a(i)}{b(i)}-1 \quad a(i)>b(i) \end{cases} s(i)=max{a(i),b(i)}b(i)−a(i)s(i)=⎩⎪⎨⎪⎧1−b(i)a(i)a(i)<b(i)0a(i)=b(i)b(i)a(i)−1a(i)>b(i)
- 均一性:一个簇只含有一个类别的样本,则满足均一性
除了轮廓系数,都需要标签来计算。