成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

8種相似度度量方式的原理及實現(xiàn)

lewif / 3699人閱讀

摘要:實現(xiàn)參考鏈接計算各類距離關(guān)于機器學(xué)習(xí)距離的理解機器學(xué)習(xí)中的相似性度量如何通俗易懂地理解皮爾遜相關(guān)系數(shù)數(shù)學(xué)應(yīng)用

8種相似度度量方式的原理及實現(xiàn) 歐氏距離(Euclidean Distance)
歐氏距離(也稱歐幾里得度量)指在m維空間中兩個點之間的真實距離,或者向量的自然長度(即該點到原點的距離)

計算公式

$$dist(A,B)=sqrt{sum_{i=1}^n(A_i-B_i)^2}$$

試用場景

在數(shù)據(jù)完整(無維度數(shù)據(jù)缺失)的情況下, 維度間的衡量單位是一致的, 否則需要標(biāo)準(zhǔn)化處理

python實現(xiàn)
import numpy as np


vec1 = np.array([1, 3, 4])
vec2 = np.array([4, 2, 4])

d = np.linalg.norm(vec1-vec2, ord=2)
# 或者
d = np.sqrt(np.sum(np.square(vec1-vec2)))

曼哈頓距離(Manhattan Distance)
在歐幾里得空間的固定直角坐標(biāo)系上兩點所形成的線段對軸產(chǎn)生的投影的距離總和

計算公式

$$dist(A,B)=sum_{i=1}^n|A_i-B_i|$$

試用場景

在數(shù)據(jù)完整(無維度數(shù)據(jù)缺失)的情況下, 需要將空間劃分成網(wǎng)格, 然后以網(wǎng)格為單位來進(jìn)行度量, 允許4個方向

python實現(xiàn)
import numpy as np

vec1 = np.array([1, 3, 4])
vec2 = np.array([4, 2, 4])
 
d = np.linalg.norm(vec1-vec2, ord=1)
# 或者
d = np.sum(np.abs(vec1-vec2))

切比雪夫距離(Chebyshev Distance)
切比雪夫距離(Chebyshev distance)是向量空間中的一種度量,二個點之間的距離定義為其各座標(biāo)數(shù)值差的最大值

計算公式

$$dist(A,B)=max_i|A_i-B_i|$$
or
$$dist(A,B)=lim_{p→infty}(sum_{i=1}^n|A_i-B_i|^p)^{frac{1}{p}}$$

試用場景

需要將空間劃分成網(wǎng)格, 然后以網(wǎng)格為單位來進(jìn)行度量, 允許8個方向

python實現(xiàn)
import numpy as np

vec1 = np.array([1, 3, 4])
vec2 = np.array([4, 2, 4])

d = np.linalg.norm(vec1-vec2, ord=np.inf)
# 或者
d = np.abs(vec1-vec2).max()

閔可夫斯基距離(Minkowski Distance)
歐氏空間中的一種測度,被看做是歐氏距離和曼哈頓距離的一種推廣

計算公式

$$dist(A,B)=sqrt[p]{sum_{i=1}^n|A_i-B_i|^p}$$

試用場景

當(dāng) $p=1$ 時,就是曼哈頓距離

當(dāng) $p=2$ 時,就是歐氏距離

當(dāng) $p→∞$ 時,就是切比雪夫距離

python實現(xiàn)
import numpy as np

vec1 = np.array([1, 3, 4])
vec2 = np.array([4, 2, 4])

"""
ord=1: 一范數(shù)
ord=2: 二范數(shù)
ord=np.inf: 無窮范數(shù)
"""
d = np.linalg.norm(vec1-vec2, ord=arg)

漢明距離(Hamming Distance)
在信息論中,兩個等長字符串之間的漢明距離(Hamming distance)是兩個字符串對應(yīng)位置的不同字符的個數(shù)

計算公式

$$dist(A,B)=sum_{i=0}^n{A[i]igoplus B[i]}$$

試用場景

信息編碼(為了增強容錯性,應(yīng)使得編碼間的最小漢明距離盡可能大)

