QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1752|回复: 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
    8 P! T4 D! d. S' a
    各类机器学习算法的优缺点和适用场景汇总6 C( ]# g) C% P" ~) |8 x
    目录
    4 s- p3 Y0 K, ~2 J3 C( ]朴素贝叶斯分类器(NB:naive Bayes classifiers)! D' h3 V* I1 f# k5 B
    半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)9 P3 u  D* {* x& x3 P; K) z3 \0 t
    贝叶斯网(信念网)& T/ C6 V1 e/ J9 R
    决策树(decision tree)
    2 Z9 P3 @6 Q4 K' X. {. W/ R  r支持向量机(SVM)
    # z: [+ q4 y9 h0 F9 }+ r神经网络9 H9 V. K- h4 B1 L3 U) j
    词向量(word2vec)
    " _- S0 S3 c$ ?7 x0 ]* [( E- Gk近邻分类(kNN)
    " `8 n& Q# i2 Y5 V8 m3 Q线性模型
    . ~% [4 I; {8 G' c, V1 i8 B; ?& q高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比
    3 ^- [% J( t4 a关于学习算法的性能实验结果
    7 m( x- w* j) Q/ x7 t朴素贝叶斯分类器(NB:naive Bayes classifiers)
    , s3 Z# z& a. C7 i顾名思义,其适用于分类任务、并且假设每个属性独立地对分类结果发生影响,然而现实中各个因素往往并不独立,那是否就无法解决问题呢?
    # ~! E6 Q# N. @: X5 m事实上并非如此,相反,朴素贝叶斯分类器在很多情况下都能获得相当好的性能,一种解释是:无需精准概率值即可导致正确分类结果;另一种解释是:若属性间依赖对所有类别影响相同,或依赖关系的影响能相互抵消,则属性条件独立性假设在降低计算开销的同时,不会对性能产生负面影响。$ S" ?# S+ r3 w# h2 ]! R, ^- c
    / u, m1 s: M0 z( o0 o9 C
    优点:
    6 _' b7 ^* p  A5 H& G1、计算量较小: h8 L3 q0 {6 J$ X) ]
    2、支持懒惰学习、增量学习
    5 k" ^+ p/ D. H& F3、对缺失数据不太敏感  T6 i$ G# [) [  J/ {
    4、推断即查表,速度极快。& l" b, b" U1 A% T  I
    缺点:
    8 H- u/ N! m' y, z2 n1、没有考虑属性间依赖' Y2 k0 l/ N$ z& B/ ]3 H- x) b
    2、通过类先验概率产生模型& {% [; U/ t! H" z& ~
    % N3 m6 {4 M5 g
    半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)
    3 j1 E$ ]2 t6 R3 H相比NB的不考虑依赖,SNB则是考虑了一个(独依赖估计策略:ODE)或多个(多依赖估计策略:kDE)属性依赖
    5 ]1 G3 k  X) S" y7 Z/ D: h优点:+ U+ P) b' L0 T8 d2 Y6 b
    1、考虑了一个或多个比较强的属性依赖关系,泛化性能可能得到提升
    " M4 R, U2 D- l9 @% m5 u2、计算开销不大
    % }3 {. W4 G; F$ C, z3、同样支持懒惰学习、增量学习( C! d  n4 A" s+ `0 V
    缺点:% z6 b9 |) `' O# g
    1、通过类先验概率产生模型
    ! j9 G! w- V+ [5 i: @4 ?# v! I( c
    贝叶斯网(信念网), s6 ?8 `. r# a  j
    贝叶斯网借助有向无环图刻画属性之间的依赖关系,通过吉布斯采样或者变分推断等方式来近似推断后验概率。
    + C' \) ]; F0 i1 J$ G$ {优点:
    7 K0 z7 ?" @  [  h% w1、更加完整地考虑了属性间依赖关系,泛化性能将进一步提升
    " s1 [! ]  K- v4 U2、近似估算后验概率
    0 Q* p/ ~: `8 i3、可用于推测属性缺失的样本
    & P% |9 u2 r8 H' z" l0 u4、良好的可解释性  X7 M1 Q. W$ S
    5、常用于语音识别、机器翻译等
    - D+ v3 w) C5 Q( h) C9 g! {. ?! n缺点:
    ! [) q: \0 M* ~( Y" v1、结构学习NP难,通过评分搜索方法缓解
    1 q1 o' E! n3 E- R& I# e. K( ]) I1 M2、推断算法的收敛速度较慢) o; ]2 s6 Y7 Y9 a! H1 i

    " T8 L8 N+ |. l决策树(decision tree)9 u6 f$ V$ e4 |2 h( C
    决策树通过信息纯度(信息增益、增益率、基尼指数等)来决定结点的生成,通过剪枝来缩小决策树的尺寸以及缓解过拟合。是一种非参数学习算法。! {; L2 Y1 Z- X, b8 B  C4 i
    优点:$ I& v7 j9 c2 B  u, \6 z" J/ I( [
    1、计算量较小8 f' M" e% {4 s& N5 O0 N
    2、清晰表达属性的重要程度
    3 Q. z2 \4 t7 a; f, L3、可增量学习对模型进行部分重构1 X! J0 z1 V! `' L9 A
    4、不需要任何领域知识和参数假设8 ~) A6 R+ i" P8 n3 P
    5、适合高维数据
    ) p% E- A# b" }2 M( u6、随机森林是基于决策树的集成学习策略,随机森林鲜有短板
    0 S, @# b3 x! g. P1 O缺点:
    ' }, N* L% v8 H1 n6 g6 `1、没有考虑属性间依赖
    , |3 M0 C* ^4 b  E5 s5 W4 R2、容易过拟合,通过剪枝缓解
    * s$ g2 ~# N. [4 T5 F% K6 A1 P4 a3、不可用于推测属性缺失的样本
    & S' k# g  v0 N% `7 V- X. H: @: d
    支持向量机(SVM)
    ' T0 c; i- A; [8 ?6 x基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开,是一种针对二分类设计的算法,但稍加改造为支持向量回归即可用于回归学习。- T# T6 ?) Y( k& I
    优点:) r5 Y9 y) O( |$ \; M% N
    1、可解决小样本的机器学习任务0 U" J1 C( Q  g3 C
    2、可解决高维问题4 z% E& S7 S0 n" q
    3、可通过核方法解决非线性问题
      B( [5 M% `; s1 p% G1 v0 S( k9 _缺点:
    % |+ x) @, Q1 a$ ~* e% u6 b, x' b* L1、对缺失数据敏感. Y0 @) i9 G( @3 I1 y8 O9 p
    2、对于非线性问题,核函数方法选择一直是个未决问题
    3 D& n" e% L' S& n$ g$ F
    $ n# R: R2 @! ]* S# M0 R7 v8 X神经网络4 f& j! }0 G9 R4 I  @" l
    优点:
    + P# _' U/ j5 g; ^* n  A1、分类的准确度极高7 b$ [' S5 ^0 D5 N% y2 ^
    2、可解决复杂的非线性问题
    9 y& l: r. ?# D) B+ a9 d* N$ s3、对噪声神经有较强的鲁棒性和容错能力/ \1 c" E6 e. k# S' T' D
    4、并行分布处理能力强,分布存储及学习能力强
    * l/ {4 x9 L1 L- C5、常用于图像识别6 [% f. E/ E/ e" Y% d' N1 |- ^
    6、数据量越大,表现越好! K, V$ Y- N  k* X( o" K- P0 ~
    缺点:
    ) z- n2 d# T- _4 ~1、黑箱模型,难以解释% O) X0 \; ]0 N9 T
    2、需要初始化以及训练大量参数,如网络结构、权值、阈值,计算复杂3 z* [" e- N* u3 d- [6 H( o
    3、误差逆传播的损失  V7 ~) ^4 n( K0 }* [# T, C
    4、容易陷入局部最小
    % s: F2 T5 P$ D, N$ B. l6 O0 m* h+ D, J* y3 i7 R- y+ B+ n) K* ?
    词向量(word2vec)
    $ Z1 f1 G& d6 l, J/ U" ^将文章的每句话当成一行,将每个词用符号隔开(如使用中文分词工具jieba),根据上下文,可以找出相似词义的词。) s! [) m: U. t; t4 _
    比如:我 喜欢 你,我 爱 你,我 讨厌 你。根据上下文我和你,可以找到喜欢的相似词,有爱和讨厌。9 `1 L# U3 C/ K& w4 ~: B& R1 p
    再一般地如:1 2 3 X 4 5 6,1 2 3 Y 4 5 6。根据上下文1 2 3和4 5 6,可以找到X和Y相似。) z" a) ]6 ]0 Y% Y6 r3 Y
    gensim是一个很好用的Python NLP的包,不光可以用于使用word2vec,还有很多其他的API可以用。它封装了google的C语言版的word2vec。% n! q) x* A  m1 j' Q" H+ H! B
    - ?( }$ b! [: s  Y( n
    k近邻分类(kNN)/ d  O3 k# b1 H7 T$ m  J! d
    基于某种距离度量找出训练集中与其最靠近的k个训练样本,或者指定距离e之内的训练样本,分类任务中通过投票法(以及加权投票等)将出现最多的类别标记作为预测结果,回归任务中则使用平均法(以及加权平均等)5 n) S" {" Z3 h
    优点:
    + Y3 p5 @/ h# Y4 d$ j1、思想简单,易于理解,易于实现,无需估计参数,无需训练;3 A' _# H  \5 X
    2、适合对稀有事件进行分类;
    0 p9 }- c6 W( b* k: }# I7 W! t) ~3、特别适用于多分类问题
    : X( L: y! G6 I- p) b缺点:2 y, t" L. S) l  _) w
    1、需要计算出待测样本与所有样本的距离,计算量大8 X' g' I$ C3 w3 R$ h3 G
    2、样本不平衡时影响大
    5 r* L8 w4 i: W' B3、适用的特征维度低! G) R- O# \4 a% ~4 `- q+ g
    - R9 T3 n- c6 K9 O* p
    线性模型" c- L% }: [) ~  r) s, }: L8 u+ {
    优点:
    : c; P2 q" o: `9 e5 \- h1、算法简单,编程方便9 w1 j- X$ d% Y2 x
    2、计算简单,决策速度快1 _  P/ E0 a9 |/ t  Z3 t7 g
    缺点:! `7 h2 G; U! s. ~7 d
    1、拟合效果较差  J2 l! i) y7 \" M- c
    ; F6 q( i/ A3 B& V+ q. K
    高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比
    4 ^3 e# k- v* m  J  ~k-means是高斯混合聚类在混合成分方差相等、且每个样本仅指派给一个混合成分时的特例,因此k-means计算简单,但效果不如高斯混合聚类
    9 W5 r! Y& \$ K3 Q+ Y由于计算太过复杂,高斯混合聚类并不常用,推荐使用k-means++(与k-means随机选定不同,k-means++初始选定的几个样本距离尽量远,这样能更快得出分簇结果)等k-means变种。% `& U- A4 [- R4 W2 Y# j8 X7 d' y
    4 \! H( k% @% T4 q5 i* J
    关于学习算法的性能实验结果. ~, _* i- d6 ^4 q9 z
    点击查看原文
    5 n: E+ [4 k3 J7 S1 E
    # g; G0 \$ M6 I14年的时候有人做过一个实验[1],比较在不同数据集上(121个),不同的分类器(179个)的实际效果。0 u/ u9 u- ]; W* S( U1 U
    论文题为:Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?
    - L. h2 ]* H5 J没有最好的分类器,只有最合适的分类器。
    1 `. w# r9 }8 C& V& {* J1、随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板。! s9 d4 o3 h$ n) ^0 d  R/ _
    2、SVM的平均水平紧随其后,在10.7%的数据集上拿到第一。
    ' G# T# G1 o/ ^. z; d$ K3、神经网络(13.2%)和boosting(~9%)表现不错。5 Q2 F9 s# o. G$ A1 I
    4、数据维度越高,随机森林就比AdaBoost强越多,但是整体不及SVM[2]。
    ! M& P; `9 R5 t; x9 a5、数据量越大,神经网络就越强。' s. l- Z$ u/ @& [# F, w  K+ |
    ————————————————' i4 H/ y0 O. U- W/ `
    版权声明:本文为CSDN博主「路飞的纯白世界」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。1 x! I/ N( D/ l$ @! H
    原文链接:https://blog.csdn.net/u010921136/article/details/90668382; o, A2 R3 g, x# T
    ' `( ~7 R2 l; y4 g' t# E% M
    , [' l# L  ~/ f; p
    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-6 13:30 , Processed in 0.335095 second(s), 50 queries .

    回顶部