机器学习面试必知:SVM回归的泛化

39 篇文章 3 订阅
23 篇文章 1 订阅

机器学习面试必知:SVM和LR的关系 一文中,我们可以看到SVM相比于LR的优势在于能产生稀疏解。现在把SVM应用到回归问题中,同时保持它的稀疏性。在简单的线性回归模型中,我们最小化一个正则化的误差函数 1 2 ∑ n = 1 N ( y n − t n ) 2 + λ 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}\sum_{n=1}^{N}(y_{n}-t_{n})^{2}+\frac{\lambda}{2}||w||^{2} 21n=1N(yntn)2+2λw2为了得到稀疏解,二次误差函数被替换成一个 ϵ \epsilon ϵ不敏感误差函数。如果预测 y ( x ) y(x) y(x)与目标 t t t之间的差的绝对值小于 ϵ \epsilon ϵ,那么这个误差函数给出的误差为0。 E ϵ ( y ( x ) − t ) = { 0 , i f    ∣ y ( x ) − t ∣ &lt; ϵ ∣ y ( x ) − t ∣ − ϵ ,   o t h e r w i s e E_{\epsilon }(y(x)-t)= \left\{\begin{matrix} 0,\quad \quad if \ \ |y(x)-t|&lt;\epsilon\\ |y(x)-t|-\epsilon,\ otherwise \end{matrix}\right. Eϵ(y(x)t)={0,if  y(x)t<ϵy(x)tϵ, otherwise于是我们最小正则化的误差函数 C ∑ n = 1 N E ϵ ( y ( x n ) − t n ) + 1 2 ∣ ∣ w ∣ ∣ 2 C\sum_{n=1}^{N} E_{\epsilon }(y(x_{n})-t_{n})+\frac{1}{2}||w||^{2} Cn=1NEϵ(y(xn)tn)+21w2为了有更好的泛化能力,我们引入松弛变量 ξ n ≥ 0 \xi_{n}\geq0 ξn0 ξ n ~ ≥ 0 \widetilde{\xi_{n}}\geq0 ξn 0分别代表上界和下界。
在这里插入图片描述
从图中可以看到, ξ n &gt; 0 \xi_{n}&gt;0 ξn>0对应的是 t n &gt; y ( x n ) + ϵ t_{n}&gt;y(x_{n})+\epsilon tn>y(xn)+ϵ数据点, ξ n ~ &gt; 0 \widetilde{\xi_{n}}&gt;0 ξn >0对应的是 t n &lt; y ( x n ) − ϵ t_{n}&lt;y(x_{n})-\epsilon tn<y(xn)ϵ数据点,而位于管道内的点 y n − ϵ ≤ t n ≤ y n + ϵ y_{n}-\epsilon\leq t_{n}\leq y_{n}+\epsilon ynϵtnyn+ϵ所以 t n ≤ y ( x n ) + ϵ + ξ n t_{n}\leq y(x_{n})+\epsilon+\xi_{n} tny(xn)+ϵ+ξn t n ≥ y ( x n ) − ϵ − ξ n ~ t_{n}\geq y(x_{n})-\epsilon-\widetilde{\xi_{n}} tny(xn)ϵξn 相应地支持向量回归的误差函数可以写成 C ∑ n = 1 N ( ξ n + ξ n ~ ) + 1 2 ∣ ∣ w ∣ ∣ 2 C\sum_{n=1}^{N}(\xi_{n}+\widetilde{\xi_{n}})+\frac{1}{2}||w||^{2} Cn=1N(ξn+ξn )+21w2我们引入拉格朗日乘数 a n ≥ 0 a_{n}\geq0 an0 a n ~ ≥ 0 \widetilde{a_{n}}\geq0 an 0 u n ≥ 0 u_{n}\geq0 un0 u n ~ ≥ 0 \widetilde{u_{n}}\geq0 un 0,然后最优化拉格朗日函数 L = C ∑ n = 1 N ( ξ n + ξ n ~ ) + 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ n = 1 N u n ξ n − ∑ n = 1 N u n ~ ξ n ~ − ∑ n = 1 N a n ( y ( x n ) + ϵ + ξ n − t n ) − ∑ n = 1 N a n ~ ( − y ( x n ) + ϵ + ξ n ~ + t n ) L=C\sum_{n=1}^{N}(\xi_{n}+\widetilde{\xi_{n}})+\frac{1}{2}||w||^{2}-\sum_{n=1}^{N}u_{n}\xi_{n}-\sum_{n=1}^{N}\widetilde{u_{n}}\widetilde{\xi_{n}}-\sum_{n=1}^{N}a_{n}(y(x_{n})+\epsilon+\xi_{n}-t_{n})-\sum_{n=1}^{N}\widetilde{a_{n}}(-y(x_{n})+\epsilon+\widetilde{\xi_{n}}+t_{n}) L=Cn=1N(ξn+ξn )+21w2n=1Nunξnn=1Nun ξn n=1Nan(y(xn)+ϵ+ξntn)n=1Nan (y(xn)+ϵ+ξn +tn) ∂ L ∂ w = 0 ⇒ w = ∑ n = 1 N ( a n − a n ~ ) ϕ ( x n ) \frac{\partial L}{\partial w}=0\Rightarrow w=\sum_{n=1}^{N}(a_{n}-\widetilde{a_{n}})\phi(x_{n}) wL=0w=n=1N(anan )ϕ(xn) ∂ L ∂ b = 0 ⇒ 0 = ∑ n = 1 N ( a n − a n ~ ) \frac{\partial L}{\partial b}=0\Rightarrow 0=\sum_{n=1}^{N}(a_{n}-\widetilde{a_{n}}) bL=00=n=1N(anan ) ∂ L ∂ ξ n = 0 ⇒ a n + u n = C \frac{\partial L}{\partial \xi_{n}}=0\Rightarrow a_{n}+u_{n}=C ξnL=0an+un=C ∂ L ∂ ξ n ~ = 0 ⇒ a n ~ + u n ~ = C \frac{\partial L}{\partial \widetilde{\xi_{n}}}=0\Rightarrow \widetilde{a_{n}}+\widetilde{u_{n}}=C ξn L=0an +un =C把这些结果代入到L中得到 L ~ ( a , a ~ ) = − 1 2 ∑ n = 1 N ∑ m = 1 N ( a n − a n ~ ) ( a m − a m ~ ) K ( x n , x m ) − ϵ ∑ n = 1 N ( a n + a n ~ ) + ∑ n = 1 N ( a n − a n ~ ) t n \widetilde{L}(a,\widetilde{a})=-\frac{1}{2}\sum_{n=1}^{N}\sum_{m=1}^{N}(a_{n}-\widetilde{a_{n}})(a_{m}-\widetilde{a_{m}})K(x_{n},x_{m})-\epsilon\sum_{n=1}^{N}(a_{n}+\widetilde{a_{n}})+\sum_{n=1}^{N}(a_{n}-\widetilde{a_{n}})t_{n} L (a,a )=21n=1Nm=1N(anan )(amam )K(xn,xm)ϵn=1N(an+an )+n=1N(anan )tn同样地我们得到了限制条件 0 ≤ a n ≤ C 0\leq a_{n}\leq C 0anC 0 ≤ a n ~ ≤ C 0\leq \widetilde{a_{n}}\leq C 0an C对应的KKT条件等于零的情况如下 a n ( y ( x n ) + ϵ + ξ n − t n ) = 0 a_{n}(y(x_{n})+\epsilon+\xi_{n}-t_{n})=0 an(y(xn)+ϵ+ξntn)=0 a n ~ ( − y ( x n ) + ϵ + ξ n ~ + t n ) = 0 \widetilde{a_{n}}(-y(x_{n})+\epsilon+\widetilde{\xi_{n}}+t_{n})=0 an (y(xn)+ϵ+ξn +tn)=0 ( C − a n ) ξ n = 0 (C-a_{n})\xi_{n}=0 (Can)ξn=0 ( C − a n ~ ) ξ n ~ = 0 (C-\widetilde{a_{n}})\widetilde{\xi_{n}}=0 (Can )ξn =0分析上述的等式我们可以得到些有用的结果。如果 y ( x n ) + ϵ + ξ n − t n = 0 y(x_{n})+\epsilon+\xi_{n}-t_{n}=0 y(xn)+ϵ+ξntn=0,那么 a n ≠ 0 a_{n}\neq0 an̸=0,进一步的,如果 a n = C a_{n}=C an=C也就是 ξ n &gt; 0 \xi_{n}&gt;0 ξn>0此时数据点位于上边界的上方,如果 ξ n = 0 \xi_{n}=0 ξn=0那么数据点位于管道的上边界上。同理可以分析 − y ( x n ) + ϵ + ξ n ~ + t n = 0 -y(x_{n})+\epsilon+\widetilde{\xi_{n}}+t_{n}=0 y(xn)+ϵ+ξn +tn=0
我们已经得到了 y ( x ) = ∑ n = 1 N ( a n − a n ~ ) K ( x n , x ) + b y(x)=\sum_{n=1}^{N}(a_{n}-\widetilde{a_{n}})K(x_{n},x)+b y(x)=n=1N(anan )K(xn,x)+b现在寻找支持向量也就是有贡献的数据点即 a n ≠ 0 a_{n}\neq0 an̸=0或者 a n ~ ≠ 0 \widetilde{a_{n}}\neq0 an ̸=0的点。这些数据点位于管道边界上或者管道外部,管道内部的点有 a n = a n ~ = 0 a_{n}=\widetilde{a_{n}}=0 an=an =0。更一般地,我们使用前文的分析用满足 0 &lt; a n &lt; C 0&lt;a_{n}&lt;C 0<an<C,此时 ξ n = 0 \xi_{n}=0 ξn=0, y ( x n ) + b + ϵ + ξ n − t n = 0 y(x_{n})+b+\epsilon+\xi_{n}-t_{n}=0 y(xn)+b+ϵ+ξntn=0,那么 b = − w T ϕ ( x n ) − ϵ + t n b=-w^{T}\phi(x_{n})-\epsilon+t_{n} b=wTϕ(xn)ϵ+tn或者用 0 &lt; a n ~ &lt; C 0&lt;\widetilde{a_{n}}&lt;C 0<an <C的数据点去求解b。当然更好的方法对所有符合条件的情况取平均。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
国信证券通过机器学习技术,研究了SVM(支持向量机)算法在选股方面的应用,以及Adaboost(自适应增强)算法在股票预测中的增强效果。 首先,SVM算法在选股中发挥了重要作用。SVM是一种监督学习算法,通过将样本映射到高维空间来构建一个最优的超平面,从而实现对未知样本的分类。在选股方面,SVM可以使用历史股票数据作为输入,通过对不同特征的权重进行学习和调整,找到最佳投资组合。通过对大量数据进行分析和训练,SVM算法能够提供准确的选股建议,并在实际投资中取得不错的效果。 其次,Adaboost算法在股票预测中的增强效果显著。Adaboost是一种集成学习算法,它通过串行训练多个弱分类器,并根据前一个分类器的错误率来调整下一个分类器的权重。这样,每个分类器都专注于之前分类器未正确分类的数据,从而提高整体预测的准确性。在股票预测中,Adaboost可以通过选择适当的特征和调整分类器的权重,对市场走势进行有效的预测。通过多层次的学习和调整,Adaboost能够提高选股策略的稳定性和盈利能力。 综上所述,国信证券利用机器学习中的SVM算法和Adaboost算法,实现了在选股和股票预测中的研究和应用。这些算法通过对数据的分析和学习,为投资者提供了准确的选股策略和市场走势预测,有望为投资者带来更好的投资回报。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值