QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2047|回复: 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 d, Y2 N" H2 T( R, s! x各类机器学习算法的优缺点和适用场景汇总6 ]- {1 y% r# |8 i6 X+ R- X! r' W& `
    目录
    2 {0 g5 m5 A9 k, o' W5 }' d  h朴素贝叶斯分类器(NB:naive Bayes classifiers)8 B. G, x/ K3 c. E* y( l; F
    半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)
    / I3 d# W+ b# G1 H3 Z/ l! O* p2 S贝叶斯网(信念网)& Q6 X0 Y/ Z4 f9 h/ v1 Q& N
    决策树(decision tree)
    ; \% D4 L4 u2 e# m1 k支持向量机(SVM). O+ p' X  t) B4 R( W
    神经网络
    - `0 O, f  {6 c) k词向量(word2vec)1 A6 ~% y% f& W4 h$ Y; O" }
    k近邻分类(kNN)
    $ o9 U" o7 E0 h) ^  E线性模型
    " Q2 ^# J+ S5 b7 i( I高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比
    . _, _, [: o+ w关于学习算法的性能实验结果5 H& A6 i7 U3 }4 ~; V, w5 ^
    朴素贝叶斯分类器(NB:naive Bayes classifiers)
    : F8 r* l9 p# v) c% {  n顾名思义,其适用于分类任务、并且假设每个属性独立地对分类结果发生影响,然而现实中各个因素往往并不独立,那是否就无法解决问题呢?
    3 j$ C+ M/ a1 \事实上并非如此,相反,朴素贝叶斯分类器在很多情况下都能获得相当好的性能,一种解释是:无需精准概率值即可导致正确分类结果;另一种解释是:若属性间依赖对所有类别影响相同,或依赖关系的影响能相互抵消,则属性条件独立性假设在降低计算开销的同时,不会对性能产生负面影响。
    4 l2 e$ \' Y* D- B( s# C1 [3 ]/ h, F9 R1 o  R
    优点:
    7 z" e* ^! n6 k1、计算量较小5 T. I% M' w+ ^  v. N) w( \$ B
    2、支持懒惰学习、增量学习/ |: _) r* Q% o1 h9 l8 a
    3、对缺失数据不太敏感
    8 S4 E' A3 d! g8 R* D% M! r4、推断即查表,速度极快。' R! l  }+ y7 r4 G' ]2 V6 p
    缺点:; t: l; e' F$ q6 x& v7 M# o
    1、没有考虑属性间依赖
    ; d1 V" K1 L" L5 E+ [0 {) D2、通过类先验概率产生模型
    : }' N" u" ^+ K3 m: P# ?' D) ]# R! V4 R; I6 L/ u3 z
    半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)
    : y- P/ [( h! m  ^3 E8 Z- o6 Q相比NB的不考虑依赖,SNB则是考虑了一个(独依赖估计策略:ODE)或多个(多依赖估计策略:kDE)属性依赖  Z3 d$ l- Z% W5 b  H5 p& f+ X4 C
    优点:4 [- `2 l) N$ Q( ~, d6 V
    1、考虑了一个或多个比较强的属性依赖关系,泛化性能可能得到提升4 H+ a  R1 p! e1 c8 P" T3 m
    2、计算开销不大
    ! P; Y2 H6 v& m% H2 H2 u3、同样支持懒惰学习、增量学习
    + R6 f- |( F& O$ r0 p缺点:
    + ]: _' o; V& h6 z; o& u0 J1、通过类先验概率产生模型* f8 p- _& u. {0 v3 j

    8 {1 P1 Z/ b9 a% [贝叶斯网(信念网); I0 D4 P" q# f  `6 {
    贝叶斯网借助有向无环图刻画属性之间的依赖关系,通过吉布斯采样或者变分推断等方式来近似推断后验概率。
    ( H% w* I# C4 ~( k9 _优点:; R# w) a1 f5 A( U$ O/ _$ h5 r
    1、更加完整地考虑了属性间依赖关系,泛化性能将进一步提升& Y+ z* `! N' k$ D: L
    2、近似估算后验概率
    0 U& L. r' P) x" y3、可用于推测属性缺失的样本
    / I) g0 }& ~7 p) u9 k6 N, D! ?9 G4、良好的可解释性% @2 I  C1 z1 P& {+ \5 I. x# B
    5、常用于语音识别、机器翻译等2 F4 K( ?( P; N5 I  Z; _
    缺点:
    5 r/ z, C/ j+ c3 ^8 {& T( P1 J+ n1、结构学习NP难,通过评分搜索方法缓解
    6 K% }8 b! r9 R* \3 R1 I2、推断算法的收敛速度较慢
    . j$ |' B/ P/ g9 i: i+ x
    1 b$ ]/ r. m9 E3 e# v1 ~1 x( c& M! q决策树(decision tree)- Q0 H/ \$ N9 L- @
    决策树通过信息纯度(信息增益、增益率、基尼指数等)来决定结点的生成,通过剪枝来缩小决策树的尺寸以及缓解过拟合。是一种非参数学习算法。% I/ q5 _& z( z9 N3 R# C
    优点:% b! x; ?: _& Q- E
    1、计算量较小( a; b% A5 u& Y! ~5 ?
    2、清晰表达属性的重要程度6 R$ k0 N) h6 i0 J7 e1 A
    3、可增量学习对模型进行部分重构
    ' h0 ^# @: h$ u/ p& C' U4、不需要任何领域知识和参数假设
    9 Q6 ^6 U7 Z% T$ k5、适合高维数据, L% l( g8 s; J( [' @( M
    6、随机森林是基于决策树的集成学习策略,随机森林鲜有短板
    3 h$ ^- o/ P/ f, |8 \缺点:" O! q7 n- m' N" x4 k4 y! T
    1、没有考虑属性间依赖+ O/ W6 g2 Z: k2 b. N9 u% _0 ^# l
    2、容易过拟合,通过剪枝缓解
    $ L) |" o6 B7 f# a; D3、不可用于推测属性缺失的样本
    ) o4 Q. Q  X% d5 ]
    ; e4 G- f: M% P5 @3 u* A支持向量机(SVM)
    " z. f# v6 l8 R/ Q/ q" O: i基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开,是一种针对二分类设计的算法,但稍加改造为支持向量回归即可用于回归学习。
    . o  I9 T$ Q: N1 f1 G3 _& e优点:/ v0 _) x  U9 Q
    1、可解决小样本的机器学习任务! w: t- X3 x$ \. g
    2、可解决高维问题
    * d9 ~: K* M6 v$ [' s4 ~# l1 h) s3、可通过核方法解决非线性问题2 g1 |$ S& V1 ^  b* N& ^
    缺点:
    " t6 D/ C( F4 S4 x8 s' f6 F1、对缺失数据敏感
    : t+ l$ i# v  P  c/ I# o6 H, ^6 R2、对于非线性问题,核函数方法选择一直是个未决问题
    2 j, I  H6 n! i8 S% r- G' T/ D) T4 M8 c& Y5 o( r$ {( X
    神经网络' x, c& {$ h; n' X9 y, r& T* \
    优点:
    ' q( m' i- |( B$ y, t! u1、分类的准确度极高* x, n3 T. M; o3 V
    2、可解决复杂的非线性问题! h4 \4 z+ f0 T9 h6 N# d8 K! K7 @( q1 T
    3、对噪声神经有较强的鲁棒性和容错能力
    / [! [* o& ?8 N" v, y4、并行分布处理能力强,分布存储及学习能力强+ l" ~6 E$ [; [) y& h. g
    5、常用于图像识别
    ' c* i" V5 A& _7 X5 A6、数据量越大,表现越好9 P: i3 W# h: w6 n
    缺点:
    : C( ]7 u) c5 Z% T  b) e! O1、黑箱模型,难以解释/ h/ K6 w8 ~; X" |$ B( R$ p
    2、需要初始化以及训练大量参数,如网络结构、权值、阈值,计算复杂; ~* i" o( x, _  V9 @
    3、误差逆传播的损失
    - b+ R  r/ Q2 e" |$ S4、容易陷入局部最小
    1 R6 h* [$ o* g; v- Z- `+ y5 f& A0 f" z1 p0 E" o8 V+ J9 _
    词向量(word2vec)
    : s4 m0 _- t/ {$ @/ B& w将文章的每句话当成一行,将每个词用符号隔开(如使用中文分词工具jieba),根据上下文,可以找出相似词义的词。/ t2 L2 O% |' ~) w6 e+ S) |
    比如:我 喜欢 你,我 爱 你,我 讨厌 你。根据上下文我和你,可以找到喜欢的相似词,有爱和讨厌。( V" o* p2 J7 i8 \% j0 T8 L0 D
    再一般地如:1 2 3 X 4 5 6,1 2 3 Y 4 5 6。根据上下文1 2 3和4 5 6,可以找到X和Y相似。6 ]+ J# D) G& P( l& D' Z6 p  M
    gensim是一个很好用的Python NLP的包,不光可以用于使用word2vec,还有很多其他的API可以用。它封装了google的C语言版的word2vec。
    , ]5 d5 M& v' H; P: b! U. q; I7 l/ Y6 b5 P; ^
    k近邻分类(kNN): \& u) y9 r' R  X
    基于某种距离度量找出训练集中与其最靠近的k个训练样本,或者指定距离e之内的训练样本,分类任务中通过投票法(以及加权投票等)将出现最多的类别标记作为预测结果,回归任务中则使用平均法(以及加权平均等)
      z  `) I- K1 c* V* _优点:
    + }- O2 d8 y2 F, B1、思想简单,易于理解,易于实现,无需估计参数,无需训练;% y( I! C+ @( j+ M
    2、适合对稀有事件进行分类;3 b6 ~& j* p: `5 W6 z- U' E9 O
    3、特别适用于多分类问题
    ' G/ s: `3 F) S5 g& @* i/ R- z缺点:
    + r* x  J0 Y$ |2 V) G1 r5 Z1、需要计算出待测样本与所有样本的距离,计算量大8 L6 Q8 j& s8 @4 J; w
    2、样本不平衡时影响大
    ) `* b( `5 X; B6 l; r0 l6 T9 U$ O3、适用的特征维度低
    9 E! Z6 Y+ [8 z# ~4 d3 U
    2 B4 M& Y' e% C4 I线性模型
    ( c! p' A# w( k+ ?- e5 W& J优点:8 j& j/ b* d, {2 J0 l6 ?
    1、算法简单,编程方便3 x" E- g- ?' y6 J6 B; K
    2、计算简单,决策速度快2 a0 u! K' w/ u% B  g5 H# s
    缺点:" E2 H1 O  R4 a* Y. u' W- k5 T7 c7 m
    1、拟合效果较差
      V" W- L; @/ v
    % A% |( F$ R3 I$ l1 Q高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比  |+ B* S7 A& o% N+ o
    k-means是高斯混合聚类在混合成分方差相等、且每个样本仅指派给一个混合成分时的特例,因此k-means计算简单,但效果不如高斯混合聚类& S' s5 `$ h+ h8 p$ Q- S( p
    由于计算太过复杂,高斯混合聚类并不常用,推荐使用k-means++(与k-means随机选定不同,k-means++初始选定的几个样本距离尽量远,这样能更快得出分簇结果)等k-means变种。
    ) J) F# E' {% F: S! I0 G
    + B4 G% X( Z! T' ?关于学习算法的性能实验结果
    6 }9 {# i3 y, o/ ]: p! S& n点击查看原文
    & @2 T  x0 l& z8 o2 A' \. B% f+ z6 ?2 j0 h
    14年的时候有人做过一个实验[1],比较在不同数据集上(121个),不同的分类器(179个)的实际效果。* {) p- K( O) C* o- r% y
    论文题为:Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?2 b, D# l! g3 T4 Z
    没有最好的分类器,只有最合适的分类器。
    6 u/ y, V+ Y/ A! k1、随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板。9 L; s- D/ T  M9 q, S
    2、SVM的平均水平紧随其后,在10.7%的数据集上拿到第一。
    - C& I, G, ]/ m% o$ C3、神经网络(13.2%)和boosting(~9%)表现不错。
    ) |% ]! N; a" j4 t2 a4、数据维度越高,随机森林就比AdaBoost强越多,但是整体不及SVM[2]。# H; V; }5 t5 Y" H
    5、数据量越大,神经网络就越强。& R1 {7 x/ m: }" F. |: y
    ————————————————
    6 C, H; l1 A) }1 h' `0 N版权声明:本文为CSDN博主「路飞的纯白世界」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    % k/ I* s7 q- o" U$ F( W1 }; o' {原文链接:https://blog.csdn.net/u010921136/article/details/90668382* O# v( |5 V  h: q' M0 S

    ) W4 f1 Y3 h5 A( H) n) k9 n7 |0 P$ D
    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-7-24 23:51 , Processed in 0.405247 second(s), 50 queries .

    回顶部