SVM支持向量机
SVM支持向量机他是一个二类分类模型,是给基本模型的特征空间间隔最大的线性分类器,目的就是求最大间隔
eg:
给定一些数据点用X表示数据点,用Y表示分的类别(y可以取1或者-1,分别代表两个不同的类)线性分类器(SVM)就是要在N维中找到一个超平面可以将数据更好的分类
这个超平面的方程可以表示为(wT中的T代表转置):
SVM实现原理
步骤
1、用数学来定义要求解的问题
SVM是求一个平面的函数:y = wx + b,就是求解参数w,b
怎么判断求出来的w,b已经足够好? 这就需要把问题建模成一个数学问题(称为原始问题),从而明确求解的目标以及约束条件
2、求解原始问题转换为二次凸函数+约束条件的优化问题
原始问题是很难求出来需要的参数,而转化为二次凸函数+约束条件,
这种转换保证两个函数取最优解时,参数是相同的,他们两个是由成熟的计算方法和理论支持的(拉格朗日优化理论)。
3、拉格朗日优化+对偶特性构建方程
将对w,b参数的优化转换成对拉格朗日alpha的优化(alpah为拉格朗日约束函数的参数)
4、用SMO求解alpha的最优值
通过上述步骤可以将w,b用alpha表示出来,SMO可以求出alpha,在通过alpha求出来w,b ,到此平面的方程就可推导出来。
Sigmoid函数
说到分类函数Sigmoid函数也是分类函数她也叫Logistic函数,他是用在神经网络中的隐藏层中神经元输出。取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,可以用来做二分类
Sigmoid函数公式
其对x的导数可以用自身表示:
Sigmoid函数图像
详细的算法公式可以参考
https://www.jianshu.com/p/e22381cc2e38