獨(dú)立ip做網(wǎng)站廣告聯(lián)盟app推廣
矩陣的相似性度量的常用方法
1,歐氏距離
歐式距離是最易于理解的一種距離計(jì)算方法,源自歐式空間中兩點(diǎn)間的距離公式。
(1)二維平面上的點(diǎn) a ( x 1 , y 1 ) a(x_1,y_1) a(x1?,y1?)和點(diǎn) b ( x 2 , y 2 ) b(x_2,y_2) b(x2?,y2?)的歐式距離為
d = ( x 1 ? x 2 ) 2 + ( y 1 ? y 2 ) 2 d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2} d=(x1??x2?)2+(y1??y2?)2?
(2)三維平面上的點(diǎn) a ( x 1 , y 1 , z 1 ) a(x_1,y_1,z_1) a(x1?,y1?,z1?)和點(diǎn) b ( x 2 , y 2 , z ? 2 ) b(x_2,y_2,z-2) b(x2?,y2?,z?2)的歐式距離為
d = ( x 1 ? x 2 ) 2 + ( y 1 ? y 2 ) 2 + ( z 1 ? z 2 ) 2 d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2+(z_1-z_2)^2} d=(x1??x2?)2+(y1??y2?)2+(z1??z2?)2?
不失一般性:
D ( X i , X j ) = ∑ l = 1 d ( x i l ? x j l ) 2 D(X_i,X_j)=\sqrt{\sum_{l=1}^d(x_{il}-x_{jl})^2} D(Xi?,Xj?)=∑l=1d?(xil??xjl?)2?
其中:D表示樣本間的距離, X i , X j X_i,X_j Xi?,Xj?代表一個(gè)向量,或稱為樣本點(diǎn)或者樣本;l是樣本特征的維數(shù), x i l , x j l x_{il},x_{jl} xil?,xjl?表示一個(gè)變量,或成為屬性;d表示樣本的總維數(shù),即樣本特征的總數(shù)量(下同)。
2,切比雪夫距離
在二維空間中,切比雪夫距離的典型應(yīng)用是解決國(guó)際象棋中的國(guó)王從一個(gè)格子走到另一個(gè)格子最少需要幾步的問題。這種距離在模糊C-Means方法中得到了有效應(yīng)用。切比雪夫距離的公式可以表示為:
D ( X i , X j ) = m a x l ( ∣ x i l ? x j l ∣ ) D(X_i,X_j)=max_l(|x_{il}-x_{jl}|) D(Xi?,Xj?)=maxl?(∣xil??xjl?∣)
此公式的另一種表示形式為:
D ( X i , X j ) = lim ? p → + ∞ ∑ l = 1 d ( x i l ? x j l ) 2 p D(X_i,X_j)=\lim_{p\rightarrow+\infty}\sqrt[p]{\sum_{l=1}^d(x_{il}-x_{jl})^2} D(Xi?,Xj?)=limp→+∞?p∑l=1d?(xil??xjl?)2?
3,曼哈頓距離
在城市生活中,只能沿著街道從一個(gè)地方走到另一個(gè)地方,為此,人們將生活中熟悉的城市街區(qū)距離形象地稱為曼哈頓距離。該距離的表示公式為:
D ( X i , X j ) = ∑ l = 1 d ( ∣ x i l ? x j l ∣ ) D(X_i,X_j)=\sum_{l=1}^d(|x_{il}-x_{jl}|) D(Xi?,Xj?)=∑l=1d?(∣xil??xjl?∣)
曼哈頓距離在基于自適應(yīng)諧振理論的同步聚類中有較好的應(yīng)用;但是需要注意的是這種距離不再符合在特征空間中的轉(zhuǎn)化和旋轉(zhuǎn)的不變性。
4,閔可夫斯基距離
閔可夫斯基距離是一種p范數(shù)的形式,公式可以表示為:
D ( X i , X j ) = ∑ l = 1 d ( x i l ? x j l ) 2 p D(X_i,X_j)=\sqrt[p]{\sum_{l=1}^d(x_{il}-x_{jl})^2} D(Xi?,Xj?)=p∑l=1d?(xil??xjl?)2?
從式中可以看出,若p為無窮大時(shí),這種距離可以稱為切比雪夫距離;若p=2時(shí)就是歐幾里得距離;那么當(dāng)p=1時(shí)就是曼哈頓距離。
5,馬氏距離
馬氏距離是一種關(guān)于協(xié)方差矩陣的距離度量表示方法,其公式為:
D ( X i , X j ) = ( X i ? X j ) T S ? 1 ( X i ? X j ) D(X_i,X_j)=\sqrt{(X_i-X_j)^TS^{-1}(X_i-X_j)} D(Xi?,Xj?)=(Xi??Xj?)TS?1(Xi??Xj?)?
其中T表示轉(zhuǎn)置,S為樣本協(xié)方差矩陣。馬氏距離的優(yōu)點(diǎn)是距離與屬性的量綱無關(guān),并排除了屬性之間的相關(guān)性干擾,若各個(gè)屬性之間獨(dú)立同分布,則協(xié)方差矩陣為單位矩陣。這樣,平方馬氏距離也就轉(zhuǎn)化成了歐氏距離。
6,對(duì)稱點(diǎn)距離
當(dāng)聚類存在對(duì)稱模式時(shí),就可以使用對(duì)稱點(diǎn)距離。其距離公式為:
D ( X i , X r ) = m a x j = 1 , 2 , … , N , j ≠ i ∣ ∣ ( X i ? X r ) + ( X j ? X r ) ∣ ∣ ∣ ∣ ( X i ? X r ) ∣ ∣ + ∣ ∣ ( X j ? X r ) ∣ ∣ D(X_i,X_r)=max_{j=1,2,…,N,j≠i}\frac{||(X_i-X_r)+(X_j-X_r)||}{||(X_i-X_r)||+||(X_j-X_r)||} D(Xi?,Xr?)=maxj=1,2,…,N,j=i?∣∣(Xi??Xr?)∣∣+∣∣(Xj??Xr?)∣∣∣∣(Xi??Xr?)+(Xj??Xr?)∣∣?
對(duì)稱點(diǎn)距離就是該點(diǎn)到對(duì)稱點(diǎn)和其他點(diǎn)距離的最小值。
7,相關(guān)系數(shù)
距離度量也可以源于相關(guān)系數(shù),如皮爾遜相關(guān)系數(shù)的定義為:
ρ x i x j = C o v ( X i , X j ) D ( X i ) D ( X j ) ρ_{x_ix_j}=\frac{Cov(X_i,X_j)}{\sqrt{D(X_i)}\sqrt{D(X_j)}} ρxi?xj??=D(Xi?)?D(Xj?)?Cov(Xi?,Xj?)?
8,余弦相似度
最后一種直接計(jì)算相似性的方法是余弦相似度。其表示形式為:
S ( X i , X j ) = c o s α = X i T X j ∣ ∣ X i ∣ ∣ ∣ ∣ X j ∣ ∣ S(X_i,X_j)=cosα=\frac{X_i^TX_j}{||X_i||\ ||X_j||} S(Xi?,Xj?)=cosα=∣∣Xi?∣∣?∣∣Xj?∣∣XiT?Xj??
這里,S表示樣本之間的相似性(以下同)。在特征空間中,兩個(gè)樣本越相似,則他們?cè)节呄蛴谄叫?#xff0c;那么他們的余弦值也就越大。
(附:為什么大模型每個(gè)層之間要加入Layer Normalization?原因就是因?yàn)樯窠?jīng)網(wǎng)絡(luò)的基本計(jì)算就是點(diǎn)積相似度計(jì)算,而點(diǎn)積相似度的取值范圍是沒有約束的,這導(dǎo)致神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)很難學(xué)習(xí),因?yàn)関ariance太大了。所以引入Layer Normalization之后,可以讓點(diǎn)積相似度變成了余弦相似度。當(dāng)然中間有一個(gè)系數(shù)就是根號(hào)的輸入向量的維度,這也就是為什么transformer架構(gòu)中為什么要除以根號(hào)的輸入向量的維度的原因,因?yàn)槌愿?hào)的輸入向量的維度之后,Norm之后的向量,神經(jīng)元的點(diǎn)積相似度就等于余弦相似度了。所以,讓沒有取值范圍約束的點(diǎn)積相似度有了約束,【-1,1】,從而可以讓神經(jīng)網(wǎng)絡(luò)穩(wěn)定的訓(xùn)練。)
需要注意的是最后三類相似度計(jì)算方法不再符合對(duì)稱性,非負(fù)性與反身性的要求,即屬于非可度量的范疇。連續(xù)性變量的相似性度量方法在不同聚類算法中的應(yīng)用如下圖所示。