支持向量机原理推导(二)

简介:

上一节我们讲述了间隔公式是如何得到的,这一节讲述要得到最大间隔时的分割超平面所要的条件是什么。

09edc84faf48d8133c628c8e5a36b5ebad938e37

在上图中我们可以看到间隔为MarginB/2,但是我们很容易发现黑线还可以向上移动从而得到更大的间隔,当移动到是最上面红线与第一个Men数据点相交时便得到最大间隔了,如下图:

101a3937940b3e8f3c61bfcac43d62412b351e63

下面我们就根据这个思路求出得到最大间隔时所要满足的条件。

0bb5ac066bf232c29e6c608316c2cee0c106be23

如上图,我们设分割超平面为g:W•X+b=0,以它为对称轴的两条线为h:W•X+b=1;f:W•X+b=-1 
首先必须满足在h与f线之间没有任何数据,然后便是支持向量正好在这两条线上。即: 
对于蓝色类都满足W•X+b≥1,且至少有一个点瞒住W•X+b=1; 
对于红色类都满足W•X+b≤-1,且至少有一个点瞒住W•X+B=-1; 
我们设蓝色类与红色类的标签分别为(1,-1),那么我们把不等式与各自对应的标签相乘便可以得到一个综合的公式,即:y_i (W•X_i+b)≥1。 
条件我们找到了,下面就是要推导出h与f线之间间隔的公式。

43f52e85ba59ad67947d572aa81a62c688bfc05e

设h与f间隔为m 
因为K向量垂直于h与f,所以Z_1=Z_0+K (1式) 
因为Z_1在h上,所以W•Z_1+b=1 (2式) 
将1式带入2式得W(Z_0+K)+b=1 (3式) 
其中K= (m•W)/(||W||) (4式) 
将4式带入3式得W(Z_0+(m•W)/(||W||))+b=1 (5式) 
化简5式得W•Z_0+b=1-m*||W|| (6式) 
因为Z_0在f上,所以满足W•Z_0+b=-1 (7式) 
将7式带入6式得:-1=1-m*||W|| (8式) 
所以(8式)化简得到距离m=2/(||W||),可以看出||W||越小m越大 
综上我们可以看出得到最优分割超平面便是得到在满足y_i (W•X_i+b)≥1时,||W||的最小值。 
本节内容便到此结束,下节内容我们拓展一下拉格朗日乘子与KKT的知识,因为我们最后要用到KKT对上式进行变形得到书上所说的优化目标函数:

0b1ca825cbd9f3af953f2fb5e0493252cd9357b5

,以及约束条件:

4671ee46262699c6f0c96ff7a70369ffc856ef23



原文发布时间为:2017-08-17 

本文作者:exploit

本文来自云栖社区合作伙伴“Python中文社区”,了解相关信息可以关注“Python中文社区”微信公众号

相关文章
|
前端开发
Vue3/React 动态设置 ant-design/icons 图标
Vue3/React 动态设置 ant-design/icons 图标
1065 1
|
算法 数据挖掘
【数据挖掘】岭回归Ridge讲解及实战应用(超详细 附源码)
【数据挖掘】岭回归Ridge讲解及实战应用(超详细 附源码)
752 0
|
机器学习/深度学习 人工智能 自然语言处理
五分钟带你了解ChatGPT的基本原理
五分钟带你了解ChatGPT的基本原理
1530 0
五分钟带你了解ChatGPT的基本原理
|
4月前
|
算法 搜索推荐
如何使用概率模型中的 BM25 算法进行打分?
BM25是一种基于概率模型的文本相关性打分算法,可视为TF-IDF的升级版。它综合考虑词频(TF)、逆文档频率(IDF)、文档长度及查询词频,并引入非线性增长与饱和机制。通过参数k1、k2和b调节词频权重、文档长度影响和查询词权重,使评分更精准。广泛应用于Elasticsearch、Lucene等搜索引擎中。
|
前端开发 JavaScript
React 标签组件 Tag
在现代Web开发中,标签(Tag)是常见的UI元素,用于分类、标记或表示状态。本文基于React框架,介绍如何创建和管理标签组件,涵盖基础使用、样式处理及常见问题与易错点。通过函数式组件定义标签,并使用CSS或CSS-in-JS进行样式处理。常见问题包括样式冲突、事件绑定错误和可关闭标签逻辑错误,提供解决方案如命名空间、CSS模块化和正确事件绑定方法。掌握这些内容有助于提高开发效率和代码质量。
451 27
|
机器学习/深度学习 算法 Python
机器学习基础:用 Lasso 做特征选择
机器学习基础:用 Lasso 做特征选择
机器学习基础:用 Lasso 做特征选择
|
UED Python
Python requests库下载文件时展示进度条的实现方法
以上就是使用Python `requests`库下载文件时展示进度条的一种实现方法,它不仅简洁易懂,而且在实际应用中非常实用。
681 1
|
机器学习/深度学习 人工智能 自然语言处理
算法金 | 秒懂 AI - 深度学习五大模型:RNN、CNN、Transformer、BERT、GPT 简介
**RNN**,1986年提出,用于序列数据,如语言模型和语音识别,但原始模型有梯度消失问题。**LSTM**和**GRU**通过门控解决了此问题。 **CNN**,1989年引入,擅长图像处理,卷积层和池化层提取特征,经典应用包括图像分类和物体检测,如LeNet-5。 **Transformer**,2017年由Google推出,自注意力机制实现并行计算,优化了NLP效率,如机器翻译。 **BERT**,2018年Google的双向预训练模型,通过掩码语言模型改进上下文理解,适用于问答和文本分类。
1105 9
|
机器学习/深度学习 JSON 自然语言处理
[GPT-1]论文实现:Improving Language Understanding by Generative Pre-Training
[GPT-1]论文实现:Improving Language Understanding by Generative Pre-Training
663 1
|
机器学习/深度学习 算法 Python
【Python机器学习专栏】Python中的特征选择方法
【4月更文挑战第30天】本文介绍了机器学习中特征选择的重要性,包括提高模型性能、减少计算成本和增强可解释性。特征选择方法主要包括过滤法(如相关系数、卡方检验和互信息)、包装法(如递归特征消除和顺序特征选择)和嵌入法(如L1正则化和决策树)。在Python中,可利用`sklearn`库的`feature_selection`模块实现这些方法。通过有效的特征选择,能构建更优的模型并深入理解数据。
540 0

热门文章

最新文章

下一篇
开通oss服务