首页 > 编程语言 >机器学习-线性分类-支持向量机SVM-SMO算法-14

机器学习-线性分类-支持向量机SVM-SMO算法-14

时间:2023-12-20 21:46:54浏览次数:42  
标签:SVM 14 SMO 算法 参数 y1 向量 函数

目录

1. SVM算法总结

  1. 选择 核函数 以及对应的 超参数
    为什么要选择核函数?
    升维 将线性问题不可分问题 升维后转化成 线性可分的问题
    核函数 有那些? linea gauss polinormail tanh

  2. 选择惩罚项系数C
    min ||w||2 + Csum(ei)

  3. 构造优化问题:

  4. 利用SMO算法 计算 α*

  5. 根据α* 计算w*

  6. 根据α* 得到支撑向量 计算每个支撑向量 对应的bs*

  7. bs* 求平均得到b*
    学得超平面:
    仔细观察这个式子就会发现:
    其实只需要关注 支撑向量的C>α>0 非支撑向量的alpha为0
    W*的计算:

其实也就只需要关注 是支撑向量的几个点,支撑向量对于W,b的求解起关键作用,其他的非支撑向量,对模型没起任何作用

  1. 得到最终的判别式

神奇的SMO算法到底是如何进行的?

2. SMO算法


其中(xi,yi)表示训练样本数据,xi 为样本特征,yi∈{−1,1}为样本标签,C 为惩罚系数由自己设定。上述问题是要求解 N 个参数(α1,α2,α3,...,αN),其他参数均为已知

把原始求解 N 个参数二次规划问题分解成很多个子二次规划问题分别求解,每个子问题只需要求解 2 个参数,方法类似于坐标上升,节省时间成本和降低了内存需求。每次启发式选择两个变量进行优化,不断循环,直到达到函数最优值。

同时优化两个参数,固定其他 N-2 个参数,假设选择的变量为α1,α2,
固定其他参数α3,α4,...,αN,由于参数α3,α4,...,αN 的固定, 可以简化目标函数为只关于α1,α2的二元函数,Constant 表示常数项(不包含变量α1,α2 的项)。
v1 表示 x1 与 3---N 之后所有的样本运算
v2 表示 x2 与 3---N 之后所有的样本运算


其中:

Kij表示 xi 与 xj 输入到核函数 进行运算的结果

两边同时乘以 y1, 任意的y*2 = 1
得到:

需要优化的目标函数转化成:

上式中是关于变量α2 的函数,对上式求导并令其为 0 得:

将4, 6, 7 带入求导=0 的式子

令η=K11+K22−2K12

这里得到的α2 是未经过修建的alpha 不一定满足约束条件



翻译一下:
两个拉格朗日算子 0< α1 α2 < C限定必须在正方形盒子内部
α1y1+α2y2=固定值 限定了必须在直线上 最优解 必须是一条线段
新的α2 下限L 上限H

修建后的alpha

由于其他 N-2 个变量固定:

两边同时乘以y1:

选择α1 α2采用上述方法进行优化,直到不违反kkt条件

α1 α2优化的同时对b进行更新:

  1. 如果:
    则 x1 y1 为支撑向量
    两边乘以y1:

得到bnew:

只不过是拆成3部分而已



前两项可以替换为

得到:

如果
同理:

  1. α1 α2 都满足:

    取一个就行:

  2. 如果都不满足 他们的中点:
    取1/2 *(α1 + α2)

标签:SVM,14,SMO,算法,参数,y1,向量,函数
From: https://www.cnblogs.com/cavalier-chen/p/17917640.html

相关文章

  • CF1914 G Light Bulbs 题解
    LinkCF1914GLightBulbsQuestion有\(2n\)盏灯摆放在一条直线上,每盏灯有一个颜色\(a_i\),灯的颜色一共有\(n\)种,每个颜色的颜色的灯刚好两盏,灯开始都是熄灭的。你选择几盏灯先打开,然后通过以下规则让其他的灯打开选择\(i,j\)是相同颜色的,一盏亮,一盏不亮,你可以使两盏......
  • 2023-12-14 早就想写的,关于自己的不敢索取,不敢要,别人问我要,很烦躁
    2023-12-14   本想记录下之前把一个微信好友删了的事情。拖延了一段时间。   一个佛友,老问我索取,问我借钱,要钱。我感觉不耐烦,就删了。我为什么不耐烦?一则是前先时候确实没钱,给不起。另外我给别人没什么问题,别人问我要,我就不太愿意给。   我不敢索取,不敢要。别......
  • CF1914F Programming Competition
    原题链接感觉有点类似agc034eCompleteCompress,但那题比这个难得多。定义\(f_x\)为以\(x\)为根的子树中,尽可能组队后最多剩下多少人,\(siz_x\)为子树大小。记\(y\inson(x)\)中\(f_y\)最大的点为\(hson_x\)。当\(\sum\limits_{y\inson(x),y\not=hson_x}siz_y<......
  • macOS Sonoma 14.2.1 (23C71) 正式版发布,ISO、IPSW、PKG 下载 (安全更新)
    macOSSonoma14.2.1(23C71)正式版发布,ISO、IPSW、PKG下载本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。请访问原文链接:https://sysin.org/blog/ma......
  • macOS Sonoma 14.2.1 (23C71) 正式版 Boot ISO 原版可引导镜像下载 (安全更新)
    macOSSonoma14.2.1(23C71)正式版BootISO原版可引导镜像下载(安全更新)本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。请访问原文链接:https://s......
  • CF1814B Long Legs 题解
    建议降黄令\(m\)最后的值为\(a\),那么此时最佳答案为\(a-1+\left\lceil\frac{x}{a}\right\rceil+\left\lceil\frac{y}{a}\right\rceil\),每次加尽量大的\(m\)一定最优。当\(x,y\)增大时,答案显然不降,考虑找到\(a\)的上界。用\(O(n)\)的暴力跑极限数据,发现答......
  • CF1446D Frequency Problem
    题意给定\(n\)个数。求最长的子段使得子段内有两个众数。Sol考虑全局众数对于子段的众数的影响。注意到对于答案有贡献的子段一定包含全局众数,读者自证不难。考虑对于每个数出现的次数根号分治。对于出现次数大于根号的数:种类不超过根号。考虑暴力对于每一种数,考虑她成......
  • 大二快乐日记11.14
    基本语法当不再需要索引时,可以使用DROPINDEX语句或ALTERTABLE语句来对索引进行删除。1)使用DROPINDEX语句语法格式:DROPINDEX<索引名>ON<表名>语法说明如下:<索引名>:要删除的索引名。<表名>:指定该索引所在的表名。2)使用ALTERTABLE语句根据ALTERTABLE语句的语......
  • 你牛什么牛 (女汉子版) - 唐古 发行时间:2014年12月25日
    唐古演唱的歌曲《你牛什么牛》是甜心才女唐古为微电影《我们都是女汉子》演唱的主题曲。发行时间:2014年12月25日  你牛什么牛(女汉子版)-唐古词:师立宅曲:李风持编曲:南少东后期:王路遥总监制:刘晓洪出品人:石太锋你牛你牛你牛你呀牛什么牛你牛你牛你牛你呀牛什......
  • 14. 现在有个外键值是area_id_id,我就想他叫area_id该怎么做
     如果你想将一个外键字段的数据库列名从默认的area_id_id更改为area_id,你可以使用db_column参数来指定自定义的数据库列名。以下是一个示例:pythonCopycodefromdjango.dbimportmodelsclassYourModel(models.Model):  area=models.ForeignKey(Area,on_delete=model......