支持向量机
支持向量机(svm)与逻辑回归(lr)类似,都是为了处理二分类问题。
逻辑回归的结果是将样本分为某类别的概率,是可以连续的;svm的结果是根据样本与超平面的关系将样本分为对应类别,是离散的。
svm的根本目的是找出能使两个类别分类的超平面,并且此超平面距离两个类别的间距最大,对于类别间距最大,起决定性作用的是在超平面附近的两个类别中相互不太容易区分的样本点,因此决定svm的局部的样本点;逻辑回归则对所有样本考虑,根据所有样本的表现将样本划分概率,因此决定逻辑回归的是全局的样本点。
支持向量机(线性可分)目标函数推理:(source: whut-sree-zhangming)
支持向量机模型示意: Image source: https://en.wikipedia.org/wiki/Support_vector_machin
超平面:用于分类的边界,
支持向量:距离超平面距离最小的点,
分类原则:将样本带入方程,满足则分为对应类别,,即
。(由于超平面由支持向量决定,因此所有样本都满足上述方程)
分类间距:最近样本在超平面的投影距离,x+和x−分别代表两个正、负支持向量,可表示为
间距最大:,等价于
约束松弛:加入松弛变量,使得当有异常点时,分类有一定容错性
最终目标函数:
目标函数意味着我们既要最小化||w||(即最大化间隔),又要最小化对约束条件yi(wTxi+b)≥1的破坏程度ε。C>0是惩罚因子,C值大时,对超平面的异常点惩罚较重,也就是说不希望有异常点存在;C值小时,对超平面异常点的惩罚较小,可以有一部分异常点存在。
支持向量机损失函数(线性可分)推理(source: Andrew Ng)
由逻辑回归的损失函数度量到支持向量机的损失函数度量
逻辑回归基本关系
逻辑回归损失函数:
正则化的逻辑回归损失函数:
提取其中关键部分:
令z=θTx,可得到如下表示,
当样本为1的时候,如果θTx为正值,及逻辑回归结果很可能为1,损失函数值很小,反之很大;反之亦然。
修改逻辑回归的损失函数,函数可表示如下:
与逻辑回归损失函数不同的是,如果θTx大于1,损失函数为0,认为分类正确,如果小于1(不仅仅是小于0),损失函数大于0,不能归为此类。Svm从损失函数上要求严格,必须有一定的正确性(大于1)才能正确分类。
由正则化后的逻辑回归损失函数进行修改,将修改为cost(z),整个式子乘以mc,其中c=1/λ,得到的svm损失函数如下:
???? = 1/????,因此:
???? 较大时,相当于 ???? 较小,可能会导致过拟合,高方差。
???? 较小时,相当于 ???? 较大,可能会导致低拟合,高偏差。
当????不是非常非常大的时候,它可以忽略掉一些异常点的影响,得到更好的决策界
支持向量机核函数(非线性可分)简单理解
当训练样本非线性可分时,可以通过非线性变换将样本从低维空间转换到高维空间,使得在高维空间可以实现变换后样本的线性可分,核函数就是一个满足一定条件的、计算相对简单的非线性变换函数。
两个较为简单形象的图片示例:
Image source: https://blog.csdn.net/kateyabc/article/details/79980880
Image source:https://baijiahao.baidu.com/s?id=1618526683185169455&wfr=spider&for=pc
通过核函数,将二维样本映射到三维空间,使得变换后的样本通过超平面(红线所在、蓝面所示)在高维空间线性可分。