快速计算内核矩阵的方法,python

时间:2016-03-31 05:04:00

标签: python numpy matrix

让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?

2 个答案:

答案 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)

np.fromfunction's misleading documentation.

我遇到了一些麻烦

答案 1 :(得分:0)

是的,问题“如何计算线性核矩阵”的答案是

np.dot(X , np.transpose(X).