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

1. 监督式学习:

监督式学习(英语:Supervised learning),是一个机器学习中的方法,可以由训练资料中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练资料是由输入物件(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

一个监督式学习者的任务在观察完一些训练范例(输入和预期输出)后,去预测这个函数对任何可能出现的输入的值的输出。要达到此目的,学习者必须以"合理"的方式从现有的资料中一般化到非观察到的情况。在人类和动物感知中,则通常被称为概念学习(concept learning)。

2. 非监督式学习:

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

3. 半监督式学习:

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

4. 强化学习:

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

5. 算法类似性

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

6. 回归算法:

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

7. 基于实例的算法

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

8. 正则化方法

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

9. 决策树学习

决策树算法根据数据的属性采用树状结构建立决策模型, 决策树模型常常用来解决分类和回归问题。常见的算法包括:分类及回归树(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)

10. 贝叶斯方法

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

11. 基于核的算法

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

12.聚类算法

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

13. 关联规则学习

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

14. 人工神经网络

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

15. 深度学习

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

16. 降低维度算法

像聚类算法一样,降低维度算法试图分析数据的内在结构,不过降低维度算法是以非监督学习的方式试图利用较少的信息来归纳或者解释数据。这类算法可以用于高维数据的可视化或者用来简化数据以便监督式学习使用。

常见的算法包括:主成份分析(Principle Component Analysis, PCA),偏最小二乘回归(Partial Least Square Regression,PLS), Sammon映射,多维尺度(Multi-Dimensional Scaling, MDS), 投影追踪(Projection Pursuit)等。

17. 集成算法:

集成算法用一些相对较弱的学习模型独立地就同样的样本进行训练,然后把结果整合起来进行整体预测。集成算法的主要难点在于究竟集成哪些独立的较弱的学习模型以及如何把学习结果整合起来。

这是一类非常强大的算法,同时也非常流行。常见的算法包括:Boosting, Bootstrapped Aggregation(Bagging), AdaBoost,堆叠泛化(Stacked Generalization, Blending),梯度推进机(Gradient Boosting Machine, GBM),随机森林(Random Forest)。

学习和关注“人工智能技术与咨询”,更多前沿技术值得掌握!

17个机器学习的常用算法相关推荐

  1. AI:人工智能概念之机器学习中常用算法的思维导图集合(非常经典、建议收藏)之详细攻略

    AI:人工智能概念之机器学习中常用算法的思维导图集合(非常经典.建议收藏)之详细攻略 目录 机器学习算法的思维导图集合 1.ML算法思维图 2.ML算法思维导图 相关文章:ML/DL:关于算法模型的选 ...

  2. 机器学习分类常用算法-笔记

    朴素贝叶斯 朴素:给定目标值时属性之间相互条件独立. P(Dj∣x)P(x)=P(x∣Dj)P(Dj)P\left(D_{j} | x\right) P(x)=P\left(x | D_{j}\rig ...

  3. (转)五大常用算法:分治、动态规划、贪心、回溯和分支界定

    分治算法 一.基本概念 在计算机科学中,分治法是一种很重要的算法.字面上的解释是"分而治之",就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题-- ...

  4. 五大常用算法:分治、动态规划、贪心、回溯和分支界定

    算法系列之十六:使用穷举法解猜结果游戏--http://blog.csdn.net/orbit/article/details/7607685 ---------------例子: 麻将PC上发送操作 ...

  5. dataframe常用操作_【Data Mining】机器学习三剑客之Pandas常用算法总结上

    一.前言 看pandas之前我建议先看我的numpy总结,效果更佳. SEU-AI蜗牛车:[Data Mining]机器学习三剑客之Numpy常用算法总结​zhuanlan.zhihu.com 可以 ...

  6. 炼数成金数据分析课程---17、机器学习聚类算法(后面要重点看)

    炼数成金数据分析课程---17.机器学习聚类算法(后面要重点看) 一.总结 一句话总结: 大纲+实例快速学习法 主要讲解常用聚类算法(比如K-means等)的原理及python代码实现:后面学习聚类的 ...

  7. 轻松看懂机器学习十大常用算法

    本文转载自CSDN aliceyangxi1987的博客 通过本篇文章可以对机器学习(machine learning, ML)的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下, ...

  8. 【机器学习算法专题(蓄力计划)】一、机器学习简史和常用算法的梳理

    文章目录 机器学习简史 二十世纪五十年代:推理期 二十世纪七十年代中期:知识期 二十世纪八十年代:从样例中学习 符号主义学习 连接主义学习 二十世纪九十年代中期:统计学习 二十一世纪:深度学习 机器学 ...

  9. 机器学习——常用算法的总结

    机器学习常用算法总结 机器学习--常用算法的总结 学习方式 一.监督式学习: 1.分类 2.回归 补充--线性回归与逻辑回归 二.非监督式学习: 三.半监督式学习: 四.强化学习: 算法类似性 一.回 ...

  10. 轻松看懂机器学习十大常用算法 - 基础知识

    通过本篇文章可以对机器学习ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题. 算法如下: 决策树 随机森林算法 逻辑 ...

最新文章

  1. Dwr 框架简单实例
  2. 独家定制「炼丹贴纸」免费送,让你成为实验室最靓的仔
  3. SpringMVC自定义视图 Excel视图和PDF视图
  4. 【Java】设计模式在Gourmet咖啡系统中的应用
  5. java中calendarr,Java学习(16)--System 类/Date 类/ Calendar类
  6. Flutter Stack 帧布局,层叠堆放
  7. 用自己电脑做服务器,建个人网站
  8. 仿形靠模的计算机设计方法,仿形靠模的计算机设计方法.pdf
  9. SPSS卡方检验笔记
  10. 具体数学_计算机科学基础(第2版)pdf
  11. win7共享20人限制 清除_中控智慧考勤门禁_机器直连软件及清除管理员
  12. 蓝牙小票机php接口,Android蓝牙打印小票,仿美团外卖小票打印
  13. 《项梵自述》分享我的心酸经历
  14. 基于Tensorflow 2.x手动复现BERT
  15. eclipse的简介
  16. h5调用微信,微博等分享
  17. CONDITION EVALUATION DELTA
  18. 2019年中国研究生数学建模竞赛D题 汽车行驶工况构建
  19. 哈工大计算机学院官网哈工大软件工程专业,2019哈工大软件工程考研参考书目及复试线...
  20. 3D设计软件中怎么创建风扇叶模型?浩辰3D基础教程

热门文章

  1. windows电脑上一些软件如画图/记事本变成了英文
  2. 融云 SDK 如何实现群组操作
  3. chrome 安装 gliffy 绘图插件以及使用
  4. 索引,用户授权,备份
  5. kettle中的switch_kettle 教程(三):条件判断 Switch Case
  6. c libxml2解析html,libxml2
  7. xrd连续扫描和步进扫描_多晶XRD步进扫描与连续扫描介绍
  8. JUnit 4 超详细教程(一)
  9. 如何降低视频文件大小而又不影响视频清晰度
  10. 前端开发必备工具之 - TinyPNG