一、优化目标
逻辑回归中的代价函数:
画出两种情况下的函数图像可得:
y=1: 我们找一条折线来近似表示这个函数图像
y=0:
我们用这两条折线来近似表示原来的曲线函数可得新的代价函数(假设-log(h(x))为,-log(1-h(x))为):
(θ从第二个开始算起)在svm中的表示会与逻辑回归中有些差别
即:(去掉1/m,C扮演这1/λ的作用但是不等于1/λ)
二、大间隔理解
1.svm与逻辑回归的差异
的值
逻辑回归 | svm | |
y=0 | 小于等于-1 | 小于0 |
y=1 | 大于等于1 | 大于等于0 |
2.直观图像
由>=1(y=1), <=-1(y=0) 最后优化得到的图像为下图的黑线:
如果我们用正常的逻辑回归,可能会得到绿线,红线等其他可能的线,但他们到蓝线即边界的距离都没有黑线大,黑线所表示的函数是到边界距离最大的函数。所以称为大间距分类器。
3.C的大小与异常点
正常数据的情况下我们会得到上面的决策边界。但是如果存在异常点如下图:
如果C很大,那么svm会尽量将所有点都去分开, 所以黑色的决策边界就会变成红色的,所以当出现这种情况的时候,我们需要把C的值调小一些。
三、核函数
当遇到一些复杂的非线性决策边界的时候,我们决策边界的函数就会比较复杂(eg:)
这是我们采用另一种方式来替换特征,修改为 ,即用f1来代替x1,f2代替x2^2等等。
那么如何得到这些f特征呢?
我们可以选取一些近似于的点然后用函数来求出各个f的值,这个函数就是核函数,通常我们可以使用高斯函数
=(f_0=1)
当x与l很接近时,f就会接近1;当x与l差的很远时,f就会接近0
通常初始化L的时候把x的对应的值赋给l,l1=x1,l2=x2等等
求x_i的特征向量f:
......别忘了在f向量中加上f_0哦
对于每个x^i可以求出一个f^i
当>0时,y=1,反之y=0,带入代价函数可得
(在这里n=m)
四、逻辑回归与svm的选择
假设特征数为n,训练样本为m
1)n相对于m很大的时候,用逻辑回归或者svm(核函数为线性函数/无核函数)(n=10000,m=10,100...)
2)n比较小,m大小适中用svm(核函数为高斯函数)(n=1-1000,m=10-10000)
3)n比较小,m比较大则添加特征项,然后用逻辑回归或者svm(核函数为线性函数/无核函数)
五、偏差与方差
1.C比较大或者σ的平方比较小的时候偏差小,方差大
2.C比较小或者σ的平方比较大的是偶偏差大,方差小