机器学习3_支持向量机_线性不可分——MOOC

线性不可分的情况

如果训练样本是线性不可分的,那么上一节问题的是无解的,即不存在 满足上面所有N个限制条件。

对于线性不可分的情况,需要适当放松限制条件,使得问题有解。

放松限制条件的基本思路:

对每个训练样本及标签

设置松弛变量(slack variable)

对于线性不可分情况,需适当放松限制条件

限制条件改写:

改造后的支持向量机优化版本

最小化:

限制条件:

(1)

(2)

  • 以前的目标函数只需要最小化 现在的目标函数增加了一项 所有 的和。
  • 比例因子 平衡两项

比例因子 是人为设定的。

人为事先设定的参数叫做算法的超参数(Hyper Parameter)

实际中:不断变化 的值 同时测试算法的识别率 选取超参数

一个算法中,选取的超参数 越多,意味着算法需要手动调整优化的地方也就越多,这样算法的自动性也会降低。

支持向量机是超参数很少的算法模型。

超参数很多的算法模型,如人工神经网络、卷积神经网络等。

在线性不可分情况下应用支持向量机

取目标函数:

是为了超平面和线性可分情况保持基本一致

以下是训练数据以及解出的分类面的展示

可以看到这个分类面分开大多数的圆圈和叉,只在一个训练样本上存在分类的错误。

有了线性不可分情况下的支持向量机算法

如图,这个解分错了将近一半的样本,这个解远远不能让人满意。

问题在于我们的算法模型是线性的 。也就是,我们假设分开两类的函数是直线或者超平面,我们是在一组直线和超平面中选择最合适分开这两类数据的直线或者超平面。但线性模型的表现力是不够的。

在下图这个例子中,可以看到能够分开这两类的是某种曲面,例如这个椭圆,而不是直线。

因此,我们只有想办法扩大可选函数的范围,使它超越线性,才有可能应对各种复杂的线性不可分的情况。


低维到高维的映射

支持向量机在扩大可选函数范围方面独树一帜。

其他算法,如人工神经网络、决策树等,采用的是直接产生更多可选函数的方式。

例如上图,在人工网络中,通过多层非线性函数的组合能够产生类似于椭圆这样的曲线,从而分开这幅图中的圆圈和叉。

而支持向量机却不是直接产生这样的函数,而是通过将特征空间由低维 映射到高维 ,然后在高维的特征空间当中用线性超平面对数据进行分类。

是图中的❌, 是图中的⭕️

这个例子是线性不可分的

如果我们构造一个二维到五维到映射

按照这个映射,可以解出

当映射变成五维时 线性可分

设:

可以算出

由于 是同一类, 是同一类

人为二维到五维到映射 线性不可分 的数据集 线性可分的数据集

假设:

在一个M维空间上随机取N个训练样本,随机的对每个训练样本赋予标签

假设:

这些训练样本线性可分的概率为

趋于无穷大时,

即,当我们增加特征空间的维度 的时候,超平面待估计的参数 的维度也会增加。也就是整个算法模型的自由度会增加。

这个定理告诉我们,将训练样本由低维映射到高维 增大线性可分的概率。

相关推荐
程序员小范4 分钟前
孙玲:从流水线工人到谷歌程序员
人工智能·程序员·谷歌·远程工作
命里有定数26 分钟前
Paper -- 洪水深度估计 -- 利用图像处理和深度神经网络绘制街道照片中的洪水深度图
图像处理·人工智能·dnn·洪水深度·高度估计
Guofu_Liao36 分钟前
大语言模型中Softmax函数的计算过程及其参数描述
人工智能·语言模型·自然语言处理
非自律懒癌患者36 分钟前
Transformer中的Self-Attention机制如何自然地适应于目标检测任务
人工智能·算法·目标检测
IT闫41 分钟前
使用微信小程序调用飞桨PaddleX平台自行训练的模型——微信小程序用训练的牡丹花模型Demo测试
人工智能·paddlepaddle
Jurio.1 小时前
Conda 管理项目环境
人工智能·python·深度学习·conda·virtualenv·pip
曼城周杰伦1 小时前
自然语言处理:第六十二章 KAG 超越GraphRAG的图谱框架
人工智能·pytorch·神经网络·自然语言处理·chatgpt·nlp·gpt-3
Donvink1 小时前
多模态大语言模型——《动手学大模型》实践教程第六章
人工智能·深度学习·语言模型·自然语言处理·llama
Joyner20181 小时前
pytorch训练的双卡,一个显卡占有20GB,另一个卡占有8GB,怎么均衡?
人工智能·pytorch·python
我爱学Python!1 小时前
解决复杂查询难题:如何通过 Self-querying Prompting 提高 RAG 系统效率?
人工智能·程序人生·自然语言处理·大模型·llm·大语言模型·rag