機器學習之距離計算

2021-08-09 11:49:40 字數 1475 閱讀 9233

神經網路的輸入模式向量的相似性測量可用向量之間的距離來衡量。常用的方法有歐氏距離法和余弦法兩種。

(1)歐式距離法

設x,xi為兩向量,其間的歐式距離

d越小,x與xi越接近,兩者相似,當d=0,時,x=xi,以d=t(常數)為依據,可對輸入向量模式進行聚類分析:

(2)向量的歐式距離計算:

# coding=utf-8

from numpy import *

from numpy import linalg

vector1 = mat([1, 2, 3])

vector2 = mat([4, 5, 6])

print sqrt((vector1 - vector2) * (vector1 - vector2).t) # 手動

print linalg.norm(vector1 - vector2) # 庫函式

#結果分別為:[[ 5.19615242]] ,5.19615242271

(3)矩陣的歐式距離計算:第乙個矩陣為(m,n),第二個矩陣為:(k,p)

要想計算矩陣的歐式距離得到矩陣為(m,p)則n=k

from numpy import *

from numpy import linalg

mata = mat([[1, 0]])

matb = mat([[1,3,6], [0, 2,7]])

def disteclud( mata, matb):

ma, na = shape(mata);

mb, nb = shape(matb);

rtnmat = zeros((ma, nb))

for i in xrange(ma):

for j in xrange(nb):

rtnmat[i, j] = linalg.norm(mata[i, :] - matb[:, j].t)

return rtnmat

print disteclud(mata,matb)

#結果為:[[ 0. 2.82842712 8.60232527]]

(4)向量和矩陣的區別矩陣是由m×n個數組成的乙個m行n列的矩形**.特別地,乙個m×1矩陣也稱為乙個m維列向量;而乙個1×n矩陣 ,也稱為乙個n維行向量.

依上定義可以看出:向量可以用矩陣表示,且有時特殊矩陣就是向量.

簡言之就是矩陣包含向量.

機器學習距離計算總結:

機器學習中常用的距離計算方法

我們已經知道了如何通過樣本間的距離來評估簇間的距離,本節只剩下最後乙個問題了,如何計算樣本間的距離,假設樣本是n維,常用的距離計算方法有 1 尤拉距離 euclidean distance 2 平方歐式距離 squared euclidean distance 3 曼哈頓距離 manhattan d...

機器學習中的距離

也稱歐幾里得距離,在乙個n維度的空間裡,求兩個點的距離,這個距離肯定是乙個大於等於零的數字,那麼這個距離需要用兩個點在各自維度上的座標相減,平方後加和再開方。就是歐式距離的平方 相比歐氏距離要簡單得多,曼哈頓距離只要把兩個點座標的x座標相減取絕對值,y座標相減取絕對值,再加和。也叫做余弦相似度,是用...

機器學習 距離公式分析

目錄機器學習任務中,常用的距離公式有以下幾種 歐式距離 又稱歐幾里得距離 曼哈頓距離 又稱城市街區距離 切比雪夫距離 閔氏距離 又稱閔可夫斯基距離 標準化歐式距離 余弦距離 公式 d sqrt 其中 a,b 為兩個 n 維向量 理解 歐式距離在二維空間中代表某個點到另乙個點的直線距離。擴充套件到 n...