python實現(xiàn)
import numpy as np

vec1 = np.array([1, 1, 0, 1, 0, 1, 0, 0, 1])
vec2 = np.array([0, 1, 1, 0, 0, 0, 1, 1, 1])

d = len(np.nonzero(vec1-vec2)[0])
# 或者
d = np.shape(np.nonzero(vec1-vec2)[0])[0]

余弦相似度(Cosine Similarity)
余弦相似度,又稱為余弦相似性,是通過計算兩個向量的夾角余弦值來評估他們的相似度

計算公式

$$cos( heta)=cfrac{Acdot B}{|A||B|}$$
or
$$cos( heta)=cfrac{sum_{i=1}^nA_iB_i}{sqrt{sum_{i=1}^nA_i^2}sqrt{sum_{i=1}^nB_i^2}}$$

試用場景

衡量兩個向量方向的差異

python實現(xiàn)
import numpy as np

vec1 = np.array([1, 3, 4])
vec2 = np.array([4, 2, 4])

d = np.dot(vec1,vec2)/(np.linalg.norm(vec1)*(np.linalg.norm(vec2)))

皮爾森相關(guān)系數(shù)(Pearson Correlation Coefficient)
用于度量兩個變量之間的相關(guān)程度

計算公式

$$P(A,B)=cfrac{sum_{i=1}^n(A_i-overline A)(B_i-overline B)}{sqrt{sum_{i=1}^n(A_i-overline A)^2sum_{i=1}^n(B_i-overline B)^2}}$$

試用場景

反映兩個變量是正相關(guān)還是負(fù)相關(guān)

python實現(xiàn)
import numpy as np

vec1 = np.array([1, 3, 4])
vec2 = np.array([4, 2, 4])

p = np.corrcoef(vec1, vec2)

杰卡德相似系數(shù)(Jaccard Similarity Coefficient)及杰卡德距離(Jaccard Distance)
用于比較有限樣本集之間的相似性與差異性

杰卡德相似系數(shù)計算公式

$$J(A,B)=cfrac{|Aigcap B|}{|Aigcup B|}$$

杰卡德距離計算公式

$$J_delta(A,B)=1-J(A,B)=cfrac{|Aigcup B|-|Aigcap B|}{|Aigcup B|}$$

試用場景

比較文本相似度,用于文本查重與去重;

計算對象間距離,用于數(shù)據(jù)聚類或衡量兩個集合的區(qū)分度等。

python實現(xiàn)
import numpy as np
import scipy.spatial.distance as dist

vec1 = np.array([1, 1, 0, 1, 0, 1, 0, 0, 1])
vec2 = np.array([0, 1, 1, 0, 0, 0, 1, 1, 1])

d = dist.pdist(np.array([vec1, vec2]), "jaccard")


參考鏈接

Python Numpy計算各類距離

關(guān)于機器學(xué)習(xí)距離的理解

機器學(xué)習(xí)中的相似性度量

如何通俗易懂地理解皮爾遜相關(guān)系數(shù)

GeoGebra 數(shù)學(xué)應(yīng)用

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/43885.html

相關(guān)文章

  • 推薦系統(tǒng)01--余弦相似

    摘要:在近鄰?fù)扑]中,最常用的相似度是余弦相似度。這就是由于余弦相似度被向量長度歸一化后的結(jié)果。用余弦相似度計算出來,兩個用戶的相似度達(dá)到。余弦相似度適用于評分?jǐn)?shù)據(jù),杰卡德相似度適合用于隱式反饋數(shù)據(jù)。 今天,我們來聊聊協(xié)同過濾中的相似度計算方法有哪些。相似度的本質(zhì)推薦系統(tǒng)中,推薦算法分為兩個門派,一個是機器學(xué)習(xí)派,另一個就是相似度門派。機器學(xué)習(xí)派是后起之秀,而相似度派則是泰山北斗,以致?lián)纹饋硗?..

    cncoder 評論0 收藏0

發(fā)表評論

0條評論

lewif

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<