吃瓜教程|Datawhale-10月(5)

发布时间:2022-07-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了吃瓜教程|Datawhale-10月(5)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

吃瓜教程|Datawhale-10月(5)

支持向量机

从几何角度,对于线性可分模型,支持向量机就是找距离正负样本都最远的超平面。

相比于感知机,其解是唯一的,不偏不倚,泛化性能更好。

超平面

(n) 维空间的超平面 (left(boldsymbol{w}^{mathrm{T}} boldsymbol{x}+b=0right. , 其中 boldsymbol{w}, boldsymbol{x} in mathbb{R}^{n} ))

  • 超平面方程不唯一
  • 法向量 (boldsymbol{w}) 和位移项 (b) 确定一个唯一超平面
  • 法向量 (boldsymbol{w}) 垂直于超平面(缩放 (boldsymbol{w}, b) 时,若缩放倍数为负数会改变法向量方向)
  • 法向量 (boldsymbol{w}) 指向的那一半空间为正空间,另一半为负空间
  • 任意点 (boldsymbol{x}) 到超平面的距离公式为

[r=frac{left|boldsymbol{w}^{mathrm{T}} boldsymbol{x}+bright|}{|boldsymbol{w}|} ]

几何间隔

对于给定的数据集 (X) 和超平面 (boldsymbol{w}^{mathrm{T}} boldsymbol{x}+b=0) ,定义数据集 (X) 中的任意一个样本点 (left(boldsymbol{x}_{i}, y_{i}right), y_{i} in{-1,1}, i=1,2, ldots, m) 关于超平面的几何间隔为

[gamma_{i}=frac{y_{i}left(boldsymbol{w}^{mathrm{T}} boldsymbol{x}_{i}+bright)}{|boldsymbol{w}|} ]

正确分类时: (gamma_{i}>0) ,几何间隔此时也等价于点到超平面的距离 没有正确分类时: (gamma_{i}<0) 对于给定的数据集 (X) 和超平面 (boldsymbol{w}^{mathrm{T}} boldsymbol{x}+b=0) ,定义数据集 (X) 关于超平面的几何间隔为:数据集 (X) 中所有样本点的几何间隔最小值

[gamma=min _{i=1,2, ldots, m} gamma_{i} ]

支持向量机

希望求得数据集关于超平面的几何间隔达到最大的那个超平面,然后套上一个 sign函数实现分类。

[y=operatorname{sign}left(boldsymbol{w}^{mathrm{T}} boldsymbol{x}+bright)=left{begin{aligned} 1, & boldsymbol{w}^{mathrm{T}} boldsymbol{x}+b>0 \ -1, & boldsymbol{w}^{mathrm{T}} boldsymbol{x}+b<0 end{aligned}right. ]

所以其本质和感知机一样,仍然是在求一个超平面。

几何间隔最大的那个超平面一定是据正负样本都最远的超平面,原因有以下两点:

  • 当超平面没有正确划分正负样本时:几何间隔最小的为误分类点, 因此 (gamma<0)
  • 当超平面正确划分超平面时: (gamma geqslant 0) ,且越靠近中央 (gamma) 越大

策略:给定线性可分数据集 (X) ,设 (X) 中几何间隔最小的样本为 (left(boldsymbol{x}_{min }, y_{min }right)) ,那么支持向量机找超平面的过程可以转化为以下带约束条件的优化问题

[begin{array}{ll} max quad gamma \ text { s.t. } quad gamma_{i} geqslant gamma, quad i=1,2, ldots, m \ end{array} ]

[begin{array}{ll} max _{boldsymbol{w}, b} frac{y_{min }left(boldsymbol{w}^{mathrm{T}} boldsymbol{x}_{min }+bright)}{|boldsymbol{w}|} \ text { s.t. } quad frac{y_{i}left(boldsymbol{w}^{mathrm{T}} boldsymbol{x}_{i}+bright)}{|boldsymbol{w}|} geqslant frac{y_{min }left(boldsymbol{w}^{mathrm{T}} boldsymbol{x}_{min }+bright)}{|boldsymbol{w}|}, quad i=1,2, ldots, m \ end{array} ]

[begin{array}{ll} max _{boldsymbol{w}, b} frac{y_{min }left(boldsymbol{w}^{mathrm{T}} boldsymbol{x}_{min }+bright)}{|boldsymbol{w}|} \ text { s.t. } quad y_{i}left(boldsymbol{w}^{mathrm{T}} boldsymbol{x}_{i}+bright) geqslant y_{min }left(boldsymbol{w}^{mathrm{T}} boldsymbol{x}_{min }+bright), quad i=1,2, ldots, m end{array} ]

假设该问题的最优解为 (left(boldsymbol{w}^{*}, b^{*}right)) ,那么 (left(alpha boldsymbol{w}^{*}, alpha b^{*}right), alpha in mathbb{R}^{+}) 也是最优解,且超平面也不变,因此还需要对 (boldsymbol{w}, b) 做一定限制才能使得上述优化问题有可解的唯一解。不妨令 (y_{min }left(boldsymbol{w}^{mathrm{T}} boldsymbol{x}_{min }+bright)=1) ,因为对于特定的 (left(boldsymbol{x}_{min }, y_{min }right)) 来说,能使得 (y_{min }left(boldsymbol{w}^{mathrm{T}} boldsymbol{x}_{min }+bright)=1)(alpha) 有且仅有一个。因此上述优化问题进一步转化为

[begin{array}{ll} max _{boldsymbol{w}, b} & frac{1}{|boldsymbol{w}|} \ text { s.t. } & y_{i}left(boldsymbol{w}^{mathrm{T}} boldsymbol{x}_{i}+bright) geqslant 1, quad i=1,2, ldots, m end{array} ]

为了方便后续计算, 再进一步进行恒等变换(为了方便后续计算加了平方和1/2)

[begin{array}{ll} min _{boldsymbol{w}, b} & frac{1}{2}|boldsymbol{w}|^{2} \ text { s.t. } & 1-y_{i}left(boldsymbol{w}^{mathrm{T}} boldsymbol{x}_{i}+bright) leqslant 0, quad i=1,2, ldots, m end{array} ]

此优化问题为含不等式约束的优化问题,且为凸优化问题, 因此可以直接用很多专门求解凸优化问题的方法求解该问题,在这里,支持向量机通常采用拉格朗日对偶来求解。

软间隔

未完待续(包括一些拉格朗日对偶)

脚本宝典总结

以上是脚本宝典为你收集整理的吃瓜教程|Datawhale-10月(5)全部内容,希望文章能够帮你解决吃瓜教程|Datawhale-10月(5)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: