ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

NLP学习(二)——支持向量机(SVM)

2022-07-25 04:02:08  阅读:174  来源: 互联网

标签:NLP phi xi frac limits sum SVM alpha 向量


Support Vector Machine(SVM)

对下图中的数据点进行分类:

要解决的问题

  • 什么样的决策边界最好?
  • 特征数据本身若很难分应怎么处理?
  • 计算复杂度如何?

决策边界

若将数据点比喻为地雷,则决策边界为选出的离雷区最远的(雷区就是边界上的点,要large margin)

距离的计算


数据标签定义

数据集:\((X_{1},Y_{1})(X_{2},Y_{2})...(X_{n},Y_{n})\)
Y为样本的类别:当X为正例时Y=+1,当X为负例时Y=-1
决策方程

\[y(x)=w^{T}\phi(x)+b => \begin{cases}y(x_{i})>0=>y_{i}=+1\\y(x_{i})<0=>y_{i}=-1\end{cases}=>y_{i}·y(x_{i})>0 \]

其中\(\phi(x)\)为数据点由低维到高维的变换函数

优化的目标

通俗的解释就是找到一条线使得离该线最近的点(雷区)能够最远
将点到直线的距离化简得:

\[y_{i}·(w^{T}·\phi(x_{i})+b)\over||w|| \]

由于\(y_{i}·y(x_{i})>0\)所以去掉绝对值后原式依然成立

目标函数

放缩变换:对于决策方程(w,b)可以通过放缩使\(|Y|\geq1=>y_{i}·(w^{T}·\phi(x_{i})+b)\geq1\)
(为使其易于化简,认为其恒大于1)
优化目标
由于\(y_{i}·(w^{T}·\phi(x_{i})+b)\geq1\),只需要考虑\({\underset {w,b} { \operatorname {arg\,max} } \, \left(1\over||w||\right)}\)
当前目标:\({\underset {w,b} { \operatorname {max} } \, \left(1\over||w||\right)}\),约束条件:\(y_{i}·(w^{T}·\phi(x_{i})+b)\geq1\)
常规套路:将求解极大值问题转换成求解极小值问题\(=>{\underset {w,b} { \operatorname {min} } \, \left(w^{2}\over2\right)}\)(w为向量)
求解方法:拉格朗日乘子法

拉格朗日乘子法

带约束的优化问题

原式转换

我们的式子
(设法用a表示w和b)

SVM求解

  • 分别对w和b求偏导,分别得到两个条件(由于对偶性质)
  • 对w求偏导:
  • 对b求偏导:
  • 带入原始:

    *继续对a求极大值:
    条件:
    *极大值转换成求极小值:
    条件:

SVM求解实例

数据:三个点,其中正例X1(3,3),X2(4,3),负例X3(1,1)
求解
约束条件:\(\alpha_{1}+\alpha_{2}-\alpha_{3}=0\\\alpha_{i}\geq0,i=1,2,3\)

将数据代入原式
由于:\(\alpha_{1}+\alpha_{2}=\alpha_{3} 化简可得:![](https://www.icode9.com/i/l/?n=22&i=blog/2917691/202207/2917691-20220725015735161-1517621231.png) 分别对\)\alpha_{1}\(和\)\alpha_{2}$求偏导(约束条件 \(\alpha_{i}\geq0,i=1,2,3\)),偏导等于0可得:
\(\alpha_{1}=1.5\\\alpha_{2}=-1\) 不满足约束条件
\(\alpha_{1}=0\\\alpha_{2}=-2/13\) 不满足约束条件
\(\alpha_{1}=0.25\\\alpha_{2}=0\) 满足约束条件
最小值在(0.25,0,0.25)处取得
将\(\alpha\)结果带入求解

\[w=\sum\limits_{i=1}^n\alpha_{i}y_{i}\phi(x_{n})\\ w=\frac{1}{4}*1*(3,3)+0*1*(4,3)+\frac{1}{4}*-1*(1,1)=(\frac{1}{2},\frac{1}{2})\\ b=y_{i}-\sum\limits_{i=1}^{n}\alpha_{i}y_{i}(x_{i}x_{j}=1-(\frac{1}{4}*1*18+\frac{1}{4}*(-1)*6)=-2 \]

平面方程为:\(0.5x_{1}+0.5x_{2}-2=0\)

支持向量

即真正发挥作用的数据点,即\(\alpha\)不为0的点(处于雷区的点)

soft-margin

软间隔:有时候数据中会有一些噪音点(干扰点),如果考虑的话决策边界的效果会变差

为了解决该问题,引入松弛因子\(xi_{i}\):

\[y_{i}(w·x_{i}+b)\geq1-\xi_{i} \]

新的目标函数

\[min\frac{1}{2}||w||^{2}+C\sum\limits_{i=1}^{n}\xi_{i} \]

C是一个需指定的参数
当C趋近于很大时:意味着分类严格不能有误
当C趋近于很小时:意味着可以有更大的错误容纳
因为要求极小值,当C趋于很大时,只有\(\xi_{i}\)很小时才能满足需要;当C趋于很小时,即使\(\xi_{i}\)较大也可容易地找到极小值

拉格朗日乘子法

引入松弛因子后公式为:

\[L(w,b,\xi,\alpha,\mu)=\frac{1}{2}||w||^{2}+C\sum\limits_{i}^{n}\xi_{i}-\sum\limits_{i}^{n}\alpha_{i}(y_{i}(w·x_{i}+b)-1+\xi_{i})-\sum\limits_{i}^{n}\mu_{i}\xi_{i}\\ w=\sum\limits_{i}^{n}\alpha_{i}y_{i}\phi(x_{n}) \]

约束:

\[0=\sum\limits_{i}^{n}\alpha_{i}y_{i}\\ C-\alpha_{i}-\mu_{i}=0\\ \alpha_{i}\geq0 \mu_{i}\geq0 \]

解法与先前相同

低维不可分问题

核变换

当低维不可分的时候,映射至高维后是否可分?

目标:找到一种变换函数\(\phi(x)\),从而实现将数据由低维向高维映射

高斯核函数

公式:


尽量不要尝试自己开发新的核函数:-(

reference

https://www.bilibili.com/video/BV1dZ4y1b7in?p=129&share_source=copy_web&vd_source=bc572b96767067a4ac4c1a2d53fc8d39

标签:NLP,phi,xi,frac,limits,sum,SVM,alpha,向量
来源: https://www.cnblogs.com/LogicG/p/16516073.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有