sklearn浅析(六)——Kernel Ridge Regression

  Kernel Ridge Regression即使用核技巧的岭回归(L2正则线性回归),它的学习形式和SVR(support vector regression)相同,但是两者的损失函数不同:KRR使用的L2正则均方误差;SVR使用的是带L2正则的 ϵ -insensitive loss: max(0,|yhθ(x)|ϵ)
  KRR有近似形式的解,并且在中度规模的数据时及其有效率,由于KRR没有参数稀疏化的性能,因此速度上要慢于SVR(它的损失函数有利于得到稀疏化的解)。
  KRR的最小二乘解: β=(K+λI)1yw=βiXi ,这里的 K 是核函数。最小二乘解不适用于大规模数据。

Kernel Ridge Regression的使用

from sklearn.kernel_ridge import KernelRidge
KRR = KernelRidge()

Kernel Ridge Regression类的定义

class KernelRidge(BaseEstimator, RegressorMixin):
def __init__(self, alpha=1, kernel="linear", gamma=None, degree=3, coef0=1,
                 kernel_params=None):
  • alpha:float或者list(当y是多目标矩阵时),
  • kernel:str或者可调用对象,核的类型
    取值可以为:

    • linear:线性核,k(x,xi)=xxi

      • rbf:径向基函数, k(x,xi)=exp(xxi2δ2)
      • sigmoid:s型函数, k(x,xi)=tanh(η<x,xi>+θ)
      • poly或polynomial:多项式核函数, k(x,xi)=((xxi)+R)d
      • laplacian:拉普拉斯核函数, k(x,xi)=exp(xxiδ)
      • cosine:拉普拉斯核函数, k(x,xi)=<x,xi>xxi
      • chi2:卡方核函数, k(x,xi)=exp(γnk=1(xkyk)2(xk+yk))
      • additive_chi2:非指数形式卡方核函数, k(x,xi)=nk=1(xkyk)2(xk+yk)
        这些值定义在sklearn.metrics.pairwise中的一个PAIRWISE_KERNEL_FUNCTIONS常量中。
      • gamma:rbf,laplacian,poly,chi2,sigmoid核中的参数,使用其他核时无效。

      • degree:poly核中的参数d,使用其他核时无效。
      • coef0:poly和sigmoid核中的0参数的替代值,使用其他核时无效。
      • 核的适用场景见:kernel

        Kernel Ridge Regression类的fit()方法
        def fit(self, X, y=None, sample_weight=None):
            类型检查
            计算kernel输出的值
            调用_solve_cholesky_kernel求解参数
        fit()方法的返回值
        • self:KernelRidge实例对象。
        属性
        • dual_coef_:核空间对应的模型参数
        • X_fit_:训练数据,预测时也需要该值
  • 5
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Kernel Ridge Regression是一种非参数回归方法,它通过将数据映射到高维空间中,利用核函数对数据进行非线性变换,从而实现对非线性关系的建模。与传统的岭回归方法相比,Kernel Ridge Regression可以更好地处理非线性问题,并且具有更好的泛化能力。它在机器学习、模式识别、数据挖掘等领域中得到了广泛的应用。 ### 回答2: Kernel Ridge Regression(KRR)是一种解决回归问题的机器学习算法。它是Ridge Regression在核技巧上的扩展,使用核函数对特征进行转换,将数据从低维度非线性映射到高维度甚至是无限维度,从而实现非线性回归。 KRR的目标是最小化带有L2正则化的平方误差,其中正则化参数是可以调整的: \begin{aligned} \min_{f\in H} \ \frac{1}{n} \sum_{i=1}^{n} (y_i - f(x_i))^2 + \lambda \lVert f \rVert_{\mathcal H}^2 \\ \end{aligned} 其中,y是训练样本的target,f是模型的输出,x是训练样本的特征向量,H是希尔伯特空间,λ是正则化参数。 核函数是KRR的核心,在特征空间中定义距离,在计算数据点之间的内积时起到了重要的作用。常用的核函数有Radial-Basis Function(RBF)和Sigmoid核函数等,它们可以定义在不同的空间,从而实现对不同类型数据的适配。 应用KRR时需要进行模型的训练和预测。在训练时,需要选择合适的核函数和正则化参数,通过交叉验证等方式进行调参。在预测时,需要使用训练时得到的模型对测试数据进行预测,得到回归结果。 KRR具有许多优点,包括适用于非线性回归问题、可解释性好、容易调整参数等。但也存在一些缺点,如容易出现过拟合、计算量大等。此外,KRR还可以与其他机器学习算法(如支持向量回归、神经网络等)相结合,实现更加复杂的回归任务。 ### 回答3: Kernel Ridge Regression(KRR)是一种非线性回归技术,是在传统线性回归之上的扩展。其主要思想是将输入特征映射到高维空间,在此空间内进行线性回归,最后通过反映射回原始空间,得到非线性回归的结果。 在KRR中,使用的是核函数来把低维特征映射到高维空间。常用的核函数有径向基函数(RBF)、多项式函数和Sigmoid函数等。KRR的损失函数由两部分组成:第一部分是平方误差,即模型的预测值与真实值之间差异的平方,第二部分是系数的平方和。其本质是一种正则化方法,通过引入系数平方和来防止过拟合的发生。 在训练KRR模型时,需要确定核函数的类型和参数。核函数的类型可以通过交叉验证来确定,而参数则需要通过优化算法求解。最常用的求解方法是基于梯度下降的迭代算法。KRR还可以通过岭回归的思想来进一步改进,KRR中的正则化系数被称为核参数,可以通过交叉验证来选择最优的核参数。 KRR在许多领域都有广泛的应用,包括金融预测、文本分类、图像识别等。它能够解决许多与线性回归相关的问题,并能够通过改变核函数的类型和参数来适应特定的数据集。此外,KRR还可以通过优化算法的改进,如随机梯度下降等,来提高模型的训练速度和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值