成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

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

lewif / 3780人閱讀

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

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

計(jì)算公式

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

試用場(chǎng)景

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

python實(shí)現(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)系上兩點(diǎn)所形成的線段對(duì)軸產(chǎn)生的投影的距離總和

計(jì)算公式

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

試用場(chǎng)景

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

python實(shí)現(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)是向量空間中的一種度量,二個(gè)點(diǎn)之間的距離定義為其各座標(biāo)數(shù)值差的最大值

計(jì)算公式

$$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}}$$

試用場(chǎng)景

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

python實(shí)現(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)
歐氏空間中的一種測(cè)度,被看做是歐氏距離和曼哈頓距離的一種推廣

計(jì)算公式

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

試用場(chǎng)景

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

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

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

python實(shí)現(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)
在信息論中,兩個(gè)等長字符串之間的漢明距離(Hamming distance)是兩個(gè)字符串對(duì)應(yīng)位置的不同字符的個(gè)數(shù)

計(jì)算公式

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

試用場(chǎng)景

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

python實(shí)現(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)
余弦相似度,又稱為余弦相似性,是通過計(jì)算兩個(gè)向量的夾角余弦值來評(píng)估他們的相似度

計(jì)算公式

$$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}}$$

試用場(chǎng)景

衡量兩個(gè)向量方向的差異

python實(shí)現(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)
用于度量兩個(gè)變量之間的相關(guān)程度

計(jì)算公式

$$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}}$$

試用場(chǎng)景

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

python實(shí)現(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ì)算公式

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

杰卡德距離計(jì)算公式

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

試用場(chǎng)景

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

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

python實(shí)現(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計(jì)算各類距離

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

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

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

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/43885.html

相關(guān)文章

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

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

    cncoder 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

lewif

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<