让K(x,z)为(x_transpose * z + p_constant)** 2.
我想计算n * n矩阵K,其中K_ij = k(X_i,X_j)
X是n×d矩阵,X_i是X的第i行的转置。
有没有人知道快速计算方法?我正在使用python。
等一下,K只是XX ^ T?
答案 0 :(得分:0)
import numpy as np
def K(x,z, p_constant=1.0):
return (np.dot(x.T,z)+p_constant)**2
#...
x=np.arange(100).reshape((10,10))
np.fromfunction(np.vectorize(lambda i,j: K(x[i],x[:,j])), x.shape, dtype=x.dtype)
我遇到了一些麻烦
答案 1 :(得分:0)
是的,问题“如何计算线性核矩阵”的答案是
np.dot(X , np.transpose(X).