Arccosine内核是否允许不同的深度级别?

问题描述

我已经阅读了ArcCosine内核的源代码,似乎由于Cho和Saul(2009)定义了度为d的反余弦内核,因此不允许实现不同的深度级别和深度l使用递归。

我正在将一个gpflow.kernels.ArcCosine(order=0)之类的天真ArcCosine内核应用于具有200/300维的数据集,这会导致以下错误

InvalidArgumentError:  Input matrix is not invertible.
     [[node triangular_solve/MatrixTriangularsolve (defined at /Users/.pyenv/versions/3.7.3/lib/python3.7/site-packages/gpflow/conditionals/util.py:82) ]] [Op:__forward_training_loss_425642]
Errors may have originated from an input operation.
Input Source operations connected to node triangular_solve/MatrixTriangularsolve:
 transpose (defined at /Users/.pyenv/versions/3.7.3/lib/python3.7/site-packages/gpflow/conditionals/util.py:57) 
 broadcastTo (defined at /Users/.pyenv/versions/3.7.3/lib/python3.7/site-packages/gpflow/conditionals/util.py:81)
Function call stack:
training_loss

我想知道内核的单一深度是否会导致我的模型出现问题,因为AutoGP(Krauth和Bonilla,2017年)设法将此内核用于高维数据。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...