核岭回归 Kernel Ridge Regression

转自:http://www.bubuko.com/infodetail-781832.html

Kernel Ridge Regression

上次介绍的表示定理告诉我们,如果我们要处理的是有L2的正则项的线性模型,其最优解是数据zn的线性组合。我们可以将这样的线性模型变成Kernel的形式。 
技术分享

既然我们知道这样带有L2-Regularizer的线性回归模型的最佳解的形式,那么我们就可以将这个最佳解代入进原始的ridge regression中,用求解最佳的β来代替求解最佳的w。 
技术分享 
我们将w是z的线性组合这个条件带进式子中,得到如下的式子,再将其转换成矩阵相乘的表示形式。 
技术分享

Kernel Ridge Regression的求解

上面我们得到了Kernel Ridge Regression的损失函数,要求解这样的一个无条件的最优化问题,就是对这个损失函数Eaug(β)取梯度: 
技术分享 
令▽Eaug(β)=0,就是要将(λI+K)β-y=0,这样我们得到β的解。那么(λI+K)是不是一定可逆呢,我们知道核矩阵K是半正定的,所以这个(λI+K)的逆一定是存在的。 
技术分享 
这里的时间复杂度大概是O(N^3),而且注意到矩阵(λI+K)里面的元素大部分都不是0,所以如果求解一个很大的矩阵的逆是一个很困难的问题。

Linear Regression和Kernel Ridge Regression的比较

技术分享 
Linear Regression的缺点是比较受限制,但在计算的复杂度方面,如果当数据量N比维度d大很多,线性回归的计算是比较高效的。 
Kernel Ridge Regression由于使用了Kernel trick,比较灵活,适合做复杂的拟合。这种方法我们发现,计算的复杂程度都是和数据量有关的,如果数据量很大的时候,不适合使用这个方法。

所以,线性和核方法的差别在于计算效率和针对复杂问题灵活性的权衡和折中。


Support Vector Regression

在之前的介绍中,我们使用linear regression来作分类的问题,现在使用kernel ridge regression也可以来作分类。 
我们把这种kernel ridge regression for classification的情况也成为最小二乘SVM(least-squares SVM, LSSVM)。 
技术分享
我们从上图对比一下SVM和LSSVM的分界效果,我们会发现,虽然这两幅图的分类边界效果是差不多的,但是其标注的支持向量的数量却相差很大,在LSSVM差不多每一个数据都是支持向量,为什么会这样呢? 
我们在Kernel Ridge Regression中计算的β的结果,大部分都不是0,所以这种方式的支持向量的数量很多。这样在预测的时候,就会花费很多的时间。 
而标准的SVM中,系数α是稀疏的,而这里的β是很稠密的。

Tube Regression

我们现在假设有一个中立区Tube,数据在这个区域中,我们不将其计入误差函数,而只将在这个区域外的数据的距离计入误差函数。 
技术分享 
损失函数定义如下: 
技术分享 
我们对比一下Tube Regreesion和Squared Regression误差函数的曲线,我们可以看到在误差比较小的情况下,两种误差度量是差不多的,而当误差比较大的时候,squared error就会增长的很快,这说明squared error比较容易受到噪声的影响。 
技术分享 
接下来,我们使用L2-regularized tube regression来得到稀疏的β。

L2-Regularized Tube Regression

技术分享 
由于含有Regularizer的Tube Regression中含有max函数,而这个函数是不能微分的,所以我们想要模仿SVM中的求解技巧来解这个问题。

我们对比SVM,将w中的常数项b从中独立出来得到要变换的式子: 
技术分享 
我们回想一下,在SVM中我们引入了一个新的变量ξn,这个变量记录了对于错误数据的惩罚,所以我们用ξn来代替max,放到目标函数中去: 
技术分享 
由于这里还有一个绝对值的运算,它也不是可微的运算,所以我们将其拆开成两个部分,并且设置了两个ξ变量,这样就把我们的条件变成了线性的,于是我们就可以使用二次规划来求解这个式子了: 
技术分享

上面我们得到了标准的Support Vector Regression,我们成为原始的SVR问题。 
技术分享 
相比于SVM,这里还多出一个可调节的变量ε。 
技术分享

Support Vector Regression的对偶问题

下面我们使用拉格朗日乘子来化简有条件的最优化问题,分别使用两个拉格朗日乘数α对应两个ξ: 
技术分享 
接下来,我们将待优化的目标函数和条件写成拉格朗日函数,然后对其中的变量做微分,再使用KKT条件来替换,和之前介绍SVM的过程是很相似的,下面只给出几个重要的结果: 
技术分享

我们通过对比对偶SVM和对偶SVR来阐述其实这些对偶问题是有迹可循的。 
技术分享

经过以上的步骤求解,我们希望得到最后的结果是稀疏的,那我们来看看什么时候β为0。 
当数据在tube中的时候,两个误差变量ξ都为0,那么由松弛条件(complementary slackness)得到两个α为0,这样最终得到的β为0,就可以保证支持向量的稀疏特点,只有在tube外和刚好在tube上的数据才是支持向量。

对Kernel模型的回顾

线性模型

在最初介绍的线性模型中,我们介绍了PLA算法、线性回归(带有正则项的称为Ridge Regression)、逻辑回归,这三个模型分别对应三种不同的误差函数。在最近的博文中我们又介绍了线性软间隔SVM,它也是解决线性的问题,它是通过二次规划来解决的。如果要解决回归的问题,我们还介绍了支持向量回归模型,它是通过tube的误差和二次规划来解决的。 
技术分享

Kernel模型

Kernel的模型我们介绍了SVM和SVR,它们都是使用二次规划来解决化简的对偶问题。我们还介绍了将线性回归变成kernel的方法,即使用表示定理来推导其kernel的形式,核逻辑回归也是用的大体类似的方法。我们还使用概率SVM先做SVM,然后再做逻辑回归进行微调。 
技术分享

针对这些模型,我们很少使用PLA、linear SVR,因为其效果不如另外三个线性模型好。而kernel ridge regression和kernel logistic regression也是不经常用的,因为其系数大都不是0,这样在预测的时候会花费很多无谓的计算。

### 回答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还可以通过优化算法的改进,如随机梯度下降等,来提高模型的训练速度和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值