为什么说LR适合大样本,SVM适合小样本?

  统计/机器学习    浏览次数:114        分享
0

谢谢

 

今天二面了吗   2019-04-16 15:33



   2个回答 
1

SVM不适合大样本,因为计算的原因,SVM会非常慢。SVM适合小样本是因为SVM只由支持向量决定,所以样本多少对最终的支持向量影响不大。

LogisticRegression适合大样本是因为我们可以用在线数值方法进行迭代求解,比如随机梯度下降,这样速度很快也非常适合并行计算。但是LogisticRegression也同样适合小样本,只要满足样本数量是变量数量的10倍以上就够了。

SofaSofa数据科学社区DS面试题库 DS面经

zl_pku   2019-04-17 11:11

0

数据矩阵$X$是$d \times n$,$n$为数据点数,$d$为维数。先定义$d \ll n$是大样本,$n \ll d$是小样本。$d \approx n$时,LR和SVM都可用。LR(逻辑回归)有$d$个待求的特征权重$w$,SVM有 $n$个数据点权重$\alpha$。

1. SVM只需要较少的支持向量(权重$\alpha>0$的点)就可以确定分割超平面,而对于LR,当$n<10d$时,有可能会有过拟合问题。

2. 再比较下LR和SVM的训练的计算和空间复杂度。

假定用gradient descent解LR,用Coordinate desent解SVM的dual probelm,它们主要计算量在求梯度。

对于LR,梯度$df/dw=X(h(X^Tw)-y)$, $h()$是sigmiod函数,参考。计算复杂度$\mathcal{O}(ndT)$,$T$是循环次数。

对于SVM, 增量$\delta_i^*=\frac{1-(Q\alpha)_i}{Q_{ii}}$,$Q_{ij}=y_iy_jk(x_i,x_j)$,参考。计算复杂度$\mathcal{O}(n^2T)$。如果需要存储kernel distance matrix$K$,空间复杂度是$\mathcal{O}(n^2)$。

3. 应该反过来说,因为过拟合,小样本不适合LR,需要降维;因为计算和空间复杂度,大样本不适合SVM,需要预处理,减小样本数。

4.zl_pku提到LR可以online training,SVM也可以online。比如找出的support vectors加新数据再算SVM。


SofaSofa数据科学社区DS面试题库 DS面经

Zealing   2019-04-17 05:43



  相关主题

SVM里的软间隔是什么意思   2回答

支持向量机(SVM)里的支持向量是什么意思   6回答

与基于一般形式的支持向量回归相比,最小二乘支持向量回归更准确?   2回答

如果支持向量机做回归任务,支持向量是什么?   1回答

感知机和支持向量机的区别是什么?   2回答

为什么岭回归和最小二乘支持向量回归有一样二次规划形式却有不同解   2回答

SVM模型的可解释性如何?   1回答

SVM的支持向量最少有几个?   1回答

线性核svm与文本分类   1回答

在SVM中获知一个分类机/回归机需要有多训练点?   1回答

LS-SVM的核函数选取问题   1回答

one class SVM到底是无监督还是有监督学习?   4回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!