QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1962|回复: 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+ i' N# D3 c/ A/ W( }
    各类机器学习算法的优缺点和适用场景汇总. ~. N+ |: o& U3 y/ D
    目录5 G- K0 B3 q$ T1 k
    朴素贝叶斯分类器(NB:naive Bayes classifiers)
      t1 q9 w4 D+ o9 Z" i% ~半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)+ x& K% i+ W) k0 c! S# N
    贝叶斯网(信念网)% [: e/ t" z, {9 n% c
    决策树(decision tree)" M' E, J" T# I, ]8 ~
    支持向量机(SVM): _9 c$ \6 o) u' l
    神经网络
    ( z2 \: ~7 T3 L* K$ w; A( y; p词向量(word2vec)
    # T; M* p2 e/ O1 `k近邻分类(kNN)
    3 Q* P  T* ^% L线性模型
    8 @! D( Z- R) d7 T/ i高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比2 G9 p) `/ l+ F- @2 b
    关于学习算法的性能实验结果5 v% h% _2 a6 m; L, J5 t
    朴素贝叶斯分类器(NB:naive Bayes classifiers)" v" k' h- @! l, E9 P  U% I
    顾名思义,其适用于分类任务、并且假设每个属性独立地对分类结果发生影响,然而现实中各个因素往往并不独立,那是否就无法解决问题呢?
    - ]2 o' r' ~$ Y# M1 g1 j: d事实上并非如此,相反,朴素贝叶斯分类器在很多情况下都能获得相当好的性能,一种解释是:无需精准概率值即可导致正确分类结果;另一种解释是:若属性间依赖对所有类别影响相同,或依赖关系的影响能相互抵消,则属性条件独立性假设在降低计算开销的同时,不会对性能产生负面影响。
    . I- R6 D, s# T7 p; ?3 i1 M
    " ~' d6 \$ b7 [优点:
    * ~/ m4 `3 m. n9 x% m' p( |+ a. k: T1、计算量较小5 a' G  U. t8 _8 @8 d1 B, Z
    2、支持懒惰学习、增量学习
    % w7 O5 Q! u+ @' X1 k) l3、对缺失数据不太敏感: I7 X) q2 X6 W9 l" R+ f! C% E
    4、推断即查表,速度极快。
    5 Z5 O2 h, i+ X, p% d, t, Y缺点:
      _( j& D8 d) ^2 H( k) _1 \& t1 S* U6 H1、没有考虑属性间依赖4 {' j% A2 z/ _" n" {
    2、通过类先验概率产生模型
    ( z0 b) M4 N: B/ S" w: Z- k9 g# i3 ~7 e
    半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)
    . C: v8 i$ f9 w/ C相比NB的不考虑依赖,SNB则是考虑了一个(独依赖估计策略:ODE)或多个(多依赖估计策略:kDE)属性依赖
    0 e' e" C. o; W! s# _, z: m优点:- v6 G5 P6 g- F) {
    1、考虑了一个或多个比较强的属性依赖关系,泛化性能可能得到提升; r$ o# G' y3 d' [' g
    2、计算开销不大( o& q( s% `. s) H9 e
    3、同样支持懒惰学习、增量学习: i# ^! g2 V! ^, H1 _% v
    缺点:
    ) o: x) A( h; X. M4 M% H1、通过类先验概率产生模型0 X4 g3 _" [4 j# M$ j6 z

    6 C; v4 X/ H1 m. Q# T/ n2 f$ q贝叶斯网(信念网); V' |4 H0 p; j% U. s1 X
    贝叶斯网借助有向无环图刻画属性之间的依赖关系,通过吉布斯采样或者变分推断等方式来近似推断后验概率。& c/ n3 j4 l0 V( R
    优点:# T/ y  f2 _) h+ W# V9 I# s
    1、更加完整地考虑了属性间依赖关系,泛化性能将进一步提升- k0 C' D% }. s  g. E
    2、近似估算后验概率; z- b% t% e2 s( r& p; T
    3、可用于推测属性缺失的样本  z# T! u+ ^  i5 D0 g* D
    4、良好的可解释性$ b$ ?. Q% G3 q& R) o: m1 r
    5、常用于语音识别、机器翻译等
    2 z2 g$ v& w/ o! L4 a- a6 _缺点:" W3 u/ l  {  z8 k( k
    1、结构学习NP难,通过评分搜索方法缓解
    - ^$ f  c' |; i2、推断算法的收敛速度较慢* |, M8 a: B% m& I

    : z. o& F6 D# a决策树(decision tree)
    # k- n5 I0 O! a# B! u  v7 R决策树通过信息纯度(信息增益、增益率、基尼指数等)来决定结点的生成,通过剪枝来缩小决策树的尺寸以及缓解过拟合。是一种非参数学习算法。
    9 x% N6 E" S7 Z优点:
      V2 o1 z9 n3 b* j* M0 ~0 W& g1、计算量较小
    ! H% Q' Y5 ~( q7 E2、清晰表达属性的重要程度
    # T- X+ n4 h; d2 N6 \+ O2 f7 Z3、可增量学习对模型进行部分重构( H- W' b; ?9 v& I
    4、不需要任何领域知识和参数假设6 V7 g, m, F& F5 ~% Y' V
    5、适合高维数据
    ! {4 ?1 u9 ~, W& k: u3 Y& m6、随机森林是基于决策树的集成学习策略,随机森林鲜有短板, e7 L. `+ ^7 B) k7 s
    缺点:
    " M3 p1 h' s1 q) {# ?% C1、没有考虑属性间依赖& c3 B+ V5 {1 T% |+ _
    2、容易过拟合,通过剪枝缓解9 ?0 W, u9 P& F- @5 ]
    3、不可用于推测属性缺失的样本
    , s6 B/ o+ T1 `$ i
    . t7 L0 E; h6 ?- m  b, b( U6 n# P$ X支持向量机(SVM)+ J/ B/ [# }" h* \% _- P% g
    基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开,是一种针对二分类设计的算法,但稍加改造为支持向量回归即可用于回归学习。0 p& e& U3 R1 A& U# B
    优点:$ Y" k' Q" g3 j: R2 A2 p- P
    1、可解决小样本的机器学习任务
    , E4 w0 h1 M6 v1 Q7 b0 c& C2、可解决高维问题
    # e8 G$ ^; l: T% F; `* C2 [+ t) C* D3、可通过核方法解决非线性问题- C4 [5 b$ P1 ]+ g, c9 c$ G
    缺点:
    $ X2 r; U  h5 W; d0 Q# \; r1、对缺失数据敏感
    7 H6 v2 K- o8 d4 m% E8 i- l0 E2、对于非线性问题,核函数方法选择一直是个未决问题
    2 k6 H3 N4 b- Z3 G! m% s4 C6 H; C8 y# O, d" V" q. |$ o
    神经网络/ P# R, z1 n0 [6 |* \
    优点:
    9 [) d1 Z! J+ n' m6 |& Z1、分类的准确度极高
    2 m. x$ ]" ~9 y1 j& A5 h2、可解决复杂的非线性问题" m9 y  w0 R2 k1 Y0 e1 V( ?1 i
    3、对噪声神经有较强的鲁棒性和容错能力7 y" k+ d2 @, n6 O( r7 B; G
    4、并行分布处理能力强,分布存储及学习能力强2 D, B0 L- G" k; t2 y& I
    5、常用于图像识别
    9 ]0 [3 C/ W5 {8 y6、数据量越大,表现越好
    " i( W9 z" b2 ~& ~" S2 w3 e% g1 Y缺点:# ~1 V  v- v; H* o" q( `
    1、黑箱模型,难以解释
    ( w) j! f& o1 D2、需要初始化以及训练大量参数,如网络结构、权值、阈值,计算复杂+ x( |% f5 ^  _7 ]( Z) |% H
    3、误差逆传播的损失
    ( L; G9 j1 U: {- b9 [; E4 a4、容易陷入局部最小
    1 K% v% E' v6 y# v' e" O* `8 d+ l( E7 N2 a/ }6 |- p
    词向量(word2vec)
    ( j# H$ n  H# K9 s& V+ o将文章的每句话当成一行,将每个词用符号隔开(如使用中文分词工具jieba),根据上下文,可以找出相似词义的词。
    $ b( u- M6 E4 D: V+ M比如:我 喜欢 你,我 爱 你,我 讨厌 你。根据上下文我和你,可以找到喜欢的相似词,有爱和讨厌。
    - W2 U: P7 o- I  o; N9 c再一般地如:1 2 3 X 4 5 6,1 2 3 Y 4 5 6。根据上下文1 2 3和4 5 6,可以找到X和Y相似。9 N( I0 ?7 q+ ^8 {% N5 T
    gensim是一个很好用的Python NLP的包,不光可以用于使用word2vec,还有很多其他的API可以用。它封装了google的C语言版的word2vec。1 D2 Y7 r. G2 j3 `! D5 g( E

    . D: N; z' i5 J9 b! Nk近邻分类(kNN)
    9 }+ S: A. S- F4 s+ E基于某种距离度量找出训练集中与其最靠近的k个训练样本,或者指定距离e之内的训练样本,分类任务中通过投票法(以及加权投票等)将出现最多的类别标记作为预测结果,回归任务中则使用平均法(以及加权平均等): ]7 D2 D3 s% d; B
    优点:
    - t8 p$ B  T2 x! z8 o1、思想简单,易于理解,易于实现,无需估计参数,无需训练;
    ' _& l8 s; M' g2 S" d( Z2、适合对稀有事件进行分类;
    ( u- s2 J4 O" ]9 Y7 C9 W3、特别适用于多分类问题# q: X& C1 ^* e1 e. ~5 s% z7 ?8 W" C
    缺点:6 Y: W% p& B4 a% b/ m7 K6 u
    1、需要计算出待测样本与所有样本的距离,计算量大
    0 A- d  @8 _7 v  i2、样本不平衡时影响大3 s% I. ]6 [3 S  G
    3、适用的特征维度低
    2 m: K/ U1 t& O) A2 |
    # c" n. f( l! Y: x线性模型
    $ [$ V* \3 {1 x8 z  n优点:) u. r2 A; J+ C; j3 P: `: D
    1、算法简单,编程方便
    6 T) j( U# B2 b2 ^, W9 p+ @1 A2、计算简单,决策速度快, {( Y$ H. F5 f' O& D
    缺点:' _5 j, R6 [+ n% i; V9 t$ O: L; t5 h
    1、拟合效果较差6 M6 M- f9 Z4 i! W

    " X0 {: t: O# B! Z高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比; p# U* j4 U# h1 X
    k-means是高斯混合聚类在混合成分方差相等、且每个样本仅指派给一个混合成分时的特例,因此k-means计算简单,但效果不如高斯混合聚类
    ' A4 o, v% ~: z: k由于计算太过复杂,高斯混合聚类并不常用,推荐使用k-means++(与k-means随机选定不同,k-means++初始选定的几个样本距离尽量远,这样能更快得出分簇结果)等k-means变种。
    4 z6 c% J; Q6 M& o( N  }9 X4 n1 D5 q+ c
    关于学习算法的性能实验结果2 s; a- e4 y1 q$ I
    点击查看原文
    , k. o: u5 x8 y" Q& b
    4 }$ D, t' O+ M- v9 p9 h14年的时候有人做过一个实验[1],比较在不同数据集上(121个),不同的分类器(179个)的实际效果。
    3 g5 z/ h  r/ `7 J0 k论文题为:Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?
    8 s% n# n! `* x# _没有最好的分类器,只有最合适的分类器。; \! q- _0 x  r" S
    1、随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板。9 m. J/ N" W4 ^1 i+ q
    2、SVM的平均水平紧随其后,在10.7%的数据集上拿到第一。# t- C- {6 @/ V& g
    3、神经网络(13.2%)和boosting(~9%)表现不错。
    8 ]9 m- }, E2 k& B4 ~$ U3 C& @4、数据维度越高,随机森林就比AdaBoost强越多,但是整体不及SVM[2]。
    / ~/ H( v8 O( E5、数据量越大,神经网络就越强。
    " _2 R5 e+ @( h6 `+ k3 m+ _————————————————) }$ ], z6 G9 {% V9 X
    版权声明:本文为CSDN博主「路飞的纯白世界」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。. V2 [; F3 E8 h: ~$ k3 N
    原文链接:https://blog.csdn.net/u010921136/article/details/90668382
    0 y6 M0 l  c' a& G9 O+ X1 y9 Z4 r
    1 B$ R# ~/ b! W* d0 S9 ?7 m1 m
    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 13:58 , Processed in 0.430730 second(s), 51 queries .

    回顶部