数据集距离矩阵numpy求法

数据集距离矩阵numpy求法

公式

∵ D i j = ( x i − x j ) ( x i − x j ) T = r i − 2 x i x j T + r j        ( r i = ∑ j x i j 2 ) ∴ D = r − 2 X X T + r T \begin{aligned} \because D_{ij}&=(x_i-x_j)(x_i-x_j)^T\\ &=r_i-2x_ix_j^T+r_j\;\;\;(r_i=\sum\limits_jx_{ij}^2)\\ \therefore D&=r-2XX^T+r^T \end{aligned} DijD=(xixj)(xixj)T=ri2xixjT+rj(ri=jxij2)=r2XXT+rT

代码

def pdist(X):
	sum_X = np.sum(np.square(X),1)
	D = np.add(np.add(-2*np.dot(X,X.T),sum_X).T,sum_X)
	return D

猜你喜欢

转载自blog.csdn.net/qq_39573785/article/details/114130700