ML之SVM:SVM算法的简介、应用、经典案例之详细攻略 SVM算法的简介 支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类(binary classification)的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)。 1、SVM模型分类—线性可分、线性、非线性由简至繁的SVM模型包括:
2、SVM的决策边界在分类问题中,很多时候有多个解,如下图左边所示,在理想的线性可分的情况下其决策平面会有多个。而SVM的基本模型是,在特征空间上找到最佳的分离超平面使得训练集上正负样本间隔最大,SVM算法计算出来的分界会保留对类别最大的间距,即有足够的余量,如下图右边所示。 3、SVM中的核函数在解决线性不可分问题时,它可以通过引入核函数,巧妙地解决了在高维空间中的内积运算,从而很好地解决了非线性分类问题。如下图所示,通过核函数的引入,将线性不可分的数据映射到一个高纬的特征空间内,使得数据在特征空间内是可分的。如下图所示: 高斯核函数是无穷维的 4、SVM算法推导1.1、SVM转为对偶问题的求解—SMO算法思5、SVM中“损失+惩罚”框架的灵活性6、SVM的损失函数分析SVM的应用——解决的问题类型1、SVM用作分类1.1、SVM与二分类二分类Binary Classification,解决输出是0还是1的问题。SVM解决的是二分类。 1.2、SVM与多分类T1、线性核函数Linear Kernal:采用的策略是"one versus one" 。 2、SVM用作回归支持向量回归(Support Vector Regression, SVR)将SVM由分类问题推广至回归问题可以得到支持向量回归(Support Vector Regression, SVR),此时SVM的标准算法也被称为支持向量分类(Support Vector Classification, SVC)。 支持向量分类的方法能被推广到解决回归问题,称为支持向量回归。由支持向量分类产生的模型仅依赖训练数据的子集,因为创建模型的代价函数并不考虑超过边界的训练点。类似地,由支持向量回归产生的模型仅依赖训练数据的子集,因为创建模型的代价函数忽略任何接近模型预测的训练数据。
SVM的经典案例DL之NN/Average_Darkness/SVM:手写数字图片识别(本地数据集50000训练集+数据集加4倍)比较3种算法Average_Darkness、SVM、NN各自的准确率 |
|