神經網路的輸入模式向量的相似性測量可用向量之間的距離來衡量。常用的方法有歐氏距離法和余弦法兩種。
(1)歐式距離法
設x,xi為兩向量,其間的歐式距離
d越小,x與xi越接近,兩者相似,當d=0,時,x=xi,以d=t(常數)為依據,可對輸入向量模式進行聚類分析:
(2)向量的歐式距離計算:
(3)矩陣的歐式距離計算:第乙個矩陣為(m,n),第二個矩陣為:(k,p)# 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
要想計算矩陣的歐式距離得到矩陣為(m,p)則n=k
(4)向量和矩陣的區別矩陣是由m×n個數組成的乙個m行n列的矩形**.特別地,乙個m×1矩陣也稱為乙個m維列向量;而乙個1×n矩陣 ,也稱為乙個n維行向量.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]]
依上定義可以看出:向量可以用矩陣表示,且有時特殊矩陣就是向量.
簡言之就是矩陣包含向量.
機器學習距離計算總結:
機器學習中常用的距離計算方法
我們已經知道了如何通過樣本間的距離來評估簇間的距離,本節只剩下最後乙個問題了,如何計算樣本間的距離,假設樣本是n維,常用的距離計算方法有 1 尤拉距離 euclidean distance 2 平方歐式距離 squared euclidean distance 3 曼哈頓距離 manhattan d...
機器學習中的距離
也稱歐幾里得距離,在乙個n維度的空間裡,求兩個點的距離,這個距離肯定是乙個大於等於零的數字,那麼這個距離需要用兩個點在各自維度上的座標相減,平方後加和再開方。就是歐式距離的平方 相比歐氏距離要簡單得多,曼哈頓距離只要把兩個點座標的x座標相減取絕對值,y座標相減取絕對值,再加和。也叫做余弦相似度,是用...
機器學習 距離公式分析
目錄機器學習任務中,常用的距離公式有以下幾種 歐式距離 又稱歐幾里得距離 曼哈頓距離 又稱城市街區距離 切比雪夫距離 閔氏距離 又稱閔可夫斯基距離 標準化歐式距離 余弦距離 公式 d sqrt 其中 a,b 為兩個 n 維向量 理解 歐式距離在二維空間中代表某個點到另乙個點的直線距離。擴充套件到 n...