QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2001|回复: 0
打印 上一主题 下一主题

各类机器学习算法的优缺点和适用场景汇总

[复制链接]
字体大小: 正常 放大
杨利霞        

5273

主题

82

听众

17万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2021-4-10 11:24 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    ; A9 H9 ?$ S- Y
    各类机器学习算法的优缺点和适用场景汇总7 }& M% p3 p* v; a9 [3 y$ W/ t
    目录5 S: I1 J+ N4 ~6 f- D$ w- s
    朴素贝叶斯分类器(NB:naive Bayes classifiers)
    7 F' u$ t8 F+ O" @半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)2 ]4 Z7 q5 B2 k
    贝叶斯网(信念网)% s7 J! v/ \" |* A
    决策树(decision tree)0 m3 y# ]) g( w1 w
    支持向量机(SVM)
    & O( V, |. A5 N8 {) s; z, y神经网络% F% u: t( K! @4 }: a3 ~& Y
    词向量(word2vec), R. z! q8 [$ k; R- g0 m
    k近邻分类(kNN)
    8 e; I8 t+ y& t线性模型
    2 e% I% ~- a' m1 g8 p高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比* q3 d; l9 v3 _# }
    关于学习算法的性能实验结果
    5 N% J) V; k2 Q9 I/ p% m& k  a朴素贝叶斯分类器(NB:naive Bayes classifiers)
    9 J- ~/ G4 {' z: Y8 p: q0 C顾名思义,其适用于分类任务、并且假设每个属性独立地对分类结果发生影响,然而现实中各个因素往往并不独立,那是否就无法解决问题呢?
    4 P. t8 A( r5 u$ C事实上并非如此,相反,朴素贝叶斯分类器在很多情况下都能获得相当好的性能,一种解释是:无需精准概率值即可导致正确分类结果;另一种解释是:若属性间依赖对所有类别影响相同,或依赖关系的影响能相互抵消,则属性条件独立性假设在降低计算开销的同时,不会对性能产生负面影响。# {5 L8 r3 E2 j4 d$ {( |' Z
    # {# q2 z. P: o$ m7 x
    优点:: t2 S7 o) Y6 }+ Q4 I
    1、计算量较小  K4 g# q# n' \) K
    2、支持懒惰学习、增量学习
    . I' B  U# t$ B' M* E1 g3、对缺失数据不太敏感
    9 |4 \6 o" ?+ h- y2 D6 t4、推断即查表,速度极快。
    2 D2 J) a' |; g$ O9 m; I2 n, S8 }缺点:
    7 U7 R; h2 d9 L7 k. n& g) a1、没有考虑属性间依赖6 _% O5 B: n2 A: c( I) h# J3 |
    2、通过类先验概率产生模型- A; w" P# q3 q( N. E: \, p8 ]
    ; {: d; F2 `  {2 |" R3 T' c/ O8 [
    半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)  |8 m- T. c: x$ k) |
    相比NB的不考虑依赖,SNB则是考虑了一个(独依赖估计策略:ODE)或多个(多依赖估计策略:kDE)属性依赖/ M- |! z/ j( S3 @! v2 B
    优点:& t! U7 g+ z4 w* V
    1、考虑了一个或多个比较强的属性依赖关系,泛化性能可能得到提升' y3 R. v$ q$ R  v) d
    2、计算开销不大
    ! E8 }0 A3 V+ C9 M# r2 R: ~3、同样支持懒惰学习、增量学习
    + ^# M* S' G4 ^3 _9 G0 B% R( U缺点:
    + P# M5 L1 T8 J  W4 }, @1、通过类先验概率产生模型
    ' K( D2 y/ Q% e4 b( Y5 d8 l6 h: t
      n9 q, W, ~5 J7 \贝叶斯网(信念网)8 E& ?6 w' u4 y: D9 _
    贝叶斯网借助有向无环图刻画属性之间的依赖关系,通过吉布斯采样或者变分推断等方式来近似推断后验概率。$ D% }  }- I; z4 e! J& G) \
    优点:, |. F+ N) ]8 M& c! M
    1、更加完整地考虑了属性间依赖关系,泛化性能将进一步提升9 u$ f2 p0 D5 V1 Y7 }8 J
    2、近似估算后验概率2 a* j/ `& h. ^4 [& ?
    3、可用于推测属性缺失的样本
    8 A9 _: G- b$ E: E! k* O  s4、良好的可解释性# g, ]1 X- Z- Q+ @! e; J, p1 s. P' [
    5、常用于语音识别、机器翻译等
    6 N0 X( R7 O- j9 h7 s  F$ q缺点:2 m# ]  f' [) P
    1、结构学习NP难,通过评分搜索方法缓解1 {  e0 `9 A: {6 s; D( z
    2、推断算法的收敛速度较慢
    $ o/ n: \* d% }! H" B( B5 R( U: m5 F% F2 _
    决策树(decision tree)7 Q- X' l2 E7 W, _% O8 @- u: F
    决策树通过信息纯度(信息增益、增益率、基尼指数等)来决定结点的生成,通过剪枝来缩小决策树的尺寸以及缓解过拟合。是一种非参数学习算法。
    ; m! X7 }6 f" v' K7 f! z2 I优点:* a; l8 ^- V$ S3 H& G
    1、计算量较小' P  ?" j- [7 U8 W0 f/ R$ P/ @
    2、清晰表达属性的重要程度7 p8 k+ S/ r6 l! h2 ]4 q* g
    3、可增量学习对模型进行部分重构- c+ j# L9 @# g1 a) W
    4、不需要任何领域知识和参数假设, e; v; B$ L5 Q
    5、适合高维数据
    : }% I' d& O$ j- ?4 Z$ r6、随机森林是基于决策树的集成学习策略,随机森林鲜有短板, b  a' @% |! L9 D6 ~' K/ b
    缺点:
    . C, w7 e4 u  r; d: E6 Q1、没有考虑属性间依赖# n+ l5 [/ o7 @( I# B1 y
    2、容易过拟合,通过剪枝缓解. E! r2 G0 e* ]4 a2 k
    3、不可用于推测属性缺失的样本7 Z' y% r+ K! R& S- {

      O, |6 ]9 v! K1 @支持向量机(SVM): @, B* n: V4 P7 g/ w* ], S( {3 W
    基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开,是一种针对二分类设计的算法,但稍加改造为支持向量回归即可用于回归学习。
    ( u5 Z1 I4 C3 V) z优点:- s: H/ h+ \" p1 P* Z- u& c( Y
    1、可解决小样本的机器学习任务1 h  Z- M% S/ n4 U1 _
    2、可解决高维问题. N3 K/ K: A7 Z$ l% `9 L! q5 ?5 T
    3、可通过核方法解决非线性问题6 U4 f( T, V5 w1 i
    缺点:8 c' g/ q# ~* G9 u4 `: V
    1、对缺失数据敏感
    - U; ~7 Y5 Z: G! Z  Q2、对于非线性问题,核函数方法选择一直是个未决问题' R( x9 t  y( V5 h2 v& y$ U! K
    ! G- u6 P: x2 \* N- g) X, E# M
    神经网络
    2 Z, n  ?. l, }) v9 R% H优点:
    7 m* j5 w3 y- N1、分类的准确度极高
    0 @3 h2 f) ]( ~* ?) b* ?  E2、可解决复杂的非线性问题
    ( j1 C" d1 j, s" B9 B1 O0 {# _3、对噪声神经有较强的鲁棒性和容错能力
    1 b  b# n* [- C, H# x: i4、并行分布处理能力强,分布存储及学习能力强
    % v& K/ K. e0 K9 ]6 t5、常用于图像识别$ i* }, A7 `+ t; {9 K& S
    6、数据量越大,表现越好/ A" J  j3 [: ^4 T/ \
    缺点:! Y# k, ?# b" W+ F2 n
    1、黑箱模型,难以解释
    & Q1 \( `8 i, `" v; J9 Z2、需要初始化以及训练大量参数,如网络结构、权值、阈值,计算复杂1 @# v; b) d9 t. b
    3、误差逆传播的损失
    + d  G0 [, _8 \; h' V: U6 `& l0 n4、容易陷入局部最小
    6 A3 o- k; Z3 c' F  A2 H# [. v8 S% t' D/ g8 [
    词向量(word2vec)
    - o* h" y7 B+ [1 G4 h将文章的每句话当成一行,将每个词用符号隔开(如使用中文分词工具jieba),根据上下文,可以找出相似词义的词。
    / I- y8 [2 j/ ~. x) D( K1 @比如:我 喜欢 你,我 爱 你,我 讨厌 你。根据上下文我和你,可以找到喜欢的相似词,有爱和讨厌。9 r5 S0 E3 O+ Z3 p, w% K
    再一般地如:1 2 3 X 4 5 6,1 2 3 Y 4 5 6。根据上下文1 2 3和4 5 6,可以找到X和Y相似。# p2 b& e7 ]" @7 y% \" K' X
    gensim是一个很好用的Python NLP的包,不光可以用于使用word2vec,还有很多其他的API可以用。它封装了google的C语言版的word2vec。2 [5 u( L2 g+ F3 d7 a& [" ?
    ! A. @# j4 Q) ]  `
    k近邻分类(kNN)
    % U  v  n: u6 ^( j; C4 w基于某种距离度量找出训练集中与其最靠近的k个训练样本,或者指定距离e之内的训练样本,分类任务中通过投票法(以及加权投票等)将出现最多的类别标记作为预测结果,回归任务中则使用平均法(以及加权平均等)
    8 ?7 X0 J. B, X/ o1 H9 ?2 m0 f优点:
    ; U/ S  E$ `2 U' H1、思想简单,易于理解,易于实现,无需估计参数,无需训练;
    8 I5 l: T/ F$ J  |0 ?% S1 I8 `2、适合对稀有事件进行分类;
    2 c) r8 @* D$ e/ U3、特别适用于多分类问题# U$ p# s2 x$ d5 x0 K
    缺点:1 G4 L' I1 B" J/ r1 r
    1、需要计算出待测样本与所有样本的距离,计算量大
    4 E0 |1 n' u! M4 i; c2、样本不平衡时影响大
    , K; ?8 E% W: f, c. j8 |3、适用的特征维度低
    6 ~' f; P+ n- H7 W
    # _& I9 j; `1 V7 e3 Q& d- ?线性模型) \) h; @% Q) `: k& l0 u/ E
    优点:
    ( Y5 U: P7 r7 d$ F) G1、算法简单,编程方便% g0 N7 J. W) d
    2、计算简单,决策速度快
    5 L! r  _& X( X缺点:
    , |, |" q" D9 ~3 G  Z7 D# J1、拟合效果较差
    4 L' X3 G! s7 n5 m; x: @) k
    & Z/ p' e9 X( b, q高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比2 K+ S( A9 V$ j
    k-means是高斯混合聚类在混合成分方差相等、且每个样本仅指派给一个混合成分时的特例,因此k-means计算简单,但效果不如高斯混合聚类9 C* Z3 M# ]5 n+ {2 ^
    由于计算太过复杂,高斯混合聚类并不常用,推荐使用k-means++(与k-means随机选定不同,k-means++初始选定的几个样本距离尽量远,这样能更快得出分簇结果)等k-means变种。" M1 w1 ^! \+ X, y( Z

    / K8 u8 i1 k, d. D关于学习算法的性能实验结果
    + D8 y$ T" y1 Q! L点击查看原文9 ]) ~9 S7 j$ p' r
    4 s' m+ P- @% Q( I
    14年的时候有人做过一个实验[1],比较在不同数据集上(121个),不同的分类器(179个)的实际效果。6 H0 @  N3 W; ^
    论文题为:Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?5 Y( N# ~) t& R- J
    没有最好的分类器,只有最合适的分类器。! a6 K, ?, J& w& [; Y7 d
    1、随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板。
    - C  {$ t1 g3 x) z$ [- x& _2、SVM的平均水平紧随其后,在10.7%的数据集上拿到第一。
    9 b! C8 g9 p: U3、神经网络(13.2%)和boosting(~9%)表现不错。- h- a/ D1 y! U# W" g' X# L) Q
    4、数据维度越高,随机森林就比AdaBoost强越多,但是整体不及SVM[2]。
    3 b2 e6 _$ L. l( b: K6 j5、数据量越大,神经网络就越强。. W; q1 r' F# w6 p% a: ^
    ————————————————7 x$ @. H: T) q+ t) U$ b/ y+ e
    版权声明:本文为CSDN博主「路飞的纯白世界」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    # S- ?, d8 N) q3 j' S原文链接:https://blog.csdn.net/u010921136/article/details/90668382& t" b" j* p* E+ y6 _! k! ~

    5 I- I2 N" z) y. M7 v2 Y, E; A
    ! g* H' F  x0 O
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-6-9 05:41 , Processed in 0.593258 second(s), 50 queries .

    回顶部