支持向量机--在构造复杂非线性方程时比logistics回归和神经网络更好。
1.优化目标
从逻辑回归的代价函数进行推导,如下图。SVM与逻辑回归的不同在于,SVM返回的是0或者1,而逻辑回归返回的是概率值。
当参数C很大时,就要保证cost1和cost0足够小才能使整个式子最小化,也就是误差最小,若含有异常点,那么会导致决策边界和数据之间得间隔很小,所以只有C很小时才会有很大间隔。
theta的转置*x=x在theta方向上的投影的长度(p)*向量theta的长度(lt),要保证二者之积大于1,当p越大,lt越小,当p越小,lt越大,我们要的就是lt最小,那么只能使p足够大,p也就是于决策边界的距离,从而实现了大间隔分类器。至于决策边界为什么和theta是垂直的请参考决策边界一节。
图中绿色部分即为决策边界。
2.核函数
2.1高斯核函数:
构造特征f:即x_i与l_i的相似度
根据上左图,我们可以看到离标记点越近,f_i越接近于1,否则越接近于0,根据右图,我们可以确定x的类别,从而得到复杂的非线性决策边界。
3.怎么设置参数
参数C(=1/lambda):太大--》低偏差,高方差,太小--》高偏差,低方差
参数:太大--》高偏差,低方差,太小--》低偏差,高方差
4.核的选择
线性核:大量特征n,但是训练样本数m很小
高斯核:n小m大
多项式核函数:参数:常数项、指数项,(x_T*l+常数项)^指数项
5.多分类问题
0ne-vs-all:参考前边决策边界,需要建立k个svm分类器
逻辑回归:n大m小时也可以选择逻辑回归(当n很小m很大时也可以构造特征,使n的数量变大,从而使用逻辑回归或者不带核的svm)
svm:n小m大时选择svm的高斯核(凸优化)