1. 程式人生 > >18種和“距離(distance)”、“相似度(similarity)”相關的量的小結

18種和“距離(distance)”、“相似度(similarity)”相關的量的小結

在計算機人工智慧領域,距離(distance)、相似度(similarity)是經常出現的基本概念,它們在自然語言處理、計算機視覺等子領域有重要的應用,而這些概念又大多源於數學領域的度量(metric)、測度(measure)等概念。
這裡拮取其中18種做下小結備忘,也藉機熟悉markdown的數學公式語法。

英文名 中文名 算式 說明
Euclidean Distance 歐式距離 d=i=1n(xiyi)2 以古希臘數學家歐幾里得命名的距離;也就是我們直觀的兩點之間直線最短的直線距離
Manhattan Distance 曼哈頓距離 d=i=1n|xiyi| 是由十九世紀的赫爾曼·閔可夫斯基所創詞彙;是種使用在幾何度量空間的幾何學用語,用以標明兩個點在標準座標系上的絕對軸距總和;也就是和象棋中的“車”一樣橫平豎直的走過的距離;曼哈頓距離是超凸度量
Minkowski Distance 閔氏距離 d=i=1n(xiyi)pp 以俄羅斯數學家閔可夫斯基命名的距離;是歐式距離的推廣,p=2時等價於歐氏距離,和p-範數等值
Hamming Distance 海明距離 逐個字元(或逐位)對比,統計不一樣的位數的個數總和 所得值越小,參與對比的兩個元素約相似;下面是從wikipedia借的4bit的海明距離示意圖4bit的海明距離示意圖
Jaccard Coefficient 傑卡德距離 J(A,B)=|AB||AB| 越大越相似;分子是A和B的交集大小,分母是A和B的並集大小
Ochiai Coefficient ? K=n(AB)n(A)×n(B)
Pearson Correlation 皮爾森相關係數 r=ni=1(Xix¯)(yiy¯)ni=1(Xix¯)2ni=1(yiy¯)2 分子是兩個集合的交集大小,分母是兩個集合大小的幾何平均值。是餘弦相似性的一種形式
Cosine Similarity 餘弦相似度 S=xy|x||y|
Mahalanobis Distance 馬氏距離 d=(x⃗ y⃗ )TS1(x⃗ y⃗ ) 其中S是x和y的協方差矩陣 印度統計學家馬哈拉諾比斯(P. C. Mahalanobis)提出的,表示資料的協方差距離。它是一種有效的計算兩個未知樣本集的相似度的方法;若協方差矩陣是對角陣(diagonal),則該距離退化為歐式距離
Kullback-Leibler Divergence K-L散度 D(P||Q)=i=1nP(i)logP(i)Q(i) 即相對熵;是衡量兩個分佈(P、Q)之間的距離;越小越相似
PMI(Pointwise Mutual Information) 點對互資訊 pmi=logp(x,y)p(x)p(y)=logp(y|x)p(y) 利用co-occurance來衡量x和y的相似度;越大越相關;可以看做區域性點的互資訊(mutual information)
NGD(Normalized Google Distance) ? NGD(x,y)=max{logf(x

相關推薦

18距離(distance)”相似(similarity)”相關小結

在計算機人工智慧領域,距離(distance)、相似度(similarity)是經常出現的基本概念,它們在自然語言處理、計算機視覺等子領域有重要的應用,而這些概念又大多源於數學領域的度量(metric)

演算法介紹(3) 編輯距離演算法-字串相似

           編輯距離,又稱Levenshtein距離,是指兩個字串之間,由一個轉成另一個所需的最少編輯操作次數。        具體的操作方法為:     

MATLAB中實現編輯距離並求相似

編輯距離,又稱Levenshtein距離,是指兩個字串之間,由一個轉成另一個所需的最少編輯操作次數。許可的編輯操作包括將一個字元替換成另一個字元,插入一個字元,刪除一個字元。好像R2018a已經集成了編輯距離的API ,但是沒有安裝2018a,dist = edr(x,y,t

計算兩向量的歐式距離,餘弦相似

來自:http://www.mtcnn.com >>> import numpy >>> vec1=[[1,1,1],[2,2,2]] >>> vec2=[[2,2,2],[1,1,1]] >>> vec1=numpy.

歐式距離與餘弦相似

歐氏距離 在歐幾里得空間裡面,點x =(x1,…,xn)和 y =(y1,…,yn)的歐幾里得距離為: 歐幾里得距離關注的是同一個維度裡面,數值之間的差異。當不同維度的刻度差異較大,比如身高(m)和體重(kg),如果使用這兩個單位,歐式距離的變現出來的差

【搜尋引擎】 PostgreSQL 10 實時全文檢索分詞相似搜尋模糊匹配實現類似Google搜尋自動提示

需求分析 要通過PostgreSQL實現類似Google搜尋自動提示的功能,例如要實現一個查詢海量資料中的商品名字,每次輸入就提示使用者各種相關搜尋選項,例如淘寶、京東等電商查詢 思路 這個功能可以用 PostgreSQL的實時全文檢索和分詞、相似搜尋、前模糊匹配等特性實現。具體策略是,定義一個搜尋提示的最大

2017CVPRICCVNIPS在Person Reidentification方向的相關工作小結

  轉載自: https://blog.csdn.net/qq2414205893/article/details/78901517 論文閱讀小結(以下內容為論文閱讀筆記及總結) NIPS2017 6608-deep-subspace-clustering-netw

Levenshtein Distance Levenshtein 編輯距離——一相似的計算方法

/********************************************* Levenshtein Distance Algorithm *******************************/ /********************

距離相似度量

com 聚類算法 匯總 pearson 求和 選擇 方式 獲得 分享 在數據分析和數據挖掘的過程中,我們經常需要知道個體間差異的大小,進而評價個體的相似性和類別。最常見的是數據分析中的相關分析,數據挖掘中的分類和聚類算法,如K最近鄰(KNN)和K均值(K-Means)。當然

演算法之常用的距離相似度量

在資料分析和資料探勘的過程中,我們經常需要知道個體間差異的大小,進而評價個體的相似性和類別。最常見的是資料分析中的相關分析,資料探勘中的分類和聚類演算法,如K最近鄰(KNN)和K均值(K-Means)。當然衡量個體差異的方法有很多,這裡整理羅列下。   為了方便下面的解釋和舉例,先設定我們要

字串相似演算法(編輯距離演算法 Levenshtein Distance

在搞驗證碼識別的時候需要比較字元程式碼的相似度用到“編輯距離演算法”,關於原理和C#實現做個記錄。 據百度百科介紹: 編輯距離,又稱Levenshtein距離(也叫做Edit Distance),是指兩個字串之間,由一個轉成另一個所需的最少編輯操作次數,如果它們的距離越大,說明它們越是不同。許可

文字相似計算的幾個距離公式(歐氏距離餘弦相似Jaccard距離編輯距離

本文主要講一下文字相似度計算的幾個距離公式,主要包括:歐氏距離、餘弦相似度、Jaccard距離、編輯距離。 距離計算在文字很多場景下都可以用到,比如:聚類、K近鄰、機器學習中的特徵、文字相似度等等。接下來就一一介紹一下: 假設兩個文字X=(x1, x2, x3,...xn)

推薦系統中常見的幾相似計算方法其適用資料

在推薦系統中,相似度的計算是一個很重要的課題。而相似度的計算方法多種多樣,今天我們來把這些方法比較一下,也為以後做專案留個筆記。其實無論是基於user的cf還是基於item的cf,亦或是基於svd的推薦,相似度計算都是必不可少的一步,只不過cf中計算相似度是一箇中間步驟,而

資料探勘之曼哈頓距離歐幾裡距離明氏距離皮爾遜相關係數餘弦相似Python實現程式碼

# -*- coding:utf8 -*- from math import sqrt users = {"Angelica": {"Blues Traveler": 3.5, "Broken Bells": 2.0, "Norah Jones": 4.5, "Phoeni

常用距離相似度量

在資料分析和資料探勘的過程中,我們經常需要知道個體間差異的大小,進而評價個體的相似性和類別。最常見的是資料分析中的相關分析,資料探勘中的分類和聚類演算法,如K最近鄰(KNN)和K均值(K-Means)。當然衡量個體差異的方法有很多,最近查閱了相關的資料,這裡整理羅列下。

機器學習_歐式距離餘弦相似的對比

【1】因為沒有示例自己去操作什麼情況下用餘弦距離,所以有點不透徹,用到再來複習 【2】兩者主要差距          1.餘弦距離更加註重在兩個方向上的差異大小,對絕對的數值不敏感,更多的用於使用使用者對內容評分來區分興趣的相似度和差異,同時修正了使用者間可能存在的度量標準

資料探勘機器學習中距離相似公式

距離:閔可夫斯基距離公式,也叫 Lp 範數: 當p=1時,變為曼哈頓距離公式,也即 L1範數: 當p=2時,變為歐式距離公式,也即 L2範數: 衡量空間中點的絕對距離,對絕對數值敏感。 相似性: 餘弦相似: 皮爾遜相關係數,即相關分析中的相關係數,對兩個個體的向

海量資料相似計算之simhash海明距離

通過 採集系統 我們採集了大量文字資料,但是文字中有很多重複資料影響我們對於結果的分析。分析前我們需要對這些資料去除重複,如何選擇和設計文字的去重演算法?常見的有餘弦夾角演算法、歐式距離、Jaccard相似度、最長公共子串、編輯距離等。這些演算法對於待比較的文字資料不多時還比較好用,如果我們的爬蟲每天採集的

numpy歐氏距離餘弦相似

兩者相同的地方,就是在機器學習中都可以用來計算相似度,但是兩者的含義有很大差別,以我的理解就是: 前者是看成座標系中兩個點,來計算兩點之間的距離; 後者是看成座標系中兩個向量,來計算兩向量之間的夾角。 前者因為是點,所以一般指位置上的差別,即距離; 後者因為是

歐氏距離餘弦相似

兩者相同的地方,就是在機器學習中都可以用來計算相似度,但是兩者的含義有很大差別,以我的理解就是: 前者是看成座標系中兩個點,來計算兩點之間的距離; 後者是看成座標系中兩個向量,來計算兩向量之間的夾角。 前者因為是點,所以一般指位置上的差別,即距離; 後者因為是向量,所以