1.支持向量机
1.1 定义
支持向量机( Support Vector Machine )要解决的问题
什么样的法策边界才是最好的呢?
特征数据本身如果就很难分,怎么办呢?
计算复杂度怎么样?能实际应用吗?
支持向量机( Support Vector Machine , SVM)是一类按监督学习( supervised learning )方式对数据进行二元分类的广义线性分类器( generalized linear classifier ) 。
其决策边界是对学习样本求解的最大边距超平面( maximum-margin hyperplane ) 。
找到集合边缘上的若干数据(称为支持向量(Support Vector ) ),用这些点找出一个平面(称为决策面),使得支持向量到该平面的距离最大。
任意超平面可以用下面这个线性方程来描述: W T x + b = 0 {{\rm{W}}^{\rm{T}}}{\rm{x}} + b = 0 WTx+b=0
点到平面的距离: W T x ′ = − b , W T X ′ ′ = − b {{\rm{W}}^{\rm{T}}}{\rm{x' = }} - b,{W^T}X'' = - b WTx′=−b,WTX′′=−b
d i s t a n c e ( x , b , w ) = ∣ W T ∥ W ∥ ( x − x ′ ) ∣ = 1 ∥ W ∥ ∣ W T x + b ∣ {\rm{distance(x,b,w) = }}\left| {{{{{\rm{W}}^{\rm{T}}}} \over {\left\| W \right\|}}(x - {\rm{x'}})} \right|{\rm{ = }}{{\rm{1}} \over {\left\| W \right\|}}\left| {{{\rm{W}}^{\rm{T}}}x + b} \right| distance(x,b,w)= ∥W∥WT(x−x′) =∥W∥1 WTx+b
1.2 SVM软间隔
1.3 SVM核变换
核函数,可以将样本从原始空间映射到一个更高维的特质空间中,使得样本在新的空间中线性可分。
- 线性核变换: K ( x i , x j ) = x i T x j K({x_i},{x_j}) = x_i^T{x_j} K(xi,xj)=xiTxj
- 多项式核变换: K ( x i , x j ) = ( x i T x j ) d K({x_i},{x_j}) = {(x_i^T{x_j})^d} K(xi,xj)=(xiTxj)d
- 高斯核函数: K ( x i , x j ) = exp ( − ∥ x i − y i ∥ 2 y 2 ) K({x_i},{x_j}) = \exp ( - {{\left\| {{x_i} - {y_i}} \right\|} \over {2{y^2}}}) K(xi,xj)=exp(−2y2∥xi−yi∥)