支持向量机
前言
支持向量机(support Vector Machine)是一种更加强大的算法,广泛应用于学术界和工业界,与之前的学习过的机器学习算法相比较,支持向量机(以下简称SVM)为处理非线性问题提供了一种更加强大的方法。
优化目标
在之前的学习中,我们已经详细了解了逻辑回归的相关知识,其损失函数的数学公式可以用以下公式表示:
其中,
当以为分界点,其图像可以用以下方式近似表示:
文章图片
SVM的假设函数可以用如下公式表示:
文章图片
其中 ,
大间隔分类器的数学原理
- 【支持向量机】大间隔分类器
大间隔分类器就是以最大间隔划分正样本和负样本,使得样本距离分割线具有最大的距离。通过分析图像,可以得到以下结果:
时,, 时,,即也就是使的有很大区间。
- 数学原理
- 向量内积
为了了解大间隔分类器的数学原理,有必要了解向量内积的计算方式,如下所示,有如下两个向量:
文章图片
- 向量内积
文章图片
其含义表示向量在上的投影乘以的模值,即.
- SVM决策边界
对于而言,假设,
则有,
对于SVM假设函数有
,
,, 可以有以下表示:
通过以上方式,将问题简化为向量内积即也就是向量投影的形式,寻找合适的决策边界。示意图如下图所示:
文章图片
- 高斯核函数的引入
在之前的学习中,我们已经知道,对于非线性分类器,可以采用多项式的形式假设函数,另一种方法是采用核函数的方式,具体介绍如下:
对于给定的变量,有如下图所示的三个标记,,
文章图片
用表示变量与标记的相似度,其计算方式如下所示;
以上公式中函数称之为核函数,本次使用的函数也称之为高斯核函数,通常用表示。
对于以上给出的高斯核函数,假设,可以计算出,相反,如果(与之间的距离非常远)则有.
通过以上方法,对于给定的变量,可以得到新的特征,其假设函数可以写成以下形式:
显然,通过上述表达式,可以将复杂的非线性分类问题加以简化处理。
- 核函数的使用
以上,介绍了核函数的相关原理,选择合适的标记点非常重要,在实际的应用中,通常选择训练样本点作为标记,则对于每一个训练样本都可以通过高斯核函数得到一组特征向量,对于每一个训练样本都有如下的特征向量:
其中,,且
通过核函数的方法,对于SVM的假设函数可以写成如下形式
- 高斯核函数的参数选择
对于SVM训练函数,参数较大时:低偏差,高方差
而较小时会导致,高偏差,低方差。
对于核函数的参数较大时,如下图像所示,会使得特征的变化更加平滑,会导致高偏差和低方差。
文章图片
而参数较小时,曲线变化更加陡峭,造成高方差和低的偏差。
文章图片
:采用逻辑回归算法或者线性核函数的SVM算法(或者没有核函数的SVM算法)。
较小,而大小适中时,采用高斯核函数的SVM算法。
:手动的创建更多的特征,采用逻辑回归算法或者不带核函数的SVM算法。
注意:神经网络适用以上任何一种形式,但是其花费的训练时间更长。
推荐阅读
- 由浅入深理解AOP
- android|android studio中ndk的使用
- 斐讯K2|斐讯K2 固件搜集
- 植物能治病的奥秘——植物精气
- 11-代码注入
- linux定时任务contab
- 【22】高效·要有高效的工具支持
- 今日份H5
- neo4j|neo4j cql语句 快速查询手册
- 2020-03-25|2020-03-25 性教育,刻不容缓,家庭教育的支持也亦然