IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 支持向量机SVM -> 正文阅读

[人工智能]支持向量机SVM

1.问题定义

{ w T x + b = 1 w T x + b = ? 1 \left \{ \begin{aligned}w^Tx+b &= 1\\w^Tx+b &= -1\end{aligned}\right. {wTx+bwTx+b?=1=?1?
我们最大化两条直线的距离:
m a x ? 2 ∣ ∣ w ∣ ∣ 2 < = > m i n ? ∣ ∣ w ∣ ∣ 2 s . t . ? y i ( w T x i + b ) ? 1 ≥ 0 \begin{aligned}\rm{max}\ \frac{2}{||w||_2}<=>min\ ||w||_2 \\ s.t.\ y_i(w^Tx_i+b)-1\ge0\end{aligned} max?w2?2?<=>min?w2?s.t.?yi?(wTxi?+b)?10?

2.求解

原问题转化为:
m i n ? ∣ ∣ w ∣ ∣ 2 s . t . ? g i ( w , b ) = 1 ? y i ( w T x i + b ) ≤ 0 , w h e r e ? i = 1 , 2 , . . . , n \begin{aligned}&{\rm min}\ ||w||_2 \\ s.t.\ g_i(w,b) = 1-y_i(&w^Tx_i+b)\le0, {\rm where}\ i=1,2,...,n\end{aligned} s.t.?gi?(w,b)=1?yi?(?min?w2?wTxi?+b)0,where?i=1,2,...,n?
构造拉格朗日函数:
L ( w , b , λ ) = ∣ ∣ w ∣ ∣ 2 + ∑ i n λ i ? ( 1 ? y i ( w T x i + b ) ) s . t . ? λ i ≥ 0 \begin{aligned}L(w,b,\lambda)=||w||_2+&\sum_i^n\lambda_i*(1-y_i(w^Tx_i+b))\\&s.t.\ \lambda_i\ge0 \end{aligned} L(w,b,λ)=w2?+?in?λi??(1?yi?(wTxi?+b))s.t.?λi?0?
强对偶条件:
m i n w , b ? m a x λ ? L ( w , b , λ ) < = > m a x λ ? m i n w , b ? L ( w , b , λ ) \begin{aligned}\underset{w,b}{\rm min}\ \underset{\lambda}{\rm max}\ &L(w,b,\lambda)\\<=>\underset{\lambda}{\rm max}\ \underset{w,b}{\rm min}\ &L(w,b,\lambda)\end{aligned} w,bmin??λmax??<=>λmax??w,bmin???L(w,b,λ)L(w,b,λ)?
现对参数 w 和 b 求偏导数:
? L ? w = w ? ∑ i = 1 n λ i y i x i = 0 ? L ? b = ? λ i y i = 0 \begin{aligned}\frac{\partial L}{\partial w} &=w-\sum_{i=1}^{n}\lambda_iy_ix_i=0\\\frac{\partial L}{\partial b} &= -\lambda_iy_i=0 \end{aligned} ?w?L??b?L??=w?i=1n?λi?yi?xi?=0=?λi?yi?=0?
得到
w = ∑ i = 1 n λ i y i x i ∑ i = 1 n λ i y i = 0 \begin{aligned}&w=\sum_{i=1}^{n}\lambda_iy_ix_i\\&\sum_{i=1}^{n}\lambda_iy_i=0 \end{aligned} ?w=i=1n?λi?yi?xi?i=1n?λi?yi?=0?
代入 L L L
L ( λ ) = ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j ( x i ? x j ) + ∑ i n λ i ? ( 1 ? y i ( ∑ j = 1 n λ j y j ( x i ? x j ) + b ) ) = ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j ( x i ? x j ) + ∑ i n λ i ? ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j ( x i ? x j ) + ∑ i = 1 n λ i y i b = ∑ i n λ i ? 1 2 ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j ( x i ? x j ) s . t . ? λ i ≥ 0 \begin{aligned}L(\lambda) &= \sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_j(x_i\cdot x_j)+\sum_i^n\lambda_i*(1-y_i(\sum_{j=1}^n\lambda_jy_j(x_i\cdot x_j)+b))\\&=\sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_j(x_i\cdot x_j)+\sum_i^n\lambda_i-\sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_j(x_i\cdot x_j)+\sum_{i=1}^n\lambda_iy_ib\\&=\sum_i^n\lambda_i-\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_j(x_i\cdot x_j)\\&s.t.\ \lambda_i\ge0\end{aligned} L(λ)?=i=1n?j=1n?λi?λj?yi?yj?(xi??xj?)+in?λi??(1?yi?(j=1n?λj?yj?(xi??xj?)+b))=i=1n?j=1n?λi?λj?yi?yj?(xi??xj?)+in?λi??i=1n?j=1n?λi?λj?yi?yj?(xi??xj?)+i=1n?λi?yi?b=in?λi??21?i=1n?j=1n?λi?λj?yi?yj?(xi??xj?)s.t.?λi?0?

m a x λ ? L ( λ ) = ∑ i n λ i ? 1 2 ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j ( x i ? x j ) s . t . ? λ i ≥ 0 , ∑ i = 1 n λ i y i = 0 \begin{aligned}\underset{\lambda}{\rm max}\ L(\lambda) &= \sum_i^n\lambda_i-\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_j(x_i\cdot x_j)\\ &s.t.\ \lambda_i\ge0, \sum_{i=1}^{n}\lambda_iy_i=0\end{aligned} λmax??L(λ)?=in?λi??21?i=1n?j=1n?λi?λj?yi?yj?(xi??xj?)s.t.?λi?0,i=1n?λi?yi?=0?
我们可以看出来这是一个二次规划问题,问题规模正比于训练样本数,我们常用 SMO(Sequential Minimal Optimization) 算法求解。

SMO(Sequential Minimal Optimization),序列最小优化算法,其核心思想非常简单:每次只优化一个参数,其他参数先固定住,仅求当前这个优化参数的极值。我们来看一下 SMO 算法在 SVM 中的应用。

我们刚说了 SMO 算法每次只优化一个参数,但我们的优化目标有约束条件: ∑ i = 1 n λ i y i = 0 \sum_{i=1}^{n}\lambda_iy_i=0 i=1n?λi?yi?=0,没法一次只变动一个参数。所以我们选择了一次选择两个参数。具体步骤为:
1.选择两个需要更新的参数 λ i , λ j \lambda_i,\lambda_j λi?,λj?, 固定其他参数。于是我们有以下约束:
λ i y i + λ j y j = c = ? ∑ k ≠ i , j n λ k y k , λ i ≥ 0 , λ j ≥ 0 \lambda_iy_i+\lambda_jy_j = c= -\sum_{k\neq i,j}^n\lambda_ky_k, \lambda_i\ge0,\lambda_j\ge0 λi?yi?+λj?yj?=c=?k?=i,jn?λk?yk?,λi?0,λj?0
由此可以得出 λ j = c ? λ i y i y j \lambda_j=\frac{c-\lambda_iy_i}{y_j} λj?=yj?c?λi?yi??,也就是说我们可以用 λ i \lambda_i λi?的表达式代替 λ j \lambda_j λj?。这样就相当于把目标问题转化成了仅有一个约束条件的最优化问题,仅有的约束是 λ j ≥ 0 \lambda_j\ge0 λj?0
2.对于仅有一个约束条件的最优化问题,我们完全可以在 λ i \lambda_i λi?上对优化目标求偏导,令导数为零,从而求出变量值 λ i _ n e w \lambda_{i\_new} λi_new?,然后根据 λ i _ n e w \lambda_{i\_new} λi_new?求出 λ j _ n e w \lambda_{j\_new} λj_new?
3.多次迭代直至收敛。
通过 SMO 求得最优解 λ ? \lambda^* λ?

3.参考

https://zhuanlan.zhihu.com/p/77750026

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-16 22:21:38  更:2022-03-16 22:22:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 6:35:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码