问题描述
我正在尝试使用以下超级优先级配置PyMC3多项式内核;
with pm.Model() as self.model:
EPSILON = 0.1
l = pm.Gamma("l",alpha=2,beta=1)
offset = pm.Gamma("offset",beta=1)
nu = pm.HalfCauchy("nu",beta=1)
d = pm.Halfnormal("d",sd=5)
cov = nu ** 2 * pm.gp.cov.polynomial(X.shape[1],l,d,offset)
self.gp = pm.gp.Marginal(cov_func=cov)
sigma = pm.HalfCauchy("sigma",beta=1)
y_ = self.gp.marginal_likelihood("y",X=X,y=Y,noise=sigma)
self. map_trace = [pm.find_MAP()]
但是,我遇到了如下的 Cholesky分解失败错误;
LinAlgError Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/theano/compile/function_module.py in __call__(self,*args,**kwargs)
902 outputs =\
--> 903 self.fn() if output_subset is None else\
904 self.fn(output_subset=output_subset)
24 frames
LinAlgError: 7-th leading minor of the array is not positive definite
During handling of the above exception,another exception occurred:
LinAlgError Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/scipy/linalg/decomp_cholesky.py in _cholesky(a,lower,overwrite_a,clean,check_finite)
38 if info > 0:
39 raise LinAlgError("%d-th leading minor of the array is not positive "
---> 40 "definite" % info)
41 if info < 0:
42 raise ValueError('LAPACK reported an illegal value in {}-th argument'
LinAlgError: 7-th leading minor of the array is not positive definite
Apply node that caused the error: Cholesky{lower=True,destructive=False,on_error='raise'}(Elemwise{Composite{((sqr(i0) * i1) + i2 + i3)}}[(0,0)].0)
Toposort index: 11
Inputs types: [TensorType(float64,matrix)]
Inputs shapes: [(40,40)]
Inputs strides: [(320,8)]
Inputs values: ['not shown']
Outputs clients: [[Solve{A_structure='lower_triangular',lower=False,overwrite_A=False,overwrite_b=False}(Cholesky{lower=True,on_error='raise'}.0,TensorConstant{[ 69.79 .. 472.83]}),Solve{A_structure='lower_triangular',Elemwise{Composite{(sqr(i0) * i1)}}[(0,0)].0)]]
更改超级优先级似乎会更改错误,例如将显示第x个其他领先的未成年人,而不是第7个领先的未成年人。但是我不确定这是由优先级较高还是其他原因引起的。
欢迎任何想法:)
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)