QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1999|回复: 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
    . N4 u: [2 ~" h# A9 i2 W
    各类机器学习算法的优缺点和适用场景汇总$ L. \5 C6 s5 |9 G3 j1 J/ b( [/ R
    目录
    8 r4 ]9 ^+ E( n4 u% Q0 x/ ]朴素贝叶斯分类器(NB:naive Bayes classifiers)( W7 b: _% c* B3 g
    半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers). v5 U9 b9 o, {6 b* `4 }1 D, p
    贝叶斯网(信念网)
    1 m( y1 R" D' `( Z决策树(decision tree)4 W/ H4 D7 f2 A0 M4 I; J
    支持向量机(SVM)
    2 x; {9 m: F, P) {  ~; E6 d6 ?* s! P神经网络4 O% l9 b) T9 s$ n( \( g' a, y, r
    词向量(word2vec)
    ; G6 j1 t; |6 z  m7 C  @k近邻分类(kNN)( N: O% ?# p# O7 P+ s
    线性模型$ f/ k/ J2 @  d5 E6 G8 |0 Z; I# W
    高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比
    / p- s) ]# G9 `8 B2 P关于学习算法的性能实验结果
    . ^& u; u2 C1 L  f1 v% r% n$ F朴素贝叶斯分类器(NB:naive Bayes classifiers)
    2 l0 K" m5 |( w) y# y, o顾名思义,其适用于分类任务、并且假设每个属性独立地对分类结果发生影响,然而现实中各个因素往往并不独立,那是否就无法解决问题呢?6 d2 E  ]/ S# {) x8 N
    事实上并非如此,相反,朴素贝叶斯分类器在很多情况下都能获得相当好的性能,一种解释是:无需精准概率值即可导致正确分类结果;另一种解释是:若属性间依赖对所有类别影响相同,或依赖关系的影响能相互抵消,则属性条件独立性假设在降低计算开销的同时,不会对性能产生负面影响。
    ' g; Z9 y! n6 j, r! {9 m" \. ^! [1 b- j( Z) S% D7 c6 x4 ^
    优点:" z0 z; [4 ^, F9 T4 Y) H. N2 t
    1、计算量较小8 J2 }$ Y  o" D7 W
    2、支持懒惰学习、增量学习
    6 C- P; X: Y6 }$ k! e7 l3、对缺失数据不太敏感
    5 G8 }# b8 p( S; M/ Y) d) M( K4、推断即查表,速度极快。
    7 S# ^7 h7 d& t, w缺点:
    ' Z$ X9 W; B2 T1、没有考虑属性间依赖
    ! u4 t$ c$ k6 R$ r2、通过类先验概率产生模型
    4 A: s) c0 p1 \8 D; n& E
    9 t1 S2 i; z0 k1 B: J# L" y$ |  f半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)
    5 u, w0 A, j; s相比NB的不考虑依赖,SNB则是考虑了一个(独依赖估计策略:ODE)或多个(多依赖估计策略:kDE)属性依赖
    # w6 |) U$ X& H7 Z" Y! y优点:
    & L* ~1 g* K4 l1 V  \  m2 ~1、考虑了一个或多个比较强的属性依赖关系,泛化性能可能得到提升
    : y& ]) \3 r! h: y" m# }: D& a2、计算开销不大
    ' y; U+ y7 E6 _9 e/ N6 b, ]1 L9 M3、同样支持懒惰学习、增量学习
    % _% w* F4 _! r9 ]6 y. x' |1 Y缺点:
    7 {3 v/ U1 b/ T2 M6 z1、通过类先验概率产生模型
    / K; N/ `' [( }
    6 j: T7 k9 l3 L' k6 T$ W9 z贝叶斯网(信念网)
    1 C" @6 }0 M' _" y( y& {- }/ R贝叶斯网借助有向无环图刻画属性之间的依赖关系,通过吉布斯采样或者变分推断等方式来近似推断后验概率。- i+ g" r# L6 }9 M5 R
    优点:
    1 V  v" v& S$ d- j. x% J  s1、更加完整地考虑了属性间依赖关系,泛化性能将进一步提升
    6 }' P5 C& h; ~# P7 [5 S/ X6 S2 _2、近似估算后验概率
    , Z  I/ m3 g/ ^4 u$ N6 P3、可用于推测属性缺失的样本
    ; W- k  N+ k; g7 {% ]4、良好的可解释性  m( }* ?$ K! o( R  f! c
    5、常用于语音识别、机器翻译等- p$ _7 w" ~3 L7 u% M( |9 X
    缺点:+ ^  w/ H9 _# V3 N
    1、结构学习NP难,通过评分搜索方法缓解( b9 A$ K2 h7 J$ q+ @+ j& ]
    2、推断算法的收敛速度较慢$ c! O$ C+ Z! Q& b

    ! C% r. C* |' Y. N决策树(decision tree)
    8 H% C0 e" X8 D$ X. a) r4 I! b5 B决策树通过信息纯度(信息增益、增益率、基尼指数等)来决定结点的生成,通过剪枝来缩小决策树的尺寸以及缓解过拟合。是一种非参数学习算法。
    6 x5 C. g+ L6 F# T% \4 G优点:
    * f' ~/ A/ a% T" j3 n+ |1、计算量较小
    9 j1 ~9 Y: J) o! [4 N3 g2、清晰表达属性的重要程度& _# G) ~* p* {
    3、可增量学习对模型进行部分重构
    4 g0 O# p  U. |4 X4、不需要任何领域知识和参数假设
    " [9 J2 @% g  F% J% t5 M1 o5、适合高维数据
    + b# O) B( `; [( g) d  A2 ~7 l6、随机森林是基于决策树的集成学习策略,随机森林鲜有短板
    & d, a1 f6 O- i4 h缺点:3 g; q1 t$ P% U+ o1 i
    1、没有考虑属性间依赖
    0 \( K7 @6 G0 f8 W  u  |# t2、容易过拟合,通过剪枝缓解
    ) F& `% X; Y4 l% n' v3、不可用于推测属性缺失的样本; b7 K! R  I5 q6 k( Z0 }- P

    ; h" M$ B5 d7 b  P支持向量机(SVM)' v+ n$ L8 _$ N; [6 W3 N
    基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开,是一种针对二分类设计的算法,但稍加改造为支持向量回归即可用于回归学习。
    7 t7 a; a6 B+ g优点:
    % j2 b: K, P/ x/ x: G  u; k2 X& A1、可解决小样本的机器学习任务
    1 `9 v! o! s5 M% s. G4 I2、可解决高维问题
    + v/ D2 h1 ^) t, J0 k9 x  v. i3、可通过核方法解决非线性问题
    % l, V/ H2 @. f  o) _% L- J缺点:* A1 X. X* [, G/ G2 S
    1、对缺失数据敏感8 _& O4 }/ w8 ]$ _# F; j
    2、对于非线性问题,核函数方法选择一直是个未决问题9 V, U& H, O4 J  T4 ?! f# k% b: H
    1 ^" I; p, `8 e; t- ~, z
    神经网络" H! W6 |8 G- C2 i# s7 J
    优点:, \' j6 Q" Q! d+ w: |  q% c
    1、分类的准确度极高
    * B. q7 x& b1 p0 |" V1 Y4 {$ i2、可解决复杂的非线性问题
    ; d' Q- N  W! C. p0 p3、对噪声神经有较强的鲁棒性和容错能力. R+ g7 H9 _- }* h% L( B( k0 z
    4、并行分布处理能力强,分布存储及学习能力强
    2 \+ Z+ y3 g: R/ [+ H$ _  O( k5、常用于图像识别" s! s6 F3 G9 N. w6 o- G
    6、数据量越大,表现越好+ [( Q! h1 {; P2 A# U
    缺点:
    ' d& C  p" M; ^4 V$ ~& c) L) n1、黑箱模型,难以解释  Z2 M% K& ]/ E$ P8 p6 L
    2、需要初始化以及训练大量参数,如网络结构、权值、阈值,计算复杂0 Q& |6 V5 M% O5 c- `" L2 I
    3、误差逆传播的损失* D5 a4 }' P6 f
    4、容易陷入局部最小% }! |4 e) W7 O) S8 R7 E) j

    8 I' Y9 m# j: E0 y8 \词向量(word2vec)
    # [( M" |4 }3 f3 A% o3 q/ R将文章的每句话当成一行,将每个词用符号隔开(如使用中文分词工具jieba),根据上下文,可以找出相似词义的词。# ~% A. g4 z" v% [  p1 K. d  U
    比如:我 喜欢 你,我 爱 你,我 讨厌 你。根据上下文我和你,可以找到喜欢的相似词,有爱和讨厌。
    ( c: C& B* r  F4 r. u  g0 a& @# }再一般地如:1 2 3 X 4 5 6,1 2 3 Y 4 5 6。根据上下文1 2 3和4 5 6,可以找到X和Y相似。
    ' d7 e7 g# s  Bgensim是一个很好用的Python NLP的包,不光可以用于使用word2vec,还有很多其他的API可以用。它封装了google的C语言版的word2vec。
    % G  c$ u- k9 b' l" D* F# ^# Q/ P7 |/ u0 E( Y8 `2 Y
    k近邻分类(kNN)
    - U0 k3 T- Z: I: g4 B* e8 P  w( p基于某种距离度量找出训练集中与其最靠近的k个训练样本,或者指定距离e之内的训练样本,分类任务中通过投票法(以及加权投票等)将出现最多的类别标记作为预测结果,回归任务中则使用平均法(以及加权平均等)
    # B5 h+ i) @, m2 p4 S0 i优点:% A4 ?3 ^5 W- s/ O7 s* `
    1、思想简单,易于理解,易于实现,无需估计参数,无需训练;
    . j+ a# A3 X5 y2、适合对稀有事件进行分类;. h! q7 h  P' [! j, M- s6 K8 U
    3、特别适用于多分类问题6 ?" w( ?' G  K! o0 D) k8 Z/ E
    缺点:* E; c; S( m/ u: Y4 C9 z
    1、需要计算出待测样本与所有样本的距离,计算量大% e  y) M  T1 z! `. \  c+ q
    2、样本不平衡时影响大! x/ u$ G/ T  Q9 m7 ]  o
    3、适用的特征维度低- P, K( L+ h' M* {$ t
    - _6 p$ k% A% m2 h0 c4 J" q
    线性模型. p9 W0 D% ]8 v" Z& [& k
    优点:* e! n3 P- \3 I; z5 O" n4 r) |$ W
    1、算法简单,编程方便) o, B7 d9 G8 ]
    2、计算简单,决策速度快
    * F2 Z. |: C2 U5 m" T缺点:
    - j. k8 X+ Y  Q; X) y1、拟合效果较差8 w/ f; ?! X, [# {, Z3 f+ `

    : g0 t8 h$ L+ Q! p. i) X高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比( G6 d# v( w. X* s, T9 y
    k-means是高斯混合聚类在混合成分方差相等、且每个样本仅指派给一个混合成分时的特例,因此k-means计算简单,但效果不如高斯混合聚类9 c, t( ?9 M# @" i1 F. p) h: V
    由于计算太过复杂,高斯混合聚类并不常用,推荐使用k-means++(与k-means随机选定不同,k-means++初始选定的几个样本距离尽量远,这样能更快得出分簇结果)等k-means变种。) N+ |0 u& E6 T: E( i1 {1 i+ {" V8 }# L+ F

    4 I* a2 H1 I; S6 M( M* u' Q关于学习算法的性能实验结果
      t- I0 Z5 h4 F- U) }, S3 o. Y点击查看原文8 Z' E: ^/ `9 v. m) O8 \

    , I; {% \5 m6 N7 g5 i14年的时候有人做过一个实验[1],比较在不同数据集上(121个),不同的分类器(179个)的实际效果。  H: |3 [: ^% Q6 Z4 t* y
    论文题为:Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?1 q# x) R$ m2 w
    没有最好的分类器,只有最合适的分类器。
    6 a* d& W4 {7 d6 N6 R1、随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板。1 W4 a0 |$ j+ i' y
    2、SVM的平均水平紧随其后,在10.7%的数据集上拿到第一。
    ) Q' j, x  k1 C, o3 f3、神经网络(13.2%)和boosting(~9%)表现不错。4 x4 G4 [( U. S0 ^% N: C4 q# H
    4、数据维度越高,随机森林就比AdaBoost强越多,但是整体不及SVM[2]。2 w8 v" T" p! c. {: z$ p7 Z; V
    5、数据量越大,神经网络就越强。. V* O6 G1 A8 u* A8 V
    ————————————————
    0 |: }; X% N' T* w: g版权声明:本文为CSDN博主「路飞的纯白世界」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。" ^# H9 k/ p( ^  S
    原文链接:https://blog.csdn.net/u010921136/article/details/90668382+ B6 m- R( ?" c6 \

    $ b3 F1 |0 N% W. A' [5 ^% G" s0 q' q5 h7 @$ 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, 2026-6-9 04:17 , Processed in 0.436816 second(s), 53 queries .

    回顶部