机器学习算法汇总:人工神经网络、深度学习及其它

 

机器学习算法汇总:人工神经网络、深度学习及其它

发表于2014-06-27 14:59| 116606次阅读| 来源IT经理网| 76 条评论| 作者王萌
摘要:机器学习无疑是当前数据分析领域的一个热点内容。很多人在平时的工作中都或多或少会用到机器学习的算法。这里我们将为您总结一下常见的机器学习算法,以供您在工作和学习中参考。

【编者按】机器学习的算法很多。很多时候困惑人们都是,很多算法是一类算法,而有些算法又是从其他算法中延伸出来的。这里,我们从两个方面来给大家介绍,第一个方面是学习的方式,第二个方面是算法的类似性。本文来自IT经理网。


免费订阅“CSDN云计算”微信公众号,实时掌握第一手云中消息!

CSDN作为国内最专业的云计算服务平台,提供云计算、大数据、虚拟化、数据中心、OpenStack、CloudStack、Hadoop、Spark、机器学习、智能算法等相关云计算观点,云计算技术,云计算平台,云计算实践,云计算产业资讯等服务。


以下为原文:

 

学习方式

 

根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域,有几种主要的学习方式。将算法按照学习方式分类是一个不错的想法,这样可以让人们在建模和算法选择的时候考虑能根据输入数据来选择最合适的算法来获得最好的结果。

 

监督式学习:


在监督式学习下,输入数据被称为“训练数据”,每组训练数据有一个明确的标识或结果,如对防垃圾邮件系统中“垃圾邮件”“非垃圾邮件”,对手写数字识别中的“1“,”2“,”3“,”4“等。在建立预测模型的时候,监督式学习建立一个学习过程,将预测结果与“训练数据”的实际结果进行比较,不断的调整预测模型,直到模型的预测结果达到一个预期的准确率。监督式学习的常见应用场景如分类问题和回归问题。常见算法有逻辑回归(Logistic Regression)和反向传递神经网络(Back Propagation Neural Network) 

 

 

非监督式学习:


 

在非监督式学习中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。常见的应用场景包括关联规则的学习以及聚类等。常见算法包括Apriori算法以及k-Means算法。 

 

半监督式学习:


 

在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理的组织数据来进行预测。应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预测。如图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM.)等。 

 

强化学习:


 

在这种学习模式下,输入数据作为对模型的反馈,不像监督模型那样,输入数据仅仅是作为一个检查模型对错的方式,在强化学习下,输入数据直接反馈到模型,模型必须对此立刻作出调整。常见的应用场景包括动态系统以及机器人控制等。常见算法包括Q-Learning以及时间差学习(Temporal difference learning)

在企业数据应用的场景下, 人们最常用的可能就是监督式学习和非监督式学习的模型。 在图像识别等领域,由于存在大量的非标识的数据和少量的可标识数据, 目前半监督式学习是一个很热的话题。 而强化学习更多的应用在机器人控制及其他需要进行系统控制的领域。

 

算法类似性

 

根据算法的功能和形式的类似性,我们可以把算法分类,比如说基于树的算法,基于神经网络的算法等等。当然,机器学习的范围非常庞大,有些算法很难明确归类到某一类。而对于有些分类来说,同一分类的算法可以针对不同类型的问题。这里,我们尽量把常用的算法按照最容易理解的方式进行分类。 

 

回归算法


 

回归算法是试图采用对误差的衡量来探索变量之间的关系的一类算法。回归算法是统计机器学习的利器。在机器学习领域,人们说起回归,有时候是指一类问题,有时候是指一类算法,这一点常常会使初学者有所困惑。常见的回归算法包括:最小二乘法(Ordinary Least Square),逻辑回归(Logistic Regression),逐步式回归(Stepwise Regression),多元自适应回归样条(Multivariate Adaptive Regression Splines)以及本地散点平滑估计(Locally Estimated Scatterplot Smoothing) 

 

基于实例的算法


 

基于实例的算法常常用来对决策问题建立模型,这样的模型常常先选取一批样本数据,然后根据某些近似性把新数据与样本数据进行比较。通过这种方式来寻找最佳的匹配。因此,基于实例的算法常常也被称为“赢家通吃”学习或者“基于记忆的学习”。常见的算法包括 k-Nearest Neighbor(KNN), 学习矢量量化(Learning Vector Quantization, LVQ),以及自组织映射算法(Self-Organizing Map , SOM) 

 

正则化方法


 

