QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2008|回复: 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
    ) `: B# p& _* b9 W% |% O
    各类机器学习算法的优缺点和适用场景汇总& J2 P0 j  S- c4 o
    目录
    ( @+ I* z2 w7 E" d朴素贝叶斯分类器(NB:naive Bayes classifiers)
    0 a. @  `8 c0 a( D! Q' h) p半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)' t1 M) w6 A7 S8 s
    贝叶斯网(信念网)
    , Z5 q& x+ B  i决策树(decision tree)! C5 |; o& f4 ?/ @/ S- l
    支持向量机(SVM)& I5 A% l! w' B, e
    神经网络
    : a/ O+ P) J! p, O4 @6 E词向量(word2vec)( _6 [1 d; t5 `8 m, u
    k近邻分类(kNN)0 f7 X1 ~) ^3 n) x6 V
    线性模型1 W/ s; P7 B: c5 B# r
    高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比
    " P2 c& z9 Q3 F7 O3 O% {关于学习算法的性能实验结果4 @% n2 O* z6 z) \! |2 c
    朴素贝叶斯分类器(NB:naive Bayes classifiers)
    ; v4 {: m( ?/ K4 W4 ]9 F6 z顾名思义,其适用于分类任务、并且假设每个属性独立地对分类结果发生影响,然而现实中各个因素往往并不独立,那是否就无法解决问题呢?
    3 B' L8 V$ J  N* `# i  x& r事实上并非如此,相反,朴素贝叶斯分类器在很多情况下都能获得相当好的性能,一种解释是:无需精准概率值即可导致正确分类结果;另一种解释是:若属性间依赖对所有类别影响相同,或依赖关系的影响能相互抵消,则属性条件独立性假设在降低计算开销的同时,不会对性能产生负面影响。3 v7 r7 w9 t# M9 H% D
    6 i9 m" G; b) P  h7 `+ W2 F
    优点:4 F' Y% f2 V' v5 \& S
    1、计算量较小
    ( a8 z) q0 l: g  o. e, n! u2、支持懒惰学习、增量学习6 L! q8 y) N% T
    3、对缺失数据不太敏感6 m" h9 s+ N! _' B4 m
    4、推断即查表,速度极快。( O4 o) n' H) K. v8 g+ h# n
    缺点:
    " r/ T. }! S- @: o1、没有考虑属性间依赖$ K  U9 N# r, [5 E: i
    2、通过类先验概率产生模型8 I, \1 j3 v8 [3 k
    & F* F! e7 d& k9 g
    半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)  z0 p( _( Z: d9 \: }1 r& V: O% K
    相比NB的不考虑依赖,SNB则是考虑了一个(独依赖估计策略:ODE)或多个(多依赖估计策略:kDE)属性依赖, x, P3 a/ V1 ~: ~+ p* n6 I! m, [
    优点:" `1 c, k/ S$ K' y, p+ H3 H
    1、考虑了一个或多个比较强的属性依赖关系,泛化性能可能得到提升( b) g9 Z4 V9 O; v: m
    2、计算开销不大
    ! u  t, f$ E/ f. \; t9 A3、同样支持懒惰学习、增量学习
    , R$ \& ?$ z, H1 x缺点:4 N, B  E( i! q7 T5 R7 O& `
    1、通过类先验概率产生模型' ~" F8 \- [/ M0 `

    4 S5 T- a5 S9 N贝叶斯网(信念网)1 ?8 t8 B) y" |& ?9 ?+ @
    贝叶斯网借助有向无环图刻画属性之间的依赖关系,通过吉布斯采样或者变分推断等方式来近似推断后验概率。# t2 z* N4 ]) i. _
    优点:( p8 q9 ~" |/ V2 N8 H( |
    1、更加完整地考虑了属性间依赖关系,泛化性能将进一步提升
    , p; Y; _- q' e2、近似估算后验概率
    7 H1 L; H3 @0 }+ P* S2 i, ^* t3、可用于推测属性缺失的样本
    1 o) Z3 k/ C& N1 W5 P& f: i' e- g4、良好的可解释性( O' ^& p4 h! E  Y, Y6 |0 x
    5、常用于语音识别、机器翻译等
    8 W" m3 h+ v' ?缺点:  }1 w! E2 C) Y0 {7 F$ t; b
    1、结构学习NP难,通过评分搜索方法缓解4 Z1 E3 F) c# N+ V
    2、推断算法的收敛速度较慢
    3 h) ?& c6 L$ r' X
    * {8 [) h1 ]9 ?* j( h7 a: P决策树(decision tree)& H; g1 f% `! P8 \2 o) n2 W
    决策树通过信息纯度(信息增益、增益率、基尼指数等)来决定结点的生成,通过剪枝来缩小决策树的尺寸以及缓解过拟合。是一种非参数学习算法。
    , A1 u. T) v  t6 S优点:/ C9 v: |. f( L  Q- ?
    1、计算量较小$ @0 Z3 I0 B* B) k
    2、清晰表达属性的重要程度
    $ \0 v' E7 ?) u) L5 }- M& X; y3、可增量学习对模型进行部分重构  |% I: u# a- W6 {& b
    4、不需要任何领域知识和参数假设
    ; Y  @1 v, L; ~, q, G8 J5、适合高维数据
    3 ~% e6 Q# V; h( P6、随机森林是基于决策树的集成学习策略,随机森林鲜有短板( `* d" S  f, V7 y
    缺点:( H) v  a6 w/ ^" y$ O- [
    1、没有考虑属性间依赖6 N/ S# I5 J, }1 J. V6 c
    2、容易过拟合,通过剪枝缓解( x* E+ q5 g# ~: H5 S, n" c+ A
    3、不可用于推测属性缺失的样本( U1 c9 D& Q% d  @9 i6 S
    ! j2 f0 b5 _! ~- t2 ^- R$ |6 m
    支持向量机(SVM)' o, d5 j# c0 @# o3 P7 d# K& Y
    基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开,是一种针对二分类设计的算法,但稍加改造为支持向量回归即可用于回归学习。  j% D+ d+ E7 u) Z' O: K
    优点:
    ' c) r4 D) ?7 N4 H, M1 s7 a1、可解决小样本的机器学习任务
    8 I5 j9 z4 b% C1 P$ e* l2、可解决高维问题& o' Z3 {0 D; `# |
    3、可通过核方法解决非线性问题
    5 w/ p% l, @( X1 c缺点:3 [; b7 s8 K% N/ q* F
    1、对缺失数据敏感
    7 N$ ]6 {/ f1 O2、对于非线性问题,核函数方法选择一直是个未决问题
    * Z' g) W# }. O& B+ x* _
    % `& ~0 c! A3 n/ _神经网络
    ' z& m3 t8 f: |6 D0 S! N) {3 _优点:0 b% _# n$ e7 i4 _4 `
    1、分类的准确度极高3 _1 |* t2 i6 `; t! t* c: @+ N
    2、可解决复杂的非线性问题
    6 ]8 g. T* W4 X) p% I& @, c8 z+ E3、对噪声神经有较强的鲁棒性和容错能力
    4 G7 j& V. ^4 L& `% h" q6 m/ h4、并行分布处理能力强,分布存储及学习能力强% r% |" f2 p% X# h& N: y
    5、常用于图像识别0 e1 X# M- Z, F, K, V
    6、数据量越大,表现越好! R% j6 }9 i) @  B1 ]8 D
    缺点:
    7 b, `1 A! W0 R6 B1、黑箱模型,难以解释
    % f( @) i8 T) \. q) O2、需要初始化以及训练大量参数,如网络结构、权值、阈值,计算复杂( j" P2 D$ l& j2 Z4 }% @  ?5 s
    3、误差逆传播的损失
    8 V  ~/ ]* i' q4、容易陷入局部最小
    ) v, |4 b3 B/ l9 _; c: k+ {1 T+ ]2 `% F4 a9 T6 y$ t
    词向量(word2vec)* V1 K$ s" Y7 J8 o+ d; p# s
    将文章的每句话当成一行,将每个词用符号隔开(如使用中文分词工具jieba),根据上下文,可以找出相似词义的词。) r: E( O4 U/ s0 O4 m. A
    比如:我 喜欢 你,我 爱 你,我 讨厌 你。根据上下文我和你,可以找到喜欢的相似词,有爱和讨厌。
    1 j$ |" z- F4 f* S再一般地如:1 2 3 X 4 5 6,1 2 3 Y 4 5 6。根据上下文1 2 3和4 5 6,可以找到X和Y相似。& K; ~/ f- l9 I) T1 B% v
    gensim是一个很好用的Python NLP的包,不光可以用于使用word2vec,还有很多其他的API可以用。它封装了google的C语言版的word2vec。7 E& G( d7 F$ I9 h
    # n7 d3 S% @6 W1 [9 C
    k近邻分类(kNN)
    5 t9 J3 @! k% k' l8 Z# _基于某种距离度量找出训练集中与其最靠近的k个训练样本,或者指定距离e之内的训练样本,分类任务中通过投票法(以及加权投票等)将出现最多的类别标记作为预测结果,回归任务中则使用平均法(以及加权平均等)
    1 Q% Z5 w! A9 Q& Z优点:5 C1 L8 Y3 K/ j8 B: _
    1、思想简单,易于理解,易于实现,无需估计参数,无需训练;
    ( v$ ?+ \, L+ p7 [, ?8 D( m: N2、适合对稀有事件进行分类;! F3 q, |5 ^5 |/ l( Y9 e
    3、特别适用于多分类问题
    2 H7 A6 U/ u* ]缺点:
    2 c; J% C1 ?* M; b1、需要计算出待测样本与所有样本的距离,计算量大
    * i6 S# w( s; j8 T% f9 d3 Z5 Z2、样本不平衡时影响大
    6 F2 o" D; i* h$ L5 e$ Q: q, Q3、适用的特征维度低
    - K" v' o2 z/ |- `$ v. A( |" G) F1 d5 e* m0 ~2 ]7 K  m% D
    线性模型. ]% v9 |5 T2 S+ x. r; t, M: z8 k
    优点:
    4 P, K' X! e7 o% G1、算法简单,编程方便
    " x' c8 _0 P6 y% ^  t& C2、计算简单,决策速度快# p: N9 E% M' `3 I* B
    缺点:; p  P( r6 S( ?5 ^* }8 O, N! A
    1、拟合效果较差
    4 r* L2 g! D- J
    7 Z, T# r, \( Z% W高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比- `6 M( b3 J, H  X/ @% G) a8 c+ p
    k-means是高斯混合聚类在混合成分方差相等、且每个样本仅指派给一个混合成分时的特例,因此k-means计算简单,但效果不如高斯混合聚类
    9 t: S! U# Q" W由于计算太过复杂,高斯混合聚类并不常用,推荐使用k-means++(与k-means随机选定不同,k-means++初始选定的几个样本距离尽量远,这样能更快得出分簇结果)等k-means变种。/ W* {$ J& }" G1 I+ F( c$ {$ G: y

    % h" T- L* l$ V0 \9 ~关于学习算法的性能实验结果# O: U2 Q! l) \% a) d
    点击查看原文
    4 e; k# `% S  B8 x7 }7 p3 a
    # Y8 h' M" y( i% _14年的时候有人做过一个实验[1],比较在不同数据集上(121个),不同的分类器(179个)的实际效果。$ m/ U1 A) j$ w$ d
    论文题为:Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?
    6 T: t6 y( N' `没有最好的分类器,只有最合适的分类器。
    ! }1 o! T2 D3 a1 ?4 M" p- F1、随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板。
    0 e& V* J- t* `+ L  P0 b  {% _2、SVM的平均水平紧随其后,在10.7%的数据集上拿到第一。
    + v9 b: |3 ^5 `- z; m8 }; o3、神经网络(13.2%)和boosting(~9%)表现不错。
    4 X3 d- w: w) \4 h& b' F0 Q# u4、数据维度越高,随机森林就比AdaBoost强越多,但是整体不及SVM[2]。7 R$ N- [- c6 z8 g' P6 j
    5、数据量越大,神经网络就越强。# n& |# `, T4 d  {/ ^
    ————————————————
    3 i& H0 y8 f; s2 L; F版权声明:本文为CSDN博主「路飞的纯白世界」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。; |( `! S- J9 F0 X
    原文链接:https://blog.csdn.net/u010921136/article/details/90668382
    " p2 s( P: K/ Z- s1 c
    ) x4 t5 p9 S6 _' G' K/ X( q8 |; j. z7 X# G- B
    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-10 08:24 , Processed in 0.447155 second(s), 50 queries .

    回顶部