当前位置: 首页 > article >正文

机器学习6_支持向量机_算法流程

最大化:\theta (\alpha ,\beta )=\sum_{i=1}^{N}\alpha _i-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}y_i y_j\alpha _i\alpha _j\varphi (X_i)^T\varphi (X_j)

限制条件:

        (1)0\leq \alpha _i\leq C,(i=1\sim N)

        (2)\sum_{i=1}^{N}\alpha _iy_i=0,(i=1\sim N)

如何求解这个对偶问题,同时基于对偶问题给出支持向量机算法的统一流程。

\varphi (X_i)^T\varphi (X_j)=K(X_i,X_j) (核函数)

只要知道核函数,就可以求个这个最优化的对偶问题。

求解了这个对偶问题后,解出了 \alpha (i=1\sim N)

可以根据上面的式子 \omega =\sum_{i=1}^{N}\alpha _iy_i\varphi (x_i)

由于 \varphi (x) 不知道是否具有显示表达,所以 \omega 也不知道是否具有显示表达。

无须知道 \omega 的显示表达,也可以通过核函数 K(X_1,X_2)\Rightarrow\omega ^TX+b 的值 

如何求b

由于 \omega =\sum_{j=1}^{N}\alpha _jy_j\varphi (X_j)

则 \omega^T\varphi (X_i) =\sum_{j=1}^{N}\alpha _jy_j\varphi (X_j)^T\varphi (X_i)

                       =\sum_{j=1}^{N}\alpha _jy_jK(X_j,X_i)

\varphi (X_j)^T\varphi (X_i)=K(X_i,X_j)

\alpha _i[1+\delta _i-y_i\omega ^T\varphi (X_i)-y_ib]=0

\beta _i\delta _i=0 \Rightarrow (c-\alpha _i)\delta _i=0

如果对某个 i,\alpha _i\neq 0 且 \alpha _i\neq c ,则根据KKT条件,必有 \delta _i=0 ;

1+\delta _i-y_i\omega ^T\varphi(X_i) -y_ib=0

y_i\omega ^T\varphi(X_i)

\Uparrow

\mathbf{=\sum_{j=1}^{N}\alpha _iy_iy_jK(X_j,X_i)}

只需要找一个 0<\alpha _i<c

b=\frac{1-\sum_{j=1}^{N}\alpha_jy_iy_jK(X_j,X_i)}{y_i }

对于一个测试样本X如何获得其预测的类别?

需要计算 \omega^T\varphi (X)+b ,将 \omega =\sum_{i=1}^{N}\alpha _jy_i\varphi (X_i) 代入,将会得到

\omega^T\varphi (X)+b =\sum_{i=1}^{N}\alpha _iy_i\varphi (X_i)^T\varphi (X)+b

                        =\sum _{i=1}^{N}\alpha _iy_iK (X_i,X)+b

即使不知道 \varphi (x) ,只知道 K(X_1,X_2) ,也可以算出 \omega ^TX+b

这一结论被称为——核函数系法(Kernel Trick)

可以得到如下判决标准:

如果 \sum _{i=1}^{N}\alpha _iy_iK (X_i,X)+b\geq 0 ,那么 X\in C_1

如果 \sum _{i=1}^{N}\alpha _iy_iK (X_i,X)+b< 0 ,那么 X\in C_2


基于对偶问题的求解,总结支持向量机训练的测试的流程

训练过程:

输入训练数据 \left \{ \left ( X_i,y_i \right ) \right \}i=1\sim N ,其中 y_i=\pm1

最大化:\theta (\alpha )=\sum_{i=1}^{N}\alpha _i\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}y_iy_j\alpha_i\alpha_j\varphi (X_i)^T\varphi (X_j)

限制条件:

(1)0\leq \delta _i\leq C,(i=1\sim N)

(2)\sum_{i=1}^{N}\alpha _iy_i=0,(i=1\sim N)

求b

找一个 \alpha _i\neq 0 且 \alpha _i\neq c ,则 b=\frac{1-\sum_{j=1}^{N}\alpha_jy_iy_jK(X_j,X_i)}{y_i }

测试过程

考察测试数据X,预测它的类别y。

如果 \sum _{i=1}^{N}\alpha _iy_iK (X_i,X)+b\geq 0 ,那么 y=+1

如果 \sum _{i=1}^{N}\alpha _iy_iK (X_i,X)+b< 0 ,那么 y=-1

这里只是用到了核函数 K(X_1,X_2)


http://www.kler.cn/a/418930.html

相关文章:

  • Git忽略文件
  • 7、递归
  • 【论文笔记】A Token-level Contrastive Framework for Sign Language Translation
  • yolov5 解决:export GIT_PYTHON_REFRESH=quiet
  • 简单搭建qiankun的主应用和子应用并且用Docker进行服务器部署
  • Web 端网站后台裁剪功能:提升图像管理效率的利器
  • 易速鲜花聊天客服机器人的开发(下)
  • 服务器数据恢复—raid6阵列硬盘被误重组为raid5阵列的数据恢复案例
  • qt QConicalGradient详解
  • 解决虚拟机中 GitHub 无法通过 HTTPS 访问的问题
  • springboot359智慧草莓基地管理系统(论文+源码)_kaic
  • 深度学习现有网络的使用和修改以VGG16为例
  • MFC中如何在工具条动态增加菜单
  • TextBlob:简单高效的自然语言处理工具
  • Excel如何限制单元格内可选择的下拉框内容?
  • 【LeetCode】每日一题 2024_12_1 N 皇后(回溯,DFS)
  • 服务器遭受DDoS攻击后如何恢复运行?
  • 【软考速通笔记】系统架构设计师⑨——软件可靠性基础知识
  • 【AI】数据,算力,算法和应用(3)
  • Flutter | 基于函数式编程的通用单选列表设计
  • unity工程转为安卓使用的aar文件
  • 黑马2024AI+JavaWeb开发入门Day05-数据库DDL、DML、DQL飞书作业
  • windows电脑上安装树莓派操作系统
  • Ubuntu问题 -- 使用scp将本机文件传输至ubuntu服务器中
  • Linux 链接概念
  • antd table 自定义表头过滤表格内容