我正在努力在 GP 中生成一个内核矩阵。这是我的功能:
def CovMatrix_scale(x, var, Type):
" result matrix is n * n "
n = x.shape[0]
result = np.zeros((n, n), dtype=tf.float64)
" determine kernel function "
cov_function = CovFunction(Type)
" x is a n * d matrix "
for i in range(n):
for j in range(i):
result[i, j] = result[j, i] = cov_function(x[i, :], x[j, :], var)
result[i, i] = var
return np.matrix(result)
cov_function是我使用的核函数,例如 se、exp 或 matern。你可以看到我仍然使用for循环,我知道向量化更有效但我不知道如何向量化它。所以我想请教一些建议。