正则化方法是其他算法(通常是回归算法)的延伸,根据算法的复杂度对算法进行调整。正则化方法通常对简单模型予以奖励而对复杂算法予以惩罚。常见的算法包括:Ridge Regression, Least Absolute Shrinkage and Selection Operator(LASSO),以及弹性网络(Elastic Net)。 

 

决策树学习


 

决策树算法根据数据的属性采用树状结构建立决策模型, 决策树模型常常用来解决分类和回归问题。常见的算法包括:分类及回归树(Classification And Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 随机森林(Random Forest), 多元自适应回归样条(MARS)以及梯度推进机(Gradient Boosting Machine, GBM) 

 

贝叶斯方法


 

贝叶斯方法算法是基于贝叶斯定理的一类算法,主要用来解决分类和回归问题。常见算法包括:朴素贝叶斯算法,平均单依赖估计(Averaged One-Dependence Estimators, AODE),以及Bayesian Belief Network(BBN)。 

 

基于核的算法


 

基于核的算法中最著名的莫过于支持向量机(SVM)了。 基于核的算法把输入数据映射到一个高阶的向量空间, 在这些高阶向量空间里, 有些分类或者回归问题能够更容易的解决。 常见的基于核的算法包括:支持向量机(Support Vector Machine, SVM), 径向基函数(Radial Basis Function ,RBF), 以及线性判别分析(Linear Discriminate Analysis ,LDA)等。 

 

聚类算法


 

聚类,就像回归一样,有时候人们描述的是一类问题,有时候描述的是一类算法。聚类算法通常按照中心点或者分层的方式对输入数据进行归并。所以的聚类算法都试图找到数据的内在结构,以便按照最大的共同点将数据进行归类。常见的聚类算法包括 k-Means算法以及期望最大化算法(Expectation Maximization, EM)。 

 

关联规则学习


 

关联规则学习通过寻找最能够解释数据变量之间关系的规则,来找出大量多元数据集中有用的关联规则。常见算法包括 Apriori算法和Eclat算法等。 

 

人工神经网络


 

人工神经网络算法模拟生物神经网络,是一类模式匹配算法。通常用于解决分类和回归问题。人工神经网络是机器学习的一个庞大的分支,有几百种不同的算法。(其中深度学习就是其中的一类算法,我们会单独讨论),重要的人工神经网络算法包括:感知器神经网络(Perceptron Neural Network), 反向传递(Back Propagation), Hopfield网络,自组织映射(Self-Organizing Map, SOM)。学习矢量量化(Learning Vector Quantization, LVQ) 

 

深度学习


 

深度学习算法是对人工神经网络的发展。 在近期赢得了很多关注, 特别是 百度也开始发力深度学习后, 更是在国内引起了很多关注。  在计算能力变得日益廉价的今天,深度学习试图建立大得多也复杂得多的神经网络。很多深度学习的算法是半监督式学习算法,用来处理存在少量未标识数据的大数据集。常见的深度学习算法包括:受限波尔兹曼机(Restricted Boltzmann Machine, RBN), Deep Belief Networks(DBN),卷积网络(Convolutional Network), 堆栈式自动编码器(Stacked Auto-encoders)。 

 

降低维度算法


 

像聚类算法一样,降低维度算法试图分析数据的内在结构,不过降低维度算法是以非监督学习的方式试图利用较少的信息来归纳或者解释数据。这类算法可以用于高维数据的可视化或者用来简化数据以便监督式学习使用。常见的算法包括:主成份分析(Principle Component Analysis, PCA),偏最小二乘回归(Partial Least Square Regression,PLS), Sammon映射,多维尺度(Multi-Dimensional Scaling, MDS),  投影追踪(Projection Pursuit)等。 

 

集成算法


 

集成算法用一些相对较弱的学习模型独立地就同样的样本进行训练,然后把结果整合起来进行整体预测。集成算法的主要难点在于究竟集成哪些独立的较弱的学习模型以及如何把学习结果整合起来。这是一类非常强大的算法,同时也非常流行。常见的算法包括:Boosting, Bootstrapped Aggregation(Bagging), AdaBoost,堆叠泛化(Stacked Generalization, Blending),梯度推进机(Gradient Boosting Machine, GBM),随机森林(Random Forest)。 

原文链接: 机器学习常见算法分类汇总

163
 
2

已有76条评论

还可以再输入500个字
您还没有登录! 请 登录  注册
  • 最新评论
  • 最热评论
麦小猴 2017-06-11 21:19
实话说,感觉这类别分的挺乱的
   回复
changlingchang 2017-05-21 11:06
学习了
   回复
qq_35050076 2017-04-25 11:23
很不错的算法,mark,http://playground.tensorflowjiaocheng.com 这篇文章也是介绍的神经网络,跟题主的文章遥相呼应啊,不过这里面多了一个小游戏,能很直观的告诉我们人工智能是怎么学习的,文章幽默风趣,有兴趣的同学可以去看看
1票,来自单线程生物    回复
单线程生物 2017-06-02 14:55
thank you
   回复
Hatchsolution 2017-02-23 18:18
Mark
   回复
尚书左仆射 2016-12-27 10:22
可以哦
   回复
opt_lezhehao 2016-12-27 09:43
mark
   回复
穆士凝魂 2016-12-26 11:10
MARK
   回复
dhqhuang 2016-12-16 19:54
mark
   回复
zhangjianxinjava 2016-10-26 18:05
mark
   回复
heshan0426 2016-10-11 05:14
mark
   回复
qq_30586617 2016-09-22 22:27
mark
   回复
qq_36026550 2016-09-01 21:38
mark
   回复
gystld850143 2016-08-04 15:31
易用易懂的支持向量机——Excel+SVM 有二分类、多分类、单因变量回归、多因变量回归功能。软件自动寻优,只需要标记、确定两步就能完成操作,得到准确率高的分类和回归结果。http://www.plsexcelword.com/
   回复
as631167305 2016-07-20 18:44
mark
   回复
Binbin_Sun 2016-06-27 11:05
战略性mark
1票,来自Dahu_is    回复
ydlzdz 2016-06-09 08:13
谢谢分享
   回复
苏伯曼 2016-06-08 10:06
1票,来自tishuo1639    回复
不吹牛不睡觉 2016-06-03 15:49
mark
   回复
NoName9 2016-05-01 14:09
战略性mark +1
   回复
创客征途 2016-03-30 20:44
战略性mark
   回复
yuchengliu 2016-03-28 19:16
Mark
   回复
__WILL 2016-02-29 19:42
感谢分享!总算分清这些名词了。。。
   回复
下雨了冒泡了 2016-02-24 20:02
战略性mark
   回复
hpu刘 2016-02-24 16:11
mark
   回复
阿里无云 2015-12-30 19:01
mark
   回复
好大一个大冬瓜 2015-12-10 09:29
mark~
   回复
losteng 2015-12-06 15:05
写得好,支持
   回复
liyu_h 2015-10-31 22:09
学习了,非常不错!
   回复
findanew 2015-09-28 17:05
可以通过该文章了解一下前沿科学。非常不错的文章。
   回复
happyorzking 2015-09-10 10:30
mark
   回复
gotope 2015-07-17 11:48
不清楚具体分类
   回复
yuan_a_yuan 2014-11-14 10:55
mark~
   回复
财运通 2014-10-27 14:31
机器学习方面很好的总结。
   回复
guo939352919 2014-07-24 11:57
很好!!!长见识了!!
   回复
williandeng85 2014-07-24 11:51
真不错!了解很多,开阔视野!
   回复
糖果屋lyp 2014-07-24 10:44
真不错,学习学习
   回复
shenqidelaochao 2014-07-24 10:23
开阔知识面
   回复
u010065384 2014-07-24 10:13
不错呢,有点意思啊
   回复
rongli_tao 2014-07-24 10:05
长见识了。
   回复
sujmis 2014-07-24 09:54
good
   回复
bonnybonny 2014-07-23 22:29
mark
   回复
phypor 2014-07-20 00:01
.....曾在某本书看过类似的介绍
   回复
mathwor 2014-07-19 21:07
mark
   回复
zjhgx 2014-07-18 14:21
mark
   回复
追寻QWN 2014-07-18 11:36
mark
   回复
u013167800 2014-07-11 14:10
Mark
   回复
lgdlxc 2014-07-07 13:06
mark
   回复
CSDN魏伟 2014-07-07 08:40
希望CSDN能多出像这样的干货
   回复
redpoppet 2014-07-05 15:14
wonderful ! 毕业设计时见到的三种方法居然都是这个里面的。。。
   回复
qwert-asdf 2014-07-04 21:04
mark
   回复
请您注意
  • ·自觉遵守:爱国、守法、自律、真实、文明的原则
  • ·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规
  • ·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品
  • ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • ·您在CSDN新闻评论发表的作品,CSDN有权在网站内保留、转载、引用或者删除
  • ·参与本评论即表明您已经阅读并接受上述条款
 
posted @ 2017-08-15 11:21  sky_lover  阅读(1025)  评论(0编辑  收藏  举报