在机器学习中各分类方法的优缺点

作者:Jason Gu
链接:https://www.zhihu.com/question/24169940/answer/26952728
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

尝试将quora上的这个回答翻译了下。第一次翻译,不好之处请见谅。
What are the advantages of different classification algorithms?

以下是我这些年总结的指南

训练集有多大?

如果你的训练集很小,高偏差/低方差的分类器(如朴素贝叶斯)比低偏差/高方差的分类器(如K近邻或Logistic回归)更有优势,因为后者容易过拟合。但是随着训练集的增大,高偏差的分类器并不能训练出非常准确的模型,所以低偏差/高方差的分类器会胜出(它们有更小的渐近误差)。

你也可以从生成模型与鉴别模型的区别来考虑它们。

某些分类器的优势

朴素贝叶斯(Naive Bayes, NB)
超级简单,就像做一些数数的工作。如果条件独立假设成立的话,NB将比鉴别模型(如Logistic回归)收敛的更快,所以你只需要少量的训练数据。即使条件独立假设不成立,NB在实际中仍然表现出惊人的好。如果你想做类似半监督学习,或者是既要模型简单又要性能好,NB值得尝试。

Logistic回归(Logistic Regression, LR)
LR有很多方法来对模型正则化。比起NB的条件独立性假设,LR不需要考虑样本是否是相关的。与决策树与支持向量机(SVM)不同,NB有很好的概率解释,且很容易利用新的训练数据来更新模型(使用在线梯度下降法)。如果你想要一些概率信息(如,为了更容易的调整分类阈值,得到分类的不确定性,得到置信区间),或者希望将来有更多数据时能方便的更新改进模型,LR是值得使用的。

决策树(Decision Tree, DT)
DT容易理解与解释(对某些人而言——不确定我是否也在他们其中)。DT是非参数的,所以你不需要担心野点(或离群点)和数据是否线性可分的问题(例如,DT可以轻松的处理这种情况:属于A类的样本的特征x取值往往非常小或者非常大,而属于B类的样本的特征x取值在中间范围)。DT的主要缺点是容易过拟合,这也正是随机森林(Random Forest, RF)(或者Boosted树)等集成学习算法被提出来的原因。此外,RF在很多分类问题中经常表现得最好(我个人相信一般比SVM稍好),且速度快可扩展,也不像SVM那样需要调整大量的参数,所以最近RF是一个非常流行的算法。

支持向量机(Support Vector Machine, SVM)
很高的分类正确率,对过拟合有很好的理论保证,选取合适的核函数,面对特征线性不可分的问题也可以表现得很好。SVM在维数通常很高的文本分类中非常的流行。由于较大的内存需求和繁琐的调参,我认为RF已经开始威胁其地位了。

回到LR与DT的问题(我更倾向是LR与RF的问题),做个简单的总结:两种方法都很快且可扩展。在正确率方面,RF比LR更优。但是LR可以在线更新且提供有用的概率信息。鉴于你在Square(不确定推断科学家是什么,应该不是有趣的化身),可能从事欺诈检测:如果你想快速的调整阈值来改变假阳性率与假阴性率,分类结果中包含概率信息将很有帮助。无论你选择什么算法,如果你的各类样本数量是不均衡的(在欺诈检测中经常发生),你需要重新采样各类数据或者调整你的误差度量方法来使各类更均衡。

但是。。。

更好的数据往往比更好的算法更重要,提取好的特征也需要很大的功夫。如果你的数据集非常大,那么分类算法的选择可能对最后的分类性能影响并不大(所以可以根据运行速度或者易用性来选择)。

如果你很在意分类的正确率,那么你得尝试多种分类器,根据交叉验证的结果来挑选性能最好的。或者,学习下Netflix Prize和Middle Earth, 使用某种集成的方法来组合多个分类器。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习分类模型可以分为传统机器学习模型和深度学习模型两种,它们各自有优缺点。 传统机器学习模型: 1. 朴素贝叶斯(Naive Bayes) 优点:速度快,容易实现;适用于高维数据;对小规模数据表现良好。 缺点:需要假设特征之间相互独立,这一假设在实际应用很难满足。 2. 决策树(Decision Tree) 优点:易于理解和实现;支持多分类问题;可以处理连续和离散型数据;能够处理不相关特征数据。 缺点:容易过拟合;不稳定,数据微小变化可能导致大的变化;忽略了属性之间的相关性。 3. 支持向量机(Support Vector Machine,SVM) 优点:可以解决高维问题;可以解决非线性问题;泛化能力强。 缺点:对缺失数据敏感;对非线性问题没有通用解决方案,需要谨慎选择核函数。 4. 逻辑回归(Logistic Regression) 优点:计算代价不高,易于理解和实现;适用于需要得到一个分类概率的场景。 缺点:容易欠拟合;只能处理二分类问题,需要扩展到多分类问题时需要进行额外的处理。 深度学习模型: 1. 卷积神经网络(Convolutional Neural Network,CNN) 优点:对图像识别有很好的效果;对于大规模数据表现良好;可以共享权值减少参数数量。 缺点:需要大量的计算资源和时间训练;对于小数据集表现差;对于较为复杂的问题,需要较深的网络结构。 2. 循环神经网络(Recurrent Neural Network,RNN) 优点:可以处理序列数据;可以处理变长的输入和输出;可以记住之前的状态。 缺点:容易出现梯度消失和梯度爆炸的问题;对于长期记忆难度较大;训练过程较为复杂。 3. 长短时记忆网络(Long Short-Term Memory,LSTM) 优点:可以解决循环神经网络的梯度消失和梯度爆炸问题;可以长期记忆。 缺点:计算代价较高;需要较长的训练时间;对于小数据集表现不佳。 总体而言,不同的机器学习分类模型各有优缺点,在实际应用需要根据问题的特点选择合适的模型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值