SVM梯度下降的理解

超平面:比当前空间少1维的空间,如:一维的超平面是点,二维的超平面是1维。
SVM 分离超平面公式: y = W T ∗ x + b y=W^T *x+b y=WTx+b,通过y>0、<0,判断二分类;即通过超平面把原始空间的内容二分类。计算该公式时,关键是(a)如何判断停止迭代,(b)在每次迭代中计算(w、b、T);目标是计算出最终的(w,b,T(T表示核函数的值、或者转置 等等))。

(1) SVM的核函数(计算w,b,T)[1]

核函数解决特征映射问题,即通过从低纬度到高纬度映射,解决原始空间不可分,如:一维映射到2维,从而计算出其“分离超平面”。如下面例子,计算出分离超平面 x 2 + x x^2+x x2+x

在这里插入图片描述
为了验证“分离超平面”,可以再映射回原始特征空间,如下:
在这里插入图片描述

(2) SVM的优化算法SMO(判断停止迭代,和计算w,b,t),如下:

在这里插入图片描述
以上代码中,在train()中,根据公式y=WT *x+b,在given 迭代次数下,计算出W,b,T(类似于 递推函数),即建立model;在score()中,输入x、W、b、T,计算出预测y’,由公式y’/y * 100%计算出accurary,并且输出。

(3) SVM的 梯度下降

(3.1)梯度下降基础知识 [4] [5]
在这里插入图片描述
梯度下降公式:
在这里插入图片描述
以上的公式,计算出的theta(1) 是这次下降所到达点。其中,初始位置是theta(0),a是每次下降的步长(即 learning rate),而J()函数代价函数求导J()函数是梯度(即,下降的方向,也可以说微分J()函数)。
通过反复迭代该公式,在迭代过程中,判断当梯度<given 值的时候,停止迭代,最后得到的theta是最低点;把最低点(1个)代入某方程中,可以得到某拟合函数。如:求下图红色点的拟合直线,通过梯度下降方法,得到蓝色直线。
在这里插入图片描述
(3.2)SVM的优化算法梯度下降(判断停止迭代,和计算w,b)
在这里插入图片描述

以上代码中,line1是通过损失函数判断迭代是否停止,(损失函数是,由svm函数计算出y(i),对y(i)缩进1,理想的情况这时y(i)=0;然后对其累加成y,再计算y与预测分离超平面的差距,如果差距cost> precision,需要再优化),并且T是given 的迭代次数;line2是在每次迭代中,计算出代价函数的梯度;line3、4是通过梯度计算出w、b(例如:W i + 1 _{i+1} i+1=W i _i i - λ ∗ Δ \lambda * \Delta λΔ ),再计算损失值。其中,损失函数、代价函数都与 y = W T ∗ x + b y=W^T *x+b y=WTx+b 相关, λ \lambda λ是 learning rate, 如下代码:

在这里插入图片描述在这里插入图片描述

参考:
[1] 数据挖掘领域十大经典算法之—SVM算法,https://blog.csdn.net/fuqiuai/article/details/79483057
[2] SVM的梯度下降解释及其算法比较,https://blog.csdn.net/olizxq/article/details/90143558
[3] 机器学习:支持向量机(SVM),https://blog.csdn.net/olizxq/article/details/83052235
[4] 梯度下降算法原理讲解,https://blog.csdn.net/qq_41800366/article/details/86583789
[5] Python numpy.transpose 详解,https://blog.csdn.net/u012762410/article/details/78912667
[6] LaTex, https://blog.csdn.net/u014711094/article/details/80645327
[7] loss 与梯度下降,https://blog.csdn.net/silent_crown/article/details/78109461?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.channel_param
[8] 梯度下降与随机梯度下降概念及推导过程, https://blog.csdn.net/weixin_39445556/article/details/83661219

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值