这是我的代码:
> toy=cbind(rnorm(50), rnorm(50))
> K=kernelMatrix(x=toy, rbfdot())
> min(eigen(K)$values)
正如预期的那样,答案是肯定的。但是改变内核函数会导致:
> K=kernelMatrix(x=toy, vanilladot()) ; min(eigen(K)$values)
[1] -3.528788e-15
如果我理解正确,这必须是正或零(线性核的正定性),这很小,可能是由于浮点数的计算问题,应该为零。我能做些什么来克服这个问题?我需要这个矩阵对于脚本的其余部分是半正定的(Cholesky 分解和二次规划)