赞
踩
支持向量机(Support Vector Machine,SVM)属于有监督学习模型,主要用 于解决数据分类问题。通常SVM用于二元分类问题,对于多元分类可将其分 解为多个二元分类问题,再进行分类,主要应用场景有图像分类、文本分 类、面部识别和垃圾邮件检测等领域。 • 本章共划分为两个小节,分别介绍支持向量机模型的基础以及支持向量机 的应用过程
支持向量机模型
– 核函数
– 模型原理分析
• 支持向量机应用
– 基于SVM进行新闻主题分类
– 基于支持向量机和主成分分析的人脸识
一个例子:青光眼诊断
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0xgw0HyQ-1655199693713)(E:%5C%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E9%9D%A2%E8%AF%95%E9%A2%98%5Cimage-20220606230620002.png)]
图中“+”表示开角型青光眼样本点,“〇 ”表示闭角型青光眼型样本点。样本数据相 互交叉较多,不易进行线性可分.
支持向量机在高维或无限维空间中构造超平面或超平面集合,将原有限维 空间映射到维数高得多的空间中,在该空间中进行分离可能会更容易。它 可以同时最小化经验误差和最大化集合边缘区,因此它也被称为最大间隔 分类器。直观来说,分类边界距离最近的训练数据点越远越好,因为这样 可以缩小分类器的泛化误差。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FPGIDPXh-1655199693714)(E:%5C%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E9%9D%A2%E8%AF%95%E9%A2%98%5Cimage-20220606230702801.png)]
模型基本思想
以一个二元分类问题为例讲解模型原理。首先假设有两类数据,如图需要 找出一条边界来将两类数据分隔开来
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XrYYGiCx-1655199693714)(E:%5C%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E9%9D%A2%E8%AF%95%E9%A2%98%5Cimage-20220606230729348.png)]
一般说来,需要选择的是具有较强分类能力的直线,有较稳定的分类结果 和较强的抗噪能力,比如在数据集扩展之后如下图所示。在这三种分隔方 式中,b的分隔效果更好.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rCQWgZu5-1655199693715)(E:%5C%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E9%9D%A2%E8%AF%95%E9%A2%98%5Cimage-20220606230751250.png)]
找到最优分类数据的分界线,使得对样本数据的分类效果更好的方法就是 要尽可能地远离两类数据点,即数据集的边缘点到分界线的距离d最大,这 里虚线穿过的边缘点称作支持向量,分类间隔为2d。如下图所示.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-suxY0jPd-1655199693715)(E:%5C%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E9%9D%A2%E8%AF%95%E9%A2%98%5Cimage-20220606230809026.png)]
SVM是从线性可分情况下的最优分类面发展而来的。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I2EyUjnf-1655199693715)(E:%5C%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E9%9D%A2%E8%AF%95%E9%A2%98%5Cimage-20220606230831696.png)]
容易看出,最优化目标就是最大化几何间隔,并且注意到几何间隔与 ‖w ‖ 反比,因此只需寻找最小的‖w ‖,即
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZHXibhsz-1655199693715)(E:%5C%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E9%9D%A2%E8%AF%95%E9%A2%98%5Cimage-20220606230905733.png)]
对于这个目标函数,可以用一个等价的目标函数来替代:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FXjh15zy-1655199693716)(E:%5C%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E9%9D%A2%E8%AF%95%E9%A2%98%5Cimage-20220606230913898.png)]
为使分类对所有样本正确分类,要求满足如下约束:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ptt10gQp-1655199693716)(E:%5C%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E9%9D%A2%E8%AF%95%E9%A2%98%5Cimage-20220606230928779.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D4mX60qh-1655199693716)(E:%5C%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E9%9D%A2%E8%AF%95%E9%A2%98%5Cimage-20220606230944053.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-khpLqzOL-1655199693717)(E:%5C%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E9%9D%A2%E8%AF%95%E9%A2%98%5Cimage-20220606230954784.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e9iQDY90-1655199693717)(E:%5C%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E9%9D%A2%E8%AF%95%E9%A2%98%5Cimage-20220606231003710.png)]
支持向量机通过线性变换A(x)将输入空间X映射到高维特征空间Y,如果低维 空间存在函数K,x,y∈X,使得K(x,y)=A(x)·A(y),则称K(x,y)为核函数。核函数 方法可以与不同的算法相结合,形成多种不同的基于核函数的方法,常用 的核函数有:
– 线性核函数
– 多项式核函数
– 径向基核函数
– Sigmoid核
线性核函数(Linear Kernel)是最简单的核函数,主要用于线性可分的情况, 表达式如下:
K(x,y) = x·y+c
其中c是可选的常数。线性核函数是原始输入空间的内积,即特征空间和输 入空间的维度是一样的,参数较少运算速度较快。适用的情景是在特征数 量相对于样本数量非常多时。
多项式核函数(Polynomial Kernel)是一种非稳态核函数,适合于正交归一化 后的数据,表达式如下:
K(x,y) = [a·x·y+c] d
其中a是调节参数,d是最高次项次数,c是可选的常数。
径向基核函数(Radial Basis Function Kernel)具有很强的灵活性,应用广泛。 与多项式核函数相比参数较少。因此大多数情况下都有较好的性能。径向 基核函数类似于高斯函数,所以也被称为高斯核函数。在不确定用哪种核 函数时,可优先验证高斯核函数。表达式如下:
K(x,y) = exp{-[(||x-y||2 )/(2·a2 )]}
其中a 2越大。高斯核函数就会变得越平滑,此时函数随输入x变化较缓慢 ,模型的偏差和方差大,泛化能力差,容易过拟合。 a 2越小,高斯核函 数变化越剧烈,模型的偏差和方差越小,模型对噪声样本比较敏感.
Sigmoid核(Sigmoid Kernel)来源于MLP中的激活函数,SVM使用Sigmoid相当于 一个两层的感知机网络,表达式如下:
K(x,y) = tanh(a·x·y+c)
其中a表示调节参数,c为可选常数,一般情况c取1/n,n是数据维度.
支持向量机(SVM)算法比较适合图像和文本等样本特征较多的应用场合。 基于结构风险最小化原理,对样本集进行压缩,解决了以往需要大样本数 量进行训练的问题。它将文本通过计算抽象成向量化的训练数据,提高了 分类的精确率.
主成分分析(Principal Component Analysis , PCA)是一种降维方法,可以从 多种特征中解析出主要的影响因素,使用较少的特征数量表示整体。PCA的 目标就是找到方差大的维度作为特征。本案例可以被划分为六个步骤:
– 获取数据集
– 将图片转化为可处理的n维向量
– 分割数据集
– PCA主成分分析,降维处理
– 支持向量机分类
– 查看训练后的分类结果
主成分分析是最常用的线性降维方法,它的目标是通过某种线性投影,将 高维的数据映射到低维的空间中,并期望在所投影的维度上数据的方差最 大,以此使用较少的维度,同时保留较多原数据的维度 • 尽可能如果把所有的点都映射到一起,那么几乎所有的区分信息都丢失了 ,而如果映射后方差尽可能的大,那么数据点则会分散开来,特征更加明 显。PCA是丢失原始数据信息最少的一种线性降维方法,最接近原始数据 • PCA算法目标是求出样本数据的协方差矩阵的特征值和特征向量,而协方差 矩阵的特征向量的方向就是PCA需要投影的方向。使样本数据向低维投影后 ,能尽可能表征原始的数据。协方差矩阵可以用散布矩阵代替,协方差矩 阵乘以(n-1)就是散布矩阵,n为样本的数量。协方差矩阵和散布矩阵都是 对称矩阵,主对角线是各个随机变量(各个维度)的方差.
– 将原始数据按列组成n行m列矩阵X
– 计算矩阵X中每个特征属性(n维)的平均向量M(平均值)
– 将X的每行(代表一个属性字段)进行零均值化,即减去M – 按照公式
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。