QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1966|回复: 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
    ( f! S5 V% I- x4 M1 r* O
    各类机器学习算法的优缺点和适用场景汇总- v9 n$ Z' g5 V$ \; B) w: h" e
    目录: c9 ]$ [6 r% \+ [/ v: Y0 Y
    朴素贝叶斯分类器(NB:naive Bayes classifiers)) X. D) g8 G, ^( [/ v( l& J/ b0 d
    半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)
    ! L$ j' u2 j; f. e' P- A贝叶斯网(信念网); D% L  P7 t+ O: G% Z3 N
    决策树(decision tree): |* m' C! `4 o
    支持向量机(SVM)
    ; A. L! N  W' r; q- ^. P( s神经网络
    ! B; [6 ~- }' q) @7 y4 Z4 g$ \0 N( C词向量(word2vec)" J4 h4 H& V" X5 [- I8 H
    k近邻分类(kNN)
    ' y2 F: z$ m9 ^7 w; ^4 m+ J" \3 r线性模型
    + r$ f) O7 [, c) q# z8 {8 Q高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比
    + A# Z) l( y. e9 x" E关于学习算法的性能实验结果
    # L8 g' k! C; ]. M) c朴素贝叶斯分类器(NB:naive Bayes classifiers)6 }9 a8 d1 l) A  N
    顾名思义,其适用于分类任务、并且假设每个属性独立地对分类结果发生影响,然而现实中各个因素往往并不独立,那是否就无法解决问题呢?* U! D$ g! v/ i* B- N
    事实上并非如此,相反,朴素贝叶斯分类器在很多情况下都能获得相当好的性能,一种解释是:无需精准概率值即可导致正确分类结果;另一种解释是:若属性间依赖对所有类别影响相同,或依赖关系的影响能相互抵消,则属性条件独立性假设在降低计算开销的同时,不会对性能产生负面影响。. o( a1 |; F( N7 R* j! a! D
    # |% X5 R* h, I8 _% k$ {8 B
    优点:- Q; m3 ~- N& c" O
    1、计算量较小
    . J" ?. x' T  y4 M' d% t2、支持懒惰学习、增量学习7 P, X2 M! r: |
    3、对缺失数据不太敏感
    1 l3 E% B, y$ H5 Z# p4、推断即查表,速度极快。6 B) ^, ~/ H- n
    缺点:; x% n& n( E4 Q# W, u3 G
    1、没有考虑属性间依赖
    ! s3 u" w8 U9 _  G$ {* B0 R2、通过类先验概率产生模型, q0 d) ]8 A# n6 Y5 _

    * \( }  }& R/ V# F& M: f# t半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)1 \) L# E5 W3 I- `9 j( w/ T
    相比NB的不考虑依赖,SNB则是考虑了一个(独依赖估计策略:ODE)或多个(多依赖估计策略:kDE)属性依赖
    $ B6 H& ?% m. J1 a* W  ]: }4 ]2 J优点:( s3 E# \  a8 Y, k1 \
    1、考虑了一个或多个比较强的属性依赖关系,泛化性能可能得到提升
    : ?. ~$ i: j5 Y& p% {4 B0 I2、计算开销不大' w/ q& T8 x) p7 }  H# U
    3、同样支持懒惰学习、增量学习
    ' a% z9 f+ r! `4 v* b9 Q5 y6 b6 M6 q缺点:/ O  f) a( X6 _* Z& i
    1、通过类先验概率产生模型
    & M+ _8 G( m1 T8 U# H* y
    3 F6 {: N4 Q* ^贝叶斯网(信念网)
    ! K: }  A2 H) W% @: R贝叶斯网借助有向无环图刻画属性之间的依赖关系,通过吉布斯采样或者变分推断等方式来近似推断后验概率。
    8 C& d* C( b6 t# F- K优点:5 Z( Y4 Q5 X2 ~) s% y
    1、更加完整地考虑了属性间依赖关系,泛化性能将进一步提升
    % r9 S- C/ l; T$ f' e2 u2、近似估算后验概率
    $ }' L0 g( ~3 ]% }3、可用于推测属性缺失的样本) z+ E% Q0 V2 V1 Z
    4、良好的可解释性
    - i1 F4 m/ v- S  e8 d5、常用于语音识别、机器翻译等6 P0 W- O% g+ H9 g9 \: s3 u3 ^4 K
    缺点:
    9 W0 w8 U0 N% ?1 B- P# I1、结构学习NP难,通过评分搜索方法缓解3 W+ `5 V1 k/ u6 f: k9 w
    2、推断算法的收敛速度较慢/ Y4 i) e$ s8 O& g
    + ]1 e  g; T: D" h8 o9 a
    决策树(decision tree)8 ?6 W. n  k6 r+ _* @
    决策树通过信息纯度(信息增益、增益率、基尼指数等)来决定结点的生成,通过剪枝来缩小决策树的尺寸以及缓解过拟合。是一种非参数学习算法。2 S$ v! \1 ^& W- Z
    优点:9 `; }  H/ w5 n. z6 t+ ^
    1、计算量较小3 h8 B2 M  [! _
    2、清晰表达属性的重要程度
    2 G: s* B, d7 ], H: ]3、可增量学习对模型进行部分重构
    / Y9 e5 b+ D( x+ H7 v4、不需要任何领域知识和参数假设: ?3 A5 K2 a4 x% w
    5、适合高维数据* [0 b5 A: A4 C9 H. p9 X0 M
    6、随机森林是基于决策树的集成学习策略,随机森林鲜有短板, e( y* }6 L. i; s" R
    缺点:+ S8 n" i3 m3 \* V& Q7 ?. G
    1、没有考虑属性间依赖
    1 F* z# i4 t. k. G2、容易过拟合,通过剪枝缓解
    ) v+ M8 r( g7 U: k4 O+ D+ ?" q7 ^3、不可用于推测属性缺失的样本9 q: z* q& W7 |( \0 }

    3 n+ t9 ]6 X: H+ @& }支持向量机(SVM)% M; d3 U- k9 \5 i" v3 n' X+ Y
    基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开,是一种针对二分类设计的算法,但稍加改造为支持向量回归即可用于回归学习。
    8 S3 r& R* f' X6 j& v- I优点:6 A6 k. t7 ?9 Q( s4 |* ]
    1、可解决小样本的机器学习任务
    & Y/ B4 O. ?4 }5 `7 ^/ e2、可解决高维问题
    . z; U2 n( `, K( d1 p3、可通过核方法解决非线性问题* o- d3 k# R- o* a  {- A
    缺点:
    5 v: u. b1 _8 R& ]1、对缺失数据敏感
    4 a# P. A3 u8 Y- o2、对于非线性问题,核函数方法选择一直是个未决问题
    $ @$ d7 c3 m% M; T5 H5 a6 I# q9 E9 k  J0 p5 a8 \' a
    神经网络
    4 `, ?+ c9 b+ ?$ V% c( k优点:
    # R7 u* @2 I/ u( M1、分类的准确度极高
    2 c4 b/ v; `- Y- C' H+ r2、可解决复杂的非线性问题. T9 D, d: K+ l! M7 m' a
    3、对噪声神经有较强的鲁棒性和容错能力
    2 `- o! A* N5 n; Z1 C4 U4、并行分布处理能力强,分布存储及学习能力强  q7 {' v5 P7 q6 w
    5、常用于图像识别2 j, U7 B. F8 `* C+ u! z/ S: [2 s( \' l
    6、数据量越大,表现越好5 }) w/ |# x' E+ y
    缺点:
    ) d6 W* c! {& F% _) I: [- l1、黑箱模型,难以解释
    - |% K: j6 I1 Z$ Y2、需要初始化以及训练大量参数,如网络结构、权值、阈值,计算复杂, }+ E3 c' o7 D
    3、误差逆传播的损失
    9 ^' G( g( D+ M! }* f4、容易陷入局部最小$ Z- q- T7 H( l5 B6 u) K

      O/ k1 O( k% s: n3 D词向量(word2vec)* p1 }7 q) T0 |) J' Y% Z; v+ i8 R3 ]) q
    将文章的每句话当成一行,将每个词用符号隔开(如使用中文分词工具jieba),根据上下文,可以找出相似词义的词。
    + u2 Y# k# ?# W. B& \比如:我 喜欢 你,我 爱 你,我 讨厌 你。根据上下文我和你,可以找到喜欢的相似词,有爱和讨厌。6 `$ w" u% V5 r8 E( q4 e/ f
    再一般地如:1 2 3 X 4 5 6,1 2 3 Y 4 5 6。根据上下文1 2 3和4 5 6,可以找到X和Y相似。
    # M$ |$ z2 L8 c! x6 x  c6 K9 Vgensim是一个很好用的Python NLP的包,不光可以用于使用word2vec,还有很多其他的API可以用。它封装了google的C语言版的word2vec。
    , c: D+ N2 M( y4 x
    / X& K& ?2 w( S: o4 [$ Ok近邻分类(kNN)
    % S. k  a  A+ L" i7 _基于某种距离度量找出训练集中与其最靠近的k个训练样本,或者指定距离e之内的训练样本,分类任务中通过投票法(以及加权投票等)将出现最多的类别标记作为预测结果,回归任务中则使用平均法(以及加权平均等): b  \4 z4 X) r  j. e
    优点:! y; B) Y' p) O+ T
    1、思想简单,易于理解,易于实现,无需估计参数,无需训练;
    : K7 y# ^4 s2 \" N2 w+ j4 u, z2、适合对稀有事件进行分类;
    - {6 F8 ]5 d3 D- ]5 }3、特别适用于多分类问题
    ) I) ~% Q' ?1 E* Y8 _' d缺点:
    ' S# X  x! z5 r2 I0 `7 R$ w: \1、需要计算出待测样本与所有样本的距离,计算量大
    . n* R- W, d8 J4 _. F& G/ C# C9 Y2、样本不平衡时影响大! l. e- H- }5 @1 I- v4 W) c* q
    3、适用的特征维度低- _/ t/ \2 {" |% T

    7 k$ j* n, j% ^) X9 @, |4 a- n; d线性模型) G$ `! i5 }0 n& ?3 I5 }
    优点:
    ; W0 g0 @1 o- J; b2 i) c- H1、算法简单,编程方便& G# j" k1 y" Y2 F
    2、计算简单,决策速度快. m% d  l6 K  ~; c% f
    缺点:
    * }9 B3 I  J0 k1、拟合效果较差( r# @1 B2 @0 O" E9 s, F; q

    . Q/ ]+ i. S: e' j高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比
      [: r1 e/ W; L; Ok-means是高斯混合聚类在混合成分方差相等、且每个样本仅指派给一个混合成分时的特例,因此k-means计算简单,但效果不如高斯混合聚类' r; N' ]0 i, }# Z
    由于计算太过复杂,高斯混合聚类并不常用,推荐使用k-means++(与k-means随机选定不同,k-means++初始选定的几个样本距离尽量远,这样能更快得出分簇结果)等k-means变种。6 Z0 j2 l; }) ]

    : ?1 w5 F7 m+ r9 e2 `8 l3 g1 b% o关于学习算法的性能实验结果7 X/ C8 R& H6 ?1 a" `$ `/ a# y
    点击查看原文- f. X$ \# X  W$ X3 F2 h8 i) V
    $ H0 B; y8 b0 s1 L1 X5 f
    14年的时候有人做过一个实验[1],比较在不同数据集上(121个),不同的分类器(179个)的实际效果。4 d4 F4 s2 C& K  G  R9 e
    论文题为:Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?/ S: e0 u) C0 \/ d$ ~" I
    没有最好的分类器,只有最合适的分类器。& C8 n, U! w4 g; ^" K5 a
    1、随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板。  A) Y2 E3 p' O& W  I- |( {
    2、SVM的平均水平紧随其后,在10.7%的数据集上拿到第一。
    1 T5 S# W, b( V3、神经网络(13.2%)和boosting(~9%)表现不错。
      l  x. M$ W# ?1 F5 q( Z+ _4、数据维度越高,随机森林就比AdaBoost强越多,但是整体不及SVM[2]。
    ) j" }# b8 B* j4 Y+ P4 f5、数据量越大,神经网络就越强。
    . v) C  C5 ?. H  s————————————————1 m) d; s( R4 h" Z3 {
    版权声明:本文为CSDN博主「路飞的纯白世界」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    ! P! l* \& V$ o( i3 j# O原文链接:https://blog.csdn.net/u010921136/article/details/90668382
    7 C9 T+ _5 R7 P- C& ^
    5 Y8 Q$ G# x% J* D* `+ Y' p% d6 O4 l7 b5 R
    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-4-20 18:21 , Processed in 0.439084 second(s), 52 queries .

    回顶部