【问题标题】:Is there any built in library for linear kernel in scikit learn like RBF, SE?scikit学习中是否有任何内置的线性内核库,如RBF,SE?
【发布时间】:2020-08-13 17:15:34
【问题描述】:

我想为数据集将线性核与 RBF 相乘,但找不到实现线性核的方法。我怎样才能在这里实现线性内核。 例如 RBF、SE 可以在 Scikit 学习中使用:

k2 = 2.0**2 * RBF(length_scale=100.0)  

k_exp = ExpSineSquared(length_scale=1.0, periodicity=1.0,
                       periodicity_bounds="fixed")

【问题讨论】:

    标签: scikit-learn kernel gaussian


    【解决方案1】:

    在 scikit-learn 中用于高斯过程的线性内核以 DotProduct kernel 的形式提供。根据 Rasmussen 和 Williams 的gaussian processes book(第 4.2.2 章),设置 sigma_0=0 给出齐次线性核,否则为非齐次线性核。在 scikit here 中有一个使用 DotProduct 内核的示例。在高斯过程的情况下,您不必将向量输入提供给 DotProduct,因为您将在调用 .fit(X,Y) 函数时提供它们。

    如果您希望两个向量的点积来检查它们的相似性,那么您可以使用linear kernel,它给出两个向量的点积(检查稀疏输入)。最后请注意,linear kernel 没有任何可选的噪声项,而DotProduct kernel 有。

    【讨论】:

    • 我也找到了这个 (scikit-learn.org/stable/modules/generated/…)。我应该在这里传递什么参数?
    • 我已经编辑了我的答案,因为我没有明确表示点积是用于高斯过程。从您上面给出的代码看来,您正在准备用于高斯过程的内核?
    猜你喜欢
    • 2015-01-22
    • 2012-09-28
    • 2016-04-12
    • 2014-03-15
    • 2013-11-29
    • 2020-10-14
    • 2017-12-19
    • 2017-09-17
    • 2020-11-29
    相关资源
    最近更新 更多