LR和SVM的区别
相同点:
- 都是线性分类器;
- 都是判别模型;
- 损失函数目的都是增大对数据分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。
不同点:
-
本质上是损失函数不同:
LR损失函数为logloss:
J ( θ ) = − 1 m [ ∑ i = 1 m y ( i ) log h θ ( x ( i ) ) + ( 1 − y ( i ) ) log ( 1 − h θ ( x ( i ) ) ) ] J(\theta)=-\frac{1}{m}\left[\sum_{i=1}^{m} y^{(i)} \log h_{\theta}\left(x^{(i)}\right)+\left(1-y^{(i)}\right) \log \left(1-h_{\theta}\left(x^{(i)}\right)\right)\right] J(θ)=−m1[i=1∑my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))]
而SVM的损失函数hinge loss,目标函数形式如下:
L ( w , b , α ) = 1 2 ∥ w ∥ 2 − ∑ i = 1 n α i ( y i ( w T x i + b ) − 1 ) \mathcal{L}(w, b, \alpha)=\frac{1}{2}\|w\|^{2}-\sum_{i=1}^{n} \alpha_{i}\left(y_{i}\left(w^{T} x_{i}+b\right)-1\right) L(w,b,α)=21∥w∥2−i=1∑nαi(yi(wTxi+b)−1)
逻辑回归基于概率理论,假设样本为正样本的概率可以用sigmoid函数(S型函数)来表示,然后通过极大似然估计的方法估计出参数的值。
支持向量机基于几何间隔最大化原理,认为存在最大几何间隔的分类面为最优分类面。
- 对数据的敏感度不同:SVM只受支持向量的样本点的影响,而LR受所有样本点的影响;
- SVM基于距离分类,而LR基于概率分类,所以SVM最好先对数据进行归一化处理,而LR不受影响;
- 在小规模数据集上,Linear SVM>LR;大规模数据集上LR应用更广泛;
- SVM的损失函数自带正则,而LR必须另外在损失函数外添加正则项。