QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2086|回复: 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
    , U! |5 X( d' W. D
    各类机器学习算法的优缺点和适用场景汇总
    ; q0 J: l$ A! O目录8 J6 s( R1 S6 \0 L
    朴素贝叶斯分类器(NB:naive Bayes classifiers)' |; z, M& `6 {0 l0 @
    半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)3 E! k2 k2 u, H2 Y6 A
    贝叶斯网(信念网), c9 E$ i( \+ @; P  J
    决策树(decision tree)
    - {: o+ q3 Y: n# A支持向量机(SVM)9 t- G1 m$ O: e/ y6 }, [( `
    神经网络, [8 @4 Q# p! d& @/ [8 h" a( D; s
    词向量(word2vec)
    1 v- Y8 V3 [% g& r8 D9 E+ ek近邻分类(kNN)# q* \6 X& V! p* ?; v5 o
    线性模型9 Q1 k! [; [, [8 b
    高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比7 O% U1 C+ {* I; H8 T( ?+ F
    关于学习算法的性能实验结果- V" ^* q5 k' u0 e/ @( p
    朴素贝叶斯分类器(NB:naive Bayes classifiers)! Q( S3 m+ t4 h
    顾名思义,其适用于分类任务、并且假设每个属性独立地对分类结果发生影响,然而现实中各个因素往往并不独立,那是否就无法解决问题呢?5 W4 V* [8 F1 c- D4 l# d8 p% M0 T- \
    事实上并非如此,相反,朴素贝叶斯分类器在很多情况下都能获得相当好的性能,一种解释是:无需精准概率值即可导致正确分类结果;另一种解释是:若属性间依赖对所有类别影响相同,或依赖关系的影响能相互抵消,则属性条件独立性假设在降低计算开销的同时,不会对性能产生负面影响。9 B  D+ x% |' ~, w; ]
    ) ~2 ~5 w) R& ?% i" D; V: ?) B
    优点:
    1 D8 a9 _- _; M. r& r0 p1、计算量较小  N0 z- W, T% u, A. v' N
    2、支持懒惰学习、增量学习" K1 K5 t9 l" g, v$ l8 e3 P
    3、对缺失数据不太敏感  g) z' w3 |5 }9 {
    4、推断即查表,速度极快。
    # W) H! X! ~' s# f7 Y2 A缺点:
    4 D& w! J7 S% K2 T' y1、没有考虑属性间依赖* u3 n$ ~& I- o2 B' u! N) o  P
    2、通过类先验概率产生模型
      i, a* G3 ?5 ~, \+ \# H& D+ \# a7 A1 z
    % Z2 _8 h& Y! H% R% Q7 x半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)8 P5 N( ]( V9 F
    相比NB的不考虑依赖,SNB则是考虑了一个(独依赖估计策略:ODE)或多个(多依赖估计策略:kDE)属性依赖
    5 f7 e/ e9 D, V) k3 K优点:0 B: C- m7 C: Q0 k& ^( f
    1、考虑了一个或多个比较强的属性依赖关系,泛化性能可能得到提升
    / p' f0 Y& B# @( u# W2、计算开销不大
    ' x# K& b! `0 P; A0 o8 u3、同样支持懒惰学习、增量学习
    ) z( V9 @: n- g/ N4 t6 L4 p$ O缺点:9 f+ V, o: B# x
    1、通过类先验概率产生模型2 G5 `% N7 B$ }8 S$ u! I9 K" ?2 c

    % H8 f; s( C4 c! l8 ?% i/ |贝叶斯网(信念网)) t7 R6 V7 p, \/ r3 n& o9 w
    贝叶斯网借助有向无环图刻画属性之间的依赖关系,通过吉布斯采样或者变分推断等方式来近似推断后验概率。  L8 l4 C+ Z) X& ~
    优点:) O/ x( Q7 }$ g
    1、更加完整地考虑了属性间依赖关系,泛化性能将进一步提升# j! d6 y9 k* G0 m9 X
    2、近似估算后验概率
    ) q& _6 k; U& [3、可用于推测属性缺失的样本* E# W/ U$ ~$ z, Z% c
    4、良好的可解释性
    8 ?  F2 |! F  Y9 N5、常用于语音识别、机器翻译等
    6 |$ {; T# D- Z1 I0 |( V' U3 M缺点:
    4 V+ `* O( U0 P* t( F2 u+ [2 ]1、结构学习NP难,通过评分搜索方法缓解+ e: _2 u1 p  R0 z0 l6 J
    2、推断算法的收敛速度较慢8 [- a6 b* H: e) t: O# ^

    3 u5 K2 l0 ^% ]% r& D- J决策树(decision tree)
    % h  v' ]" R2 _  w2 Z4 U; G决策树通过信息纯度(信息增益、增益率、基尼指数等)来决定结点的生成,通过剪枝来缩小决策树的尺寸以及缓解过拟合。是一种非参数学习算法。, _! P& `+ n; k' a) h
    优点:2 U7 V8 u  [5 F
    1、计算量较小
    * q, u+ x. e7 n2、清晰表达属性的重要程度- I% B" m& G7 U; Y9 A& V$ [7 e
    3、可增量学习对模型进行部分重构' N9 A( O. z; l. [+ U% z1 A% [
    4、不需要任何领域知识和参数假设  K. {' X1 c) j/ Y- @7 h! P& Z- U
    5、适合高维数据
    4 s* M# g  w* ~) [2 g& n& M6、随机森林是基于决策树的集成学习策略,随机森林鲜有短板* [! }) `3 R" j* O, P9 P# c. T
    缺点:2 k. Y& F6 q2 c/ M
    1、没有考虑属性间依赖
    0 ?- m. c% n5 E* r2、容易过拟合,通过剪枝缓解
    , c6 b' q" a( h! T9 e3、不可用于推测属性缺失的样本  U$ K! X# t% [$ |' V! J

    . G6 E/ _; d4 `6 d; v( A- ~  E支持向量机(SVM)- v5 L: e  C4 v
    基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开,是一种针对二分类设计的算法,但稍加改造为支持向量回归即可用于回归学习。) _" {% s. q& z# H& U
    优点:& L$ x$ ~* K7 ~2 D
    1、可解决小样本的机器学习任务
    . t) l2 J6 T1 y1 Z6 d( p2、可解决高维问题
    . y" {5 t7 C( M6 ?3 d2 [3、可通过核方法解决非线性问题; s4 S: `9 i. G  N) n
    缺点:, [: x/ l+ G4 B1 S: Z% X
    1、对缺失数据敏感
    % V, j+ K6 Z/ h$ d- B2、对于非线性问题,核函数方法选择一直是个未决问题
    8 ^" H! q% s3 r5 X& z2 s9 ?
    6 s, w$ O9 N& ^% G( i* l5 @  g神经网络3 S$ f. B, c. r: [0 r
    优点:1 [9 P5 b" @$ J6 W
    1、分类的准确度极高
    # ]) d' ?( _+ `% e/ N( @7 q2、可解决复杂的非线性问题
    % T/ W) |+ \2 J# O3、对噪声神经有较强的鲁棒性和容错能力6 l# n! A! x. c; n( ?9 n, }
    4、并行分布处理能力强,分布存储及学习能力强2 S0 {- a7 y' J; D6 B7 [7 x* e
    5、常用于图像识别
    8 `+ ^3 c$ f7 ^* Y# \0 z6、数据量越大,表现越好
    # C- ^( |0 l8 {' F$ ~缺点:
    , L$ n1 J* X. i1 ~. w! n3 n" n: ^1、黑箱模型,难以解释
    " w4 B4 t  c+ Q' Z% e2、需要初始化以及训练大量参数,如网络结构、权值、阈值,计算复杂
    + ]7 q3 {0 {$ D- E2 `3、误差逆传播的损失
    - k! q" [- N& B0 @8 ~  u' W4、容易陷入局部最小* B4 Q% }; F9 Z- G$ b
    ! F# E. v, X  e4 O4 ^9 C' v% |
    词向量(word2vec)
    5 ?% z5 H5 W9 _4 F将文章的每句话当成一行,将每个词用符号隔开(如使用中文分词工具jieba),根据上下文,可以找出相似词义的词。
    + W$ {# L" z3 b. e9 X/ n比如:我 喜欢 你,我 爱 你,我 讨厌 你。根据上下文我和你,可以找到喜欢的相似词,有爱和讨厌。
    4 p+ i. i: I4 u" K再一般地如:1 2 3 X 4 5 6,1 2 3 Y 4 5 6。根据上下文1 2 3和4 5 6,可以找到X和Y相似。; p' X. i2 Q* N* M$ J% l* y
    gensim是一个很好用的Python NLP的包,不光可以用于使用word2vec,还有很多其他的API可以用。它封装了google的C语言版的word2vec。
    # n5 Q+ u3 `) s' I+ R& @& `6 m5 V
    , i. o3 w2 \1 J: b9 {7 ~k近邻分类(kNN)
    ; \4 R5 D/ r6 N基于某种距离度量找出训练集中与其最靠近的k个训练样本,或者指定距离e之内的训练样本,分类任务中通过投票法(以及加权投票等)将出现最多的类别标记作为预测结果,回归任务中则使用平均法(以及加权平均等)2 v; [8 f6 O1 P+ h" P- E
    优点:$ @4 r6 b) h2 t
    1、思想简单,易于理解,易于实现,无需估计参数,无需训练;8 J0 D! _" f# g" I0 _8 R9 y) U
    2、适合对稀有事件进行分类;% T( |1 a+ ~. p4 M3 v. u" }
    3、特别适用于多分类问题3 d( W/ @/ j! k" d' a# i+ c5 E
    缺点:
    4 T( X% d# W) P6 g! X0 j5 z4 o1、需要计算出待测样本与所有样本的距离,计算量大
      Q) P' I, E3 z- `$ z* i* w2、样本不平衡时影响大0 ?9 p' `: V5 `
    3、适用的特征维度低
    5 m( n5 d& m% W: v9 x
    " j9 i, r+ j. f4 j4 h) j线性模型* s9 H8 I& i5 W
    优点:! b' Z1 ~3 q3 e# m, Y
    1、算法简单,编程方便. C0 T9 m# {, L; s& o; M! t6 d
    2、计算简单,决策速度快  E* m8 `, ?/ N- {  d8 f+ ^' u
    缺点:1 Y% ^* Y* b* M9 K
    1、拟合效果较差
    ! ?: {# r5 h" P& w
    6 _" u* e5 L: ]6 C! h0 m高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比4 Y, Z) {1 ]  M& w' D: ?
    k-means是高斯混合聚类在混合成分方差相等、且每个样本仅指派给一个混合成分时的特例,因此k-means计算简单,但效果不如高斯混合聚类9 k: x# v2 {7 E3 B
    由于计算太过复杂,高斯混合聚类并不常用,推荐使用k-means++(与k-means随机选定不同,k-means++初始选定的几个样本距离尽量远,这样能更快得出分簇结果)等k-means变种。0 \6 t$ N- P' n3 f8 P. p9 I
    + F* o! G3 Z+ i- a3 r$ h
    关于学习算法的性能实验结果
    9 i& T+ d$ W- }' ~3 y" w点击查看原文
    3 \8 l: B" [. q( H2 d1 x4 q, P8 a3 a) N( V) y9 P9 d0 ~3 K
    14年的时候有人做过一个实验[1],比较在不同数据集上(121个),不同的分类器(179个)的实际效果。+ J8 p( w& F& V: a) |
    论文题为:Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?8 V; D1 {0 F+ ~) l
    没有最好的分类器,只有最合适的分类器。# \7 B$ I, S2 B
    1、随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板。
      Z) c& j8 C# n0 h) ]9 s' P2、SVM的平均水平紧随其后,在10.7%的数据集上拿到第一。
    9 N' A" R( }3 \  `3、神经网络(13.2%)和boosting(~9%)表现不错。4 ~1 t5 x1 `% n. g. B
    4、数据维度越高,随机森林就比AdaBoost强越多,但是整体不及SVM[2]。7 }, ^' [  a6 }4 x
    5、数据量越大,神经网络就越强。/ t8 m$ Z. S8 U# g3 t, r) c
    ————————————————
    ) g! A1 r- L7 P* v& B版权声明:本文为CSDN博主「路飞的纯白世界」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    * Y/ x. a' X/ k5 M8 }原文链接:https://blog.csdn.net/u010921136/article/details/90668382
    ' L( B. ]3 X, W  R9 g
    & b2 m9 I) g  o* b
    ) {% q# S  A2 f
    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-9-9 16:35 , Processed in 0.456477 second(s), 51 queries .

    回顶部