QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2045|回复: 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
    7 p) }' Z" u4 Z& X
    各类机器学习算法的优缺点和适用场景汇总
    + b% _7 K0 M/ \3 p9 L0 |目录  r; J# h7 a/ c- ]
    朴素贝叶斯分类器(NB:naive Bayes classifiers)% U( a! N8 _+ j) B
    半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)
    % }  B& d6 K3 {+ v* ~* S( L+ P/ O贝叶斯网(信念网)3 C; m+ y# J% t% Q
    决策树(decision tree)1 |9 b& L% c2 X8 [) l6 A3 E+ Q
    支持向量机(SVM)
    & e9 s' f6 b6 `# _" u( [神经网络
    1 y5 Y( a7 p, A! a词向量(word2vec)& g* P$ N% f1 O2 I; X
    k近邻分类(kNN)
    / L; a/ [3 f- {- s线性模型. j9 n  Q7 v3 _4 R7 ^
    高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比* m. e( V7 R6 F- I
    关于学习算法的性能实验结果: y# U, ]- J7 C
    朴素贝叶斯分类器(NB:naive Bayes classifiers)
    ( i8 n+ d# O$ f; W4 a* Q1 u顾名思义,其适用于分类任务、并且假设每个属性独立地对分类结果发生影响,然而现实中各个因素往往并不独立,那是否就无法解决问题呢?
    4 a2 ~2 U8 G  B) \事实上并非如此,相反,朴素贝叶斯分类器在很多情况下都能获得相当好的性能,一种解释是:无需精准概率值即可导致正确分类结果;另一种解释是:若属性间依赖对所有类别影响相同,或依赖关系的影响能相互抵消,则属性条件独立性假设在降低计算开销的同时,不会对性能产生负面影响。
    ( r: L. m' S- c; y  K7 H& A$ g% K/ I* q
    优点:
    : {$ o7 n1 w0 c. @. I* B1、计算量较小8 ^2 Y6 s7 |$ w5 Y
    2、支持懒惰学习、增量学习
    3 b: y, |2 D4 f) f2 R; \3、对缺失数据不太敏感
    5 P& X5 l+ ~+ Q5 U8 j7 o/ T4、推断即查表,速度极快。# ]5 H5 F1 [" t6 k. u/ w+ [
    缺点:$ R1 E4 }# L7 }' @
    1、没有考虑属性间依赖$ Q) J- l  T3 _' e$ M' F
    2、通过类先验概率产生模型
    / F( |: S" {  f9 z
    ( q- h2 [; b! K) ^" r  Q半朴素贝叶斯分类器(SNB:semi-naive Bayes classifiers)( _# z- o( e+ p/ K4 P+ I' X
    相比NB的不考虑依赖,SNB则是考虑了一个(独依赖估计策略:ODE)或多个(多依赖估计策略:kDE)属性依赖
    + [  `, N8 v- V8 n" ], E优点:
    / c4 }; d, U6 s8 b+ h, z, m8 o& ?3 Z1、考虑了一个或多个比较强的属性依赖关系,泛化性能可能得到提升
    3 Z0 ~' ^; X' q4 Q9 V1 Q2、计算开销不大
    : W: ^7 c+ r3 ~1 v& x# Y3、同样支持懒惰学习、增量学习
    ) a0 b( P* n3 n8 D0 H5 {缺点:; L+ A: ^5 W8 C# m" y
    1、通过类先验概率产生模型; p! e/ N1 z: X3 D8 ]6 |

    + D( d( [# f; [1 u5 L$ d6 s贝叶斯网(信念网)- ~: G" _1 K: B: c6 y# T8 ^! ]( r
    贝叶斯网借助有向无环图刻画属性之间的依赖关系,通过吉布斯采样或者变分推断等方式来近似推断后验概率。
    % N+ Z( G4 a2 H, h6 p) J优点:
    # K7 }; J8 F# |! _. w; [+ x9 H" i1、更加完整地考虑了属性间依赖关系,泛化性能将进一步提升
    7 N, X/ V: {% P8 n2、近似估算后验概率
    % T2 J. M) m4 o  Q! u3、可用于推测属性缺失的样本
    1 H( s' g1 t- L- b4、良好的可解释性# b+ s5 s! |$ C. N5 U( w; M
    5、常用于语音识别、机器翻译等5 }' u* Y& Y5 i3 m3 a
    缺点:; w+ |. q5 w0 P* Y
    1、结构学习NP难,通过评分搜索方法缓解* P) |  E3 ~' G! q
    2、推断算法的收敛速度较慢
    , k2 v3 ?/ n3 Z+ P; ^
    $ A, `; N& C1 Q  F- C8 v6 @0 h% l1 C决策树(decision tree), V/ U# t7 G8 t7 {/ j# M
    决策树通过信息纯度(信息增益、增益率、基尼指数等)来决定结点的生成,通过剪枝来缩小决策树的尺寸以及缓解过拟合。是一种非参数学习算法。& u6 n2 c# f6 K+ L9 l
    优点:
    5 O- n, F5 s# V$ i1、计算量较小
    4 V; U5 v! z9 W  H& {$ O7 Y7 G6 h2、清晰表达属性的重要程度4 f0 E& @& V; v1 p, ^
    3、可增量学习对模型进行部分重构
    . w* A3 ~# }- W0 h5 c# w4、不需要任何领域知识和参数假设" b1 S9 m" y/ `& i
    5、适合高维数据
    3 N5 v9 R- v$ O" F. t6、随机森林是基于决策树的集成学习策略,随机森林鲜有短板7 {6 \& ?1 @/ n
    缺点:
    - E1 |2 g+ T& v' V1、没有考虑属性间依赖8 G0 s6 f  I) M2 \, r- g/ v
    2、容易过拟合,通过剪枝缓解
    6 r$ f" |  b1 _9 X% [3、不可用于推测属性缺失的样本2 G) v& ]3 y& s7 u4 d
    . C+ B! `7 K1 [4 u0 J
    支持向量机(SVM)
    ( g, j6 s  J/ ~' ^: U9 r( [基于训练集D在样本空间中找到一个划分超平面,将不同类别的样本分开,是一种针对二分类设计的算法,但稍加改造为支持向量回归即可用于回归学习。
    5 A9 V7 B/ v) W" j. u: }. L7 W3 l优点:6 Y, y$ v  ^% k; A( v9 x$ d
    1、可解决小样本的机器学习任务
    1 P+ I4 M( r0 @6 p3 ?0 ]2、可解决高维问题! i( S# G& W: g% J/ c
    3、可通过核方法解决非线性问题
    ' \4 K, h- n( T" V+ E, b缺点:2 o" j" Y, Y2 V# q) d) z
    1、对缺失数据敏感
    8 c# f8 |. G, F5 `3 Z( L, `; M2、对于非线性问题,核函数方法选择一直是个未决问题* \' J2 x8 r* V6 }: d  G

    - ?, j# J1 q* D; d& D神经网络
    - R1 m: `6 H7 y( V: A# r优点:/ f2 f: @! s* ^! X8 t" |' H% ^
    1、分类的准确度极高
    - \2 Q# R2 I5 {0 _2、可解决复杂的非线性问题% G3 h& y. @! A( T: u' `7 ~' M
    3、对噪声神经有较强的鲁棒性和容错能力% v$ d+ f; `* a' |. o, _
    4、并行分布处理能力强,分布存储及学习能力强; {* ?- x0 p. Q" B
    5、常用于图像识别
    6 U$ e/ m$ }4 X1 y+ I6、数据量越大,表现越好
    " J8 N2 o3 B  z缺点:/ o: p& a1 n5 {  X) k" ~, q6 L
    1、黑箱模型,难以解释6 a6 \& f4 P+ l+ M: z
    2、需要初始化以及训练大量参数,如网络结构、权值、阈值,计算复杂
    , O+ e, g9 z% r3 G& Z) K3、误差逆传播的损失
    . y1 d( S$ M2 L9 N' a0 @8 Q4、容易陷入局部最小! R* |# i/ q5 M) g# n
    & Y/ s. w- A. T
    词向量(word2vec)" c" o% o8 R  |8 i7 g: d; h6 ^( J: M
    将文章的每句话当成一行,将每个词用符号隔开(如使用中文分词工具jieba),根据上下文,可以找出相似词义的词。0 c- C; h5 A1 A9 \  ^9 V( g
    比如:我 喜欢 你,我 爱 你,我 讨厌 你。根据上下文我和你,可以找到喜欢的相似词,有爱和讨厌。! g9 J) {2 F" y& t$ E$ }
    再一般地如:1 2 3 X 4 5 6,1 2 3 Y 4 5 6。根据上下文1 2 3和4 5 6,可以找到X和Y相似。1 w+ w' O* [% j& O' K0 u
    gensim是一个很好用的Python NLP的包,不光可以用于使用word2vec,还有很多其他的API可以用。它封装了google的C语言版的word2vec。$ n5 W; ^$ y4 m$ ^' }* E" g8 o! L
      B. T! d/ P' S# ~# P
    k近邻分类(kNN)) M5 T( d5 c4 n! _
    基于某种距离度量找出训练集中与其最靠近的k个训练样本,或者指定距离e之内的训练样本,分类任务中通过投票法(以及加权投票等)将出现最多的类别标记作为预测结果,回归任务中则使用平均法(以及加权平均等)
    ) c$ C8 Y7 O, c优点:
    & k6 y% o8 w; C1、思想简单,易于理解,易于实现,无需估计参数,无需训练;
      R" k9 K5 n, d+ E! z/ O, ?/ z2、适合对稀有事件进行分类;# z! H! ?5 |+ a% `
    3、特别适用于多分类问题" |+ X$ k* [3 ]" z. W7 {( i% m
    缺点:
    : q/ h" b% T( W, l+ P* v" g1、需要计算出待测样本与所有样本的距离,计算量大  U- M9 @( K; I) E1 o
    2、样本不平衡时影响大
    ; k3 O- C. D$ r& q& S3、适用的特征维度低
    6 n5 ?# @2 S1 m" ~- J; {. T
    ) y, R+ u& _' b- U  q9 V' c线性模型
    % f$ o2 G5 @2 {+ u优点:
    - S6 U8 i  \6 j$ c1、算法简单,编程方便
    ; ~/ K& A/ B4 O3 g2、计算简单,决策速度快, N) l7 n0 x7 x- q& N+ D  V8 L1 C
    缺点:) t8 `; m. \5 D: g0 J1 u4 D
    1、拟合效果较差
    9 T5 o& k% B% w& n( g
    ) s! A2 v6 m; ~0 P* J- s高斯混合聚类与k均值(k-means)及其变种(k-means++、ISODATA、Kernel K-means)的对比
    $ b8 a1 |4 P. T! T$ H; p2 _k-means是高斯混合聚类在混合成分方差相等、且每个样本仅指派给一个混合成分时的特例,因此k-means计算简单,但效果不如高斯混合聚类  Q) z$ F& ]3 W/ U# Y) p6 E
    由于计算太过复杂,高斯混合聚类并不常用,推荐使用k-means++(与k-means随机选定不同,k-means++初始选定的几个样本距离尽量远,这样能更快得出分簇结果)等k-means变种。
    , {1 w; L$ g: k# x' P
    1 n8 v+ C; k6 h3 K关于学习算法的性能实验结果8 s/ l6 F+ m  j; H/ h- o; X# P! Z  V- F
    点击查看原文( v/ x# @: u: D3 P

    ! _& [& @  M) _$ e, `' ?3 ~14年的时候有人做过一个实验[1],比较在不同数据集上(121个),不同的分类器(179个)的实际效果。
    5 H- i# G# l# d论文题为:Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?3 m, x; I4 F. x" C( v, e$ l
    没有最好的分类器,只有最合适的分类器。3 ?3 Y! I) `; l6 A! a$ V5 Q
    1、随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板。
    $ S' C. y3 F! X# A5 R2、SVM的平均水平紧随其后,在10.7%的数据集上拿到第一。! e/ c1 z; K# K6 e9 Y9 e; {
    3、神经网络(13.2%)和boosting(~9%)表现不错。  A5 U% C" r% f0 o6 n
    4、数据维度越高,随机森林就比AdaBoost强越多,但是整体不及SVM[2]。
      L# E( ^5 Z  v# z) h& ~5、数据量越大,神经网络就越强。( ]$ ?) o6 \/ I# p  a0 P; t4 ^" W
    ————————————————
    1 [  Z! t# z0 x5 e4 G& h版权声明:本文为CSDN博主「路飞的纯白世界」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。( p2 q) `7 Y9 I9 q. b8 s- t
    原文链接:https://blog.csdn.net/u010921136/article/details/90668382# o/ B4 `; D. ?5 {& J

      B. i$ {8 N3 [6 b+ J  Y3 `; H. C9 q  d% P! f6 \4 N$ I7 B
    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 21:28 , Processed in 1.256799 second(s), 51 queries .

    回顶部