Merge pull request #335 from CoderOverflow/patch-5
2.18.11 逻辑回归与SVM的异同 内容修订
This commit is contained in:
commit
0e48fdea5b
|
|
@ -1646,46 +1646,46 @@ $$
|
||||||
|
|
||||||
支持向量机性能的优劣主要取决于核函数的选取,所以对于一个实际问题而言,如何根据实际的数据模型选择合适的核函数从而构造SVM算法。目前比较成熟的核函数及其参数的选择都是人为的,根据经验来选取的,带有一定的随意性。在不同的问题领域,核函数应当具有不同的形式和参数,所以在选取时候应该将领域知识引入进来,但是目前还没有好的方法来解决核函数的选取问题。
|
支持向量机性能的优劣主要取决于核函数的选取,所以对于一个实际问题而言,如何根据实际的数据模型选择合适的核函数从而构造SVM算法。目前比较成熟的核函数及其参数的选择都是人为的,根据经验来选取的,带有一定的随意性。在不同的问题领域,核函数应当具有不同的形式和参数,所以在选取时候应该将领域知识引入进来,但是目前还没有好的方法来解决核函数的选取问题。
|
||||||
|
|
||||||
### 2.18.10 逻辑回归与SVM的异同
|
### 2.18.11 逻辑回归与SVM的异同
|
||||||
|
|
||||||
相同点:
|
相同点:
|
||||||
|
|
||||||
- LR和SVM都是**分类**算法
|
- LR和SVM都是**分类**算法。
|
||||||
- LR和SVM都是**监督学习**算法。
|
- LR和SVM都是**监督学习**算法。
|
||||||
- LR和SVM都是**判别模型**。
|
- LR和SVM都是**判别模型**。
|
||||||
- 如果不考虑核函数,LR和SVM都是**线性分类**算法,也就是说他们的分类决策面都是线性的。
|
- 如果不考虑核函数,LR和SVM都是**线性分类**算法,也就是说他们的分类决策面都是线性的。
|
||||||
说明:LR也是可以用核函数的.但LR通常不采用核函数的方法.(**计算量太大**)
|
说明:LR也是可以用核函数的.但LR通常不采用核函数的方法。(**计算量太大**)
|
||||||
|
|
||||||
不同点:
|
不同点:
|
||||||
|
|
||||||
**1、LR采用log损失,SVM采用合页(hinge)损失。**
|
**1、LR采用log损失,SVM采用合页(hinge)损失。**
|
||||||
逻辑回归的损失函数:
|
逻辑回归的损失函数:
|
||||||
$$
|
$$
|
||||||
J(\theta)=-\frac{1}{m}\left[\sum^m_{i=1}y^{(i)}logh_{\theta}(x^{(i)})+ (1-y^{(i)})log(1-h_{\theta}(x^{(i)}))\right]
|
J(\theta)=-\frac{1}{m}\sum^m_{i=1}\left[y^{i}logh_{\theta}(x^{i})+ (1-y^{i})log(1-h_{\theta}(x^{i}))\right]
|
||||||
$$
|
$$
|
||||||
支持向量机的目标函数:
|
支持向量机的目标函数:
|
||||||
$$
|
$$
|
||||||
L(w,n,a)=\frac{1}{2}||w||^2-\sum^n_{i=1}\alpha_i \left( y_i(w^Tx_i+b)-1\right)
|
L(w,n,a)=\frac{1}{2}||w||^2-\sum^n_{i=1}\alpha_i \left( y_i(w^Tx_i+b)-1\right)
|
||||||
$$
|
$$
|
||||||
逻辑回归方法基于概率理论,假设样本为1的概率可以用sigmoid函数来表示,然后通过**极大似然估计**的方法估计出参数的值。
|
逻辑回归方法基于概率理论,假设样本为1的概率可以用sigmoid函数来表示,然后通过**极大似然估计**的方法估计出参数的值。
|
||||||
|
支持向量机基于几何**边界最大化**原理,认为存在最大几何边界的分类面为最优分类面。
|
||||||
支持向量机基于几何**间隔最大化**原理,认为存在最大几何间隔的分类面为最优分类面。
|
|
||||||
|
|
||||||
2、**LR对异常值敏感,SVM对异常值不敏感**。
|
2、**LR对异常值敏感,SVM对异常值不敏感**。
|
||||||
|
|
||||||
支持向量机只考虑局部的边界线附近的点,而逻辑回归考虑全局。LR模型找到的那个超平面,是尽量让所有点都远离他,而SVM寻找的那个超平面,是只让最靠近中间分割线的那些点尽量远离,即只用到那些支持向量的样本。
|
支持向量机只考虑局部的边界线附近的点,而逻辑回归考虑全局。LR模型找到的那个超平面,是尽量让所有点都远离他,而SVM寻找的那个超平面,是只让最靠近中间分割线的那些点尽量远离,即只用到那些支持向量的样本。
|
||||||
|
支持向量机改变非支持向量样本并不会引起决策面的变化。
|
||||||
|
逻辑回归中改变任何样本都会引起决策面的变化。
|
||||||
|
|
||||||
支持向量机改变非支持向量样本并不会引起决策面的变化。
|
3、**计算复杂度不同。对于海量数据,SVM的效率较低,LR效率比较高**
|
||||||
|
|
||||||
逻辑回归中改变任何样本都会引起决策面的变化。
|
当样本较少,特征维数较低时,SVM和LR的运行时间均比较短,SVM较短一些。准确率的话,LR明显比SVM要高。当样本稍微增加些时,SVM运行时间开始增长,但是准确率赶超了LR。SVM时间虽长,但在可接受范围内。当数据量增长到20000时,特征维数增长到200时,SVM的运行时间剧烈增加,远远超过了LR的运行时间。但是准确率却和LR相差无几。(这其中主要原因是大量非支持向量参与计算,造成SVM的二次规划问题)
|
||||||
|
|
||||||
**3、计算复杂度不同。对于海量数据,SVM的效率较低,LR效率比较高**
|
4、**对非线性问题的处理方式不同**
|
||||||
|
|
||||||
当样本较少,特征维数较低时,SVM和LR的运行时间均比较短,SVM较短一些。准确率的话,LR明显比SVM要高。当样本稍微增加些时,SVM运行时间开始增长,但是准确率赶超了LR。SVM时间虽长,但在接收范围内。当数据量增长到20000时,特征维数增长到200时,SVM的运行时间剧烈增加,远远超过了LR的运行时间。但是准确率却和LR相差无几。(这其中主要原因是大量非支持向量参与计算,造成SVM的二次规划问题)
|
LR主要靠特征构造,必须组合交叉特征,特征离散化。SVM也可以这样,还可以通过核函数kernel(因为只有支持向量参与核计算,计算复杂度不高)。由于可以利用核函数,SVM则可以通过对偶求解高效处理。LR则在特征空间维度很高时,表现较差。
|
||||||
|
|
||||||
**4、对非线性问题的处理方式不同**。LR主要靠特征构造,必须组合交叉特征,特征离散化。SVM也可以这样,还可以通过kernel(因为只有支持向量参与核计算,计算复杂度不高)。(由于可以利用核函数,。SVM则可以通过对偶求解高效处理。LR则在特征空间维度很高时,表现较差。)
|
5、**SVM的损失函数就自带正则**。
|
||||||
|
损失函数中的1/2||w||^2项,这就是为什么SVM是结构风险最小化算法的原因!!!而LR必须另外在损失函数上添加正则项!!!**
|
||||||
**5、SVM的损失函数就自带正则**。(损失函数中的1/2||w||^2项),这就是为什么SVM是结构风险最小化算法的原因!!!而LR必须另外在损失函数上添加正则项!!!**
|
|
||||||
|
|
||||||
6、SVM自带**结构风险最小化**,LR则是**经验风险最小化**。
|
6、SVM自带**结构风险最小化**,LR则是**经验风险最小化**。
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue