QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1765|回复: 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
    0 `* T6 S7 o; \# x
    各类机器学习算法的优缺点和适用场景汇总! |4 F: k* C3 h0 F
    目录
    & ]) Z5 J0 h$ h( x2 W$ o朴素贝叶斯分类器(NB:naive Bayes classifiers)+ }% {+ @6 a$ q! x- O, S
    半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)
      j) ]6 |$ q* h' Z贝叶斯网(信念网)
      ~. l# j9 y1 A# w! t决策树(decision tree)# B6 Y+ Y# @* D4 C- M
    支持向量机(SVM)! T9 A- l# m) ^- v0 }& G) f
    神经网络7 F$ Z: C5 G* ~
    词向量(word2vec)
    , y! P2 O2 v" I1 kk近邻分类(kNN)  @' k/ ^. P- u& X: z
    线性模型* ^  Z8 J* q# c, s+ W0 P# L
    高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比
    + E) F2 N1 G& K, X  X, {  o关于学习算法的性能实验结果
    9 ?. p4 |& t) C朴素贝叶斯分类器(NB:naive Bayes classifiers)
    " Y* x& J8 Y0 Z  E5 M* v顾名思义,其适用于分类任务、并且假设每个属性独立地对分类结果发生影响,然而现实中各个因素往往并不独立,那是否就无法解决问题呢?. g! D  E3 ~7 n# C
    事实上并非如此,相反,朴素贝叶斯分类器在很多情况下都能获得相当好的性能,一种解释是:无需精准概率值即可导致正确分类结果;另一种解释是:若属性间依赖对所有类别影响相同,或依赖关系的影响能相互抵消,则属性条件独立性假设在降低计算开销的同时,不会对性能产生负面影响。
    - T; [) k- Y$ A! L$ W" `2 f" d3 N: d! U  X- t" W& B
    优点:; E4 T- w7 [2 W( J. L, q: N
    1、计算量较小* n/ t. m& B4 Z; d; C# B- o
    2、支持懒惰学习、增量学习
    1 m! M9 C& Y' O: N9 B3、对缺失数据不太敏感9 D. e! S: C% l* R1 u& j7 F% Z2 k
    4、推断即查表,速度极快。& |* y. Z/ F% P( L
    缺点:& i9 o" u1 M( C% {4 I. J8 W
    1、没有考虑属性间依赖
    7 e5 `1 {8 B- H6 S2、通过类先验概率产生模型
    * g) G; y7 B- g2 F
    ( w  C3 Y. Z* K  \半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)& E6 {" L) I3 v9 m/ T& _
    相比NB的不考虑依赖,SNB则是考虑了一个(独依赖估计策略:ODE)或多个(多依赖估计策略:kDE)属性依赖
    . n9 S" s# W- o+ ?5 Q: E! E; T优点:
    - G9 V9 O* ^: K* t+ I1、考虑了一个或多个比较强的属性依赖关系,泛化性能可能得到提升- x+ A) S2 ]' _" F( s7 z- O& c
    2、计算开销不大
    # d$ l! a! v7 ?2 N1 p3、同样支持懒惰学习、增量学习; e5 j1 h) t  l( N6 ^5 J5 S" f
    缺点:
      E* F2 K; ~: p0 d9 U1、通过类先验概率产生模型
    % s% g/ _& D( F" F, _' R' L
    - X, A9 u* B' X& @  \贝叶斯网(信念网)9 K1 ^! l, v" z7 }8 w
    贝叶斯网借助有向无环图刻画属性之间的依赖关系,通过吉布斯采样或者变分推断等方式来近似推断后验概率。
    & I+ Q$ i: U0 p* @优点:
    : F/ V" I9 ~4 U+ Q7 F4 g: Y1、更加完整地考虑了属性间依赖关系,泛化性能将进一步提升
    ) A6 d$ B( K& B: a) m: {2、近似估算后验概率5 ~( Y) @$ ~. s" A5 D/ {! Y
    3、可用于推测属性缺失的样本( ~0 X* j- U+ P" v. M
    4、良好的可解释性
    7 ^. g9 q( G: d# `5、常用于语音识别、机器翻译等
    / F- k. v2 M5 u缺点:5 @! u3 j. a) F, t0 R& o
    1、结构学习NP难,通过评分搜索方法缓解
    9 ^0 y( E& P8 p" h3 u. l$ Y2、推断算法的收敛速度较慢
    5 m, c- J9 [9 k2 N3 L# N3 W; ?  K. R( E
    决策树(decision tree)
    0 f7 G, N, N, g+ W+ P9 h( a决策树通过信息纯度(信息增益、增益率、基尼指数等)来决定结点的生成,通过剪枝来缩小决策树的尺寸以及缓解过拟合。是一种非参数学习算法。
    7 g; P6 b) {4 |# n! g) P优点:0 a, _& x& R" ^
    1、计算量较小
    ' P4 `- q& Y: N' C% p# _2、清晰表达属性的重要程度% V: z& H" y6 |
    3、可增量学习对模型进行部分重构
    6 w. B% l5 ]1 F& }7 P6 a4、不需要任何领域知识和参数假设% l: ?- S$ V) R5 f- _
    5、适合高维数据
    : P+ Q+ z9 o- i! {$ R3 u  n4 O2 `6、随机森林是基于决策树的集成学习策略,随机森林鲜有短板- F# Y4 i, s9 |8 I1 ]+ x
    缺点:' W6 A6 K" @6 g& x
    1、没有考虑属性间依赖! L$ o+ A) Q/ t, n& ^9 f
    2、容易过拟合,通过剪枝缓解
    ' }) Q/ y* l& u1 L9 \3、不可用于推测属性缺失的样本
    " I+ _/ ~) F2 _# [8 [# V3 d7 M! M
    ) z* ?. @( q3 g% M# \4 U支持向量机(SVM)$ q$ |* s, y. f3 ?1 [  b
    基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开,是一种针对二分类设计的算法,但稍加改造为支持向量回归即可用于回归学习。( c( N1 T  ~5 ?% M* Q/ a3 i
    优点:
    3 n. L; V$ s: r5 ~! M2 F" B/ F1、可解决小样本的机器学习任务
    / `8 c% A- P/ g2、可解决高维问题
    ) C2 u. d3 J1 o5 r7 w3、可通过核方法解决非线性问题( t8 j6 F; a* B1 ?# o/ O) p
    缺点:
    " i! P, Z& H# v& k! z: M1、对缺失数据敏感
    ( I* P. ]/ e+ I9 Z2、对于非线性问题,核函数方法选择一直是个未决问题7 k) A! S( y3 q/ P" Q% i+ ]) o
    # ?+ ?! ?0 ^- {( E% U; \, N
    神经网络
    * G7 `( D% ?8 f, ]4 _( `优点:7 Z6 Z( c5 c% T  ]" ^  g/ U
    1、分类的准确度极高% q3 v4 m# v. O9 q/ T% [3 ]2 ?+ @" ]
    2、可解决复杂的非线性问题
    8 ^! _" d# q9 O6 D3、对噪声神经有较强的鲁棒性和容错能力
    " h" c; ]0 U5 u4、并行分布处理能力强,分布存储及学习能力强4 G9 ~$ P* }+ h5 X! a2 c
    5、常用于图像识别
    % W8 Y& u( ^, ~) d; O6、数据量越大,表现越好! A+ L4 I  W9 }) k, z1 k5 U+ l2 k
    缺点:
    3 g! `' r# t( B  y1、黑箱模型,难以解释
    # ]1 k- ^$ Q; ]1 \. G& {8 n5 w8 Z( K2、需要初始化以及训练大量参数,如网络结构、权值、阈值,计算复杂
    / ^8 a9 B7 Y/ @1 ~4 U3、误差逆传播的损失" u& Y7 L* s1 t  S- J" ^6 d1 l" e
    4、容易陷入局部最小4 D% U4 r( u5 U/ K: l+ Q

    " ^% `9 T) ?  N3 |& j1 q5 _1 c6 ~词向量(word2vec)& R, h: ]6 j8 W# [2 h6 ]2 x# a: ?; {0 a
    将文章的每句话当成一行,将每个词用符号隔开(如使用中文分词工具jieba),根据上下文,可以找出相似词义的词。
    1 K. o% k. {' p4 C# d% f比如:我 喜欢 你,我 爱 你,我 讨厌 你。根据上下文我和你,可以找到喜欢的相似词,有爱和讨厌。9 M7 p" w0 J4 v5 _4 B; R0 \- |
    再一般地如:1 2 3 X 4 5 6,1 2 3 Y 4 5 6。根据上下文1 2 3和4 5 6,可以找到X和Y相似。+ m  q6 \0 K! d* ^& W+ ]; u' R& q
    gensim是一个很好用的Python NLP的包,不光可以用于使用word2vec,还有很多其他的API可以用。它封装了google的C语言版的word2vec。, I9 R1 R1 a+ E' \

    0 u. G# x5 F4 p- gk近邻分类(kNN). y3 a" i8 J4 h, m% `
    基于某种距离度量找出训练集中与其最靠近的k个训练样本,或者指定距离e之内的训练样本,分类任务中通过投票法(以及加权投票等)将出现最多的类别标记作为预测结果,回归任务中则使用平均法(以及加权平均等)' y9 O; W* s8 u
    优点:% r. z  o( e% C
    1、思想简单,易于理解,易于实现,无需估计参数,无需训练;) v( V# y3 x& w5 v/ T5 g* m
    2、适合对稀有事件进行分类;
    5 S. U0 F% z4 l/ f1 R3、特别适用于多分类问题
    / X( L& C6 M1 h: i缺点:9 ~$ E9 s  Z/ G) ^4 m
    1、需要计算出待测样本与所有样本的距离,计算量大
    8 O' t; [7 m3 b2、样本不平衡时影响大
    5 ?- o' L! E" T3 X! p1 H3、适用的特征维度低8 h9 H2 A# O, L

    1 G: j. G7 I( c$ I8 x线性模型: k) ~" n. q  ^) _8 U; G
    优点:! ~; j" r  E, O% b- @  }+ i
    1、算法简单,编程方便
    - b/ _- W' u; D2、计算简单,决策速度快6 [4 S3 G- C5 I
    缺点:3 }2 i9 v" Q; P$ s
    1、拟合效果较差
    # P1 [. R! D- b; ^3 f7 N+ V: n1 ]9 U& O* ~: j
    高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比6 p' ~4 Z" R% `2 f
    k-means是高斯混合聚类在混合成分方差相等、且每个样本仅指派给一个混合成分时的特例,因此k-means计算简单,但效果不如高斯混合聚类2 d: O* D( F! e" K/ A: y, I$ z
    由于计算太过复杂,高斯混合聚类并不常用,推荐使用k-means++(与k-means随机选定不同,k-means++初始选定的几个样本距离尽量远,这样能更快得出分簇结果)等k-means变种。! P% Q) B9 ?! U  s( j6 N/ e/ V

    5 z; d3 Q$ _$ E0 s& W关于学习算法的性能实验结果
    . D* V- }* O3 e9 w点击查看原文
    2 _8 t8 r8 J& n* k4 {- z) T8 X& l( P8 q+ L% o" B9 m* q! y. U4 t( J
    14年的时候有人做过一个实验[1],比较在不同数据集上(121个),不同的分类器(179个)的实际效果。
    4 D: @, J0 X( M" O论文题为:Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?
    1 W- O, {" M( J$ t没有最好的分类器,只有最合适的分类器。- j1 @6 N4 k' Z5 s
    1、随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板。" P& u2 M  Y( G6 u% v7 Y
    2、SVM的平均水平紧随其后,在10.7%的数据集上拿到第一。: ?5 y; N/ v0 P7 n( H, k
    3、神经网络(13.2%)和boosting(~9%)表现不错。
    : v3 y( g& o& e9 h1 g; k4 T) {3 o4、数据维度越高,随机森林就比AdaBoost强越多,但是整体不及SVM[2]。
    : P& K# h2 K# N8 G5、数据量越大,神经网络就越强。
    - n. \1 B: L2 L' P; o$ t2 ], j+ k————————————————8 ^8 ?5 `) H  a9 U% T
    版权声明:本文为CSDN博主「路飞的纯白世界」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。: I8 T+ \0 W" r  @3 c
    原文链接:https://blog.csdn.net/u010921136/article/details/90668382
    1 S5 ?0 u( U. W) ]' [1 _: V
    . r9 f, Y) B' e; H0 W& b3 Z$ G, c+ O' Q3 u+ y# z
    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, 2025-8-12 02:04 , Processed in 0.801094 second(s), 52 queries .

    回顶部