我想用python以儘可能最快的方式計算一個核心矩陣: 輸入是矩陣X = nsamples,nfeatues 並且輸出應該是一個對稱矩陣D = nsamples,nsapmles快速核心矩陣計算python
我現在正在使用的方法,即使基於迭代器似乎是非常緩慢做的循環...任何人都可以想到更好的東西?
感謝
我的方法,到目前爲止是:
from itertools import combinations
def computeKernel(X,dlambda):
nsamples=X.shape[0]
D=numpy.zeros((nsamples,nsamples))
for el in combinations(range(nsamples),2):
i,j=el
D[el]=quadraticChiDist(X[i,:],X[j,:])
D=D+D.T
D=numpy.exp(-dlambda*D/255)
D=numpy.eye(D)+D
return D
其中quadraticChiDist是
也許這可能有所幫助:http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.chi.html – Benjamin