从逻辑回归到SVM
与逻辑回归和神经网络相比,支持向量机,或者简称SVM,在学习复杂的非线性方程时提供了一种更为清晰,更加强大的方式
从逻辑回归开始展示我们如何一点一点修改来得到本质上的支持向量机
先回顾一下逻辑回归的假设函数和损失函数,用表示
当时,起作用的一项是, 此时希望越大越好,第一,可以从判断;第二,从损失函数看,希望loss越小越好。
此时用新的简化函数代替,即为下图的粉色线
同理,当时,y也这样分析
从逻辑回归的损失函数出发,首先要做的是把相应的部分替换为,其次去除和,加入相应的参数
当时,新的损失函数和逻辑回归的损失函数为目标,会得到相同的
当最小化代价函数,获得参数时,支持向量机所做的是它来直接预测的值等于1,还是等于0。当大于或者等于0时,假设函数会预测1。
SVM边界的理解
对于正样本,代价函数的一部分是,希望,因为此时
对于负样本,代价函数,希望,因为此时
对于分类问题,,即为正类;但是对于SVM,希望。这就是额外的安全因子,或者说安全的间距因子。
对于一个分类问题如下图,期望划出明确的边界,粉色和绿色的边界看起来都不如黑色的边界,因为这条黑线有更大的距离,这个距离叫做间距(margin)
黑色的决策界和训练样本之间有更大的最短距离。然而粉线和蓝线离训练样本就非常近,在分离样本的时候就会比黑线表现差。因此,这个距离叫做支持向量机的间距,而这是支持向量机具有鲁棒性的原因,因为它努力用一个最大间距来分离样本。
因此支持向量机有时被称为大间距分类器。
回顾SVM的代价函数,如下公式。
如果将设置的很大,eg:10000。我们将选择这样的决策界,从而最大间距地分离开正样本和负样本。那么在让代价函数最小化的过程中,我们希望找出在和两种情况下都使得代价函数中左边的这一项尽量为零的参数。学习算法会受异常点(outlier) 的影响。比如我们加入一个额外的正样本
仅仅基于一个异常值,仅仅基于一个样本,就将我的决策界从这条黑线变到这条粉线,这实在是不明智的。而如果正则化参数,设置的非常大,决策界从黑线变到了粉线,但是如果设置的小一点,如果你将C设置的不要太大,则你最终会得到这条黑线.当不是非常非常大的时候,它可以忽略掉一些异常点的影响,得到更好的决策界
网友评论