机器学习的常用算法 --- 2016/7/19

  机器学习是数据分析师高级进阶的一个核心技能。分享关于机器学习的文章,没有算法,没有代码,只是能够快速的了解机器学习!

--------------------------------------------------------------------------------------------------------------------------------------------------

  在了解了需要解决的机器学习问题的类型之后,可以开始考虑搜集来的数据的类型以及可以尝试的机器学习算法。在这里介绍一遍最流行的机器学习算法,通过浏览主要的算法来大致了解可以利用的方法是很有帮助的。

  可利用的算法非常之多,困难之处在于既有不同种类的方法,也有对这些方法的扩展。这导致很快就难以区分到底什么才是正统的算法。希望通过两种方式来思考和区分在这个领域中你将会遇到的算法。

  第一种划分算法的方式是根据学习的方式,第二种则是基于形式和功能的相似性。两种方法都是有用的。

学习方式

  基于经验、环境,或者任何我们称之为输入数据的相互作用,一个算法可以用不同的方式对一个问题建模。在机器学习和人工智能教课书中,流行的做法是首先考虑一个算法的学习方式。算法的主要学习方式和学习模型只有几个,逐一介绍,并且给出几个算法和它们适合解决的问题类型来作为例子。

监督学习:输入数据被称为训练数据,它们有已知的标签或者结果,比如垃圾邮件/非垃圾邮件或者某段时间的股票价格。模型的参数确定需要通过一个训练的过程,在这个过程中模型将会要求作出预测,当预测不符时,则需要作出修改。

无监督学习:输入数据不带标签或者没有一个已知的结果,通过推测输入数据中存在的结构来建立模型。这类问题的例子有关联规则学习和聚类。算法的例子包括Apriori算法和K-means算法。

半监督学习:输入数据由带标记和不带标记的组成。合适的预测模型虽然已经存在,但是模型在预测的同时还必须能通过发现潜在的结构来组织数据。这类问题包括分类和回归。典型算法包括对一些其他灵活的模型的推广,这些模型对如何给未标记数据建模做出了一些假设。

强化学习:输入数据作为来自环境的激励提供给模型,且模型必须做出反应。反馈并不像监督学习那样来自于训练的过程,而是作为环境的惩罚或者奖赏。典型问题有系统和机器人控制。算法的例子包括Q学习和时序差分学习。

  当你处理大量数据来对商业决策建模时,通常会使用监督和无监督学习。目前一个热门话题是半监督学习,比如会应用在图像分类中,涉及到的数据集很大但只是包含极少数标记的数据。

-----------------------------------------------------------------------------------------------------------------------------------------------

算法相似性

  通常,我们会把算法按照功能和形式的相似性来区分。比如树形结构和神经网络的方法。这是一种有用的分类方法,但也不是完美的。仍然有些算法很容易就可以被归入好几个类别。比如学习矢量量化,它既是受启发于神经网络的方法,又是基于实例的方法,也有一些算法的名字即描述了它处理的问题,也是某一类算法的名称,比如回归和聚类。正因为如此,逆会从不同的来源看到对算法进行不同的归类。就像及其学习算法自身一样,没有完美的模型,只有足够好的模型。

  在这个小节里,将会按照我觉得最直观的方式列出许多流行的机器学习算法。虽然不管是类别还是算法都不是全面详尽的,但我认为它们都具有代表性,有助于对整个领域有一个大致的了解。

回归分析

  回归是这样一种建模方式,它先确定一个衡量模型预测误差的量,然后通过这个量反复优化变量之间的关系。回归方法是统计学的主要应用,被归为统计机器学习。这有些让人迷茫,因为门可以用回归来指代一类问题或一类算法。实际上,回归是一个过程。以下是一些例子:

  普通最小二乘法

  逻辑回归

  逐步回归

  多元自适应样条回归MARS

  局部多项式回归拟合LOESS

  基于实例的学习模型对决策问题进行建模,这些决策基于训练数据中被认为重要的或者模型所必须的实例。这类方法通常会建立一个范例数据库,然后根据某个相似性衡量标准来把新数据和数据库进行比较,从而找到最匹配的项,最后做出预测。因此,基于实例的方法还被叫做“赢者通吃”方法和基于记忆的学习。这种方法的中点在于已有实例的表示以及实例间相似性的衡量标准。

  K最近邻算法KNN

  学习矢量量化LVQ

  自组织映射SOM

正则化方法

  这是对另一种方法(通常是回归分析方法)的扩展,它惩罚复杂度高的模型,倾向推广性好的更加简单的模型。在这里列下了一些正则化的方法,因为他们流行、强大,而且通常只是对其他方法简单的改进。

  岭回归

  套索算法LASSO

  弹性网络

决策树学习

  决策树方法对决策过程进行建模,决策时基于数据中属性的实际数值。决策在树形结构上分叉直到对特定的某个记录能做出预测。在分类后者回归的问题中我们用数据来训练决策树。

  分类与回归数算法CART

  迭代二叉树3代ID3

  C4.5算法

  卡方自动互动检视CHAID

  单层决策树

  随机森林

  多元自适应样条回归MARS

  梯度推进机GBM

贝叶斯算法

  贝叶斯方法时哪些明确地分类和回归问题中应用贝叶斯定理的算法。

  朴素贝叶斯算法

  AODE算法

  贝叶斯信度网络BBN

核函数方法

  核函数方法中最为出名的是流行的支持向量机算法,它其实是一系列方法。核函数方法关心的是如何把输入数据映射到一个高纬度的矢量空间,在这个空间中,某些分类或者回归问题可以较容易地解决。

  支持向量机SVM

  径向基函数RBF

  线性判别分析LDA

聚类方法

  就像回归一样,聚类既表示一类问题,也表示一类方法。聚类方法一般按照建模方式来划分:基于质心的或者层级结构的。所有的方法都是利用数据的内在结构来尽量地把数据归入具有最大共性的一类里。

  K均值法

  最大期望算法EM

关联规则学习

  关联规则学习是提取规则的一类算法,这些规则能最好地解释观测到的数据中的变量之间的关系。这些规则能在大型多维数据集中发现重要且在商业上有用的关联,然后进一步被利用。

  Apriori算法

  Eclat算法

人工神经网络

  人工神经网络是受启发与生物神经网络的结构或功能的算法。它们是一类常用在回归和分类问题中的模式匹配方法,但其实这个庞大的子类包含了上百种算法和算法的变形,可以解决各种类型的问题,一些经典流行的方法(已经把深度学习从这个分类中分出来了):

  感知机

  反向传播算法

  Hopfield神经网络

  自适应映射SOM

  学习矢量量化LVQ

深度学习

  深度学习方法是利用便宜冗余的计算资源对人工神经网络的现代版改进。这类方法试图简历大得多也复杂得多的神经网络,就如前面说到的,许多方法都是基于大数据集中非常有限的标记数据来解决半监督学习问题。

  受限玻尔兹曼机RBM

  深度信念网DBM

  卷积神经网络

  层叠自动编码器SAE

降维方法

  如同聚类方法,降维方法试图利用数据中的内在结构来总结或描述数据,所不同的是它以无监督的方式利用更少的信息。这对于可视化高维数据或者为之后的监督学习简化数据都有帮助。

  主成分分析PCA

  偏最小二乘法回归PLS

  萨蒙映射

  多维尺度分析MDS

  投影寻踪

集成方法

  集成方法由多个较弱模型组合而成,这些子模型独立训练,它们的预测结构以某种方式整合起来得出总的预测。很多努力都集中在选择什么类型的学习模型作为子模型,以及用什么方式整合它们的结果。这是一类非常强大的技术,因此也很流行。

  推进技术Boosting

  自展集成Bagging

  适应性推进AdaBoost

  层叠泛化策略Blending

  梯度推进机GBM

  随机森林

  

时间: 2024-10-11 21:10:40

机器学习的常用算法 --- 2016/7/19的相关文章

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

轻松看懂机器学习十大常用算法 通过本篇文章可以对ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题. 每个算法都看了好几个视频,挑出讲的最清晰明了有趣的,便于科普. 以后有时间再对单个算法做深入地解析. 今天的算法如下: 决策树 随机森林算法 逻辑回归 SVM 朴素贝叶斯 K最近邻算法 K均值算法 Adaboost 算法 神经网络 马尔可夫 1. 决策树 根据一些 feature 进行分类,每个节点提一个问题,通过

机器学习十大常用算法

机器学习十大常用算法小结 机器学习十大常用算法小结 通过本篇文章可以对ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题. 每个算法都看了好几个视频,挑出讲的最清晰明了有趣的,便于科普.以后有时间再对单个算法做深入地解析. 今天的算法如下: 决策树 随机森林算法 逻辑回归 SVM 朴素贝叶斯 K最近邻算法 K均值算法 Adaboost 算法 神经网络 马尔可夫 1. 决策树 根据一些 feature 进行分类,每个

机器学习定义及常用算法

转载自:http://www.cnblogs.com/shishanyuan/p/4747761.html?utm_source=tuicool 1 . 机器学习概念 1.1   机器学习的定义 在维基百科上对机器学习提出以下几种定义: l “ 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能 ” . l “ 机器学习是对能通过经验自动改进的计算机算法的研究 ” . l “ 机器学习是用数据或以往的经验,以此优化计算机程序的性能标准. ” 一

机器学习的一些常用算法

下面是些泛泛的基础知识,但是真正搞机器学习的话,还是非常有用.像推荐系统.DSP等目前项目上机器学习的应用的关键,我认为数据处理非常非常重要,因为很多情况下,机器学习的算法是有前提条件的,对数据是有要求的. 机器学习强调三个关键词:算法.经验.性能,其处理过程如下图所示. 上图表明机器学习是数据通过算法构建出模型并对模型进行评估,评估的性能如果达到要求就拿这个模型来测试其他的数据,如果达不到要求就要调整算法来重新建立模型,再次进行评估,如此循环往复,最终获得满意的经验来处理其他的数据. 1.2 

2016计算机考研:数据结构常用算法精析

不知道博客园有没有计算机专业的考研党,希望列举的计算机考研考点能帮助大家吧,以下就是数据结构常用算法精析,如果大家看有什么不对的地方,欢迎纠错指正啊哈哈哈.2016考研加油!!!!!!!!! 内部排序(在内存中进行的排序不需要访问外存的)外部排序(排序量很大,通过分批的读写外存,最终完成排序) 稳定排序和非稳定排序:看相同记录的相对次序是否回发生改变.主要看在排序过程中的比较是不是相邻记录,如果是相邻比较,一定是稳定的排序.如果不是相邻的比较,就是不稳定的. 内排序方法 截止目前,各种内排序方法

【算法模型】轻松看懂机器学习十大常用算法

[算法模型]轻松看懂机器学习十大常用算法 通过本篇文章大家可以对ML的常用算法形成常识性的认识.没有代码,没有复杂的理论推导,仅是图解,介绍这些算法是什么以及如何应用(例子主要是分类问题).以后有机会再对单个算法做深入地解析. 今天的算法如下: 决策树 随机森林算法 逻辑回归 SVM 朴素贝叶斯 K最近邻算法 K均值算法 Adaboost 算法 神经网络 马尔可夫 1. 决策树 根据一些 feature 进行分类,每个节点提一个问题,通过判断,将数据分为两类,再继续提问.这些问题是根据已有数据学

轻松看懂机器学习十大常用算法 (Machine Learning Top 10 Commonly Used Algorithms)

原文出处: 不会停的蜗牛 通过本篇文章可以对ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题. 每个算法都看了好几个视频,挑出讲的最清晰明了有趣的,便于科普.以后有时间再对单个算法做深入地解析. 今天的算法如下: 决策树 随机森林算法 逻辑回归 SVM 朴素贝叶斯 K最近邻算法 K均值算法 Adaboost 算法 神经网络 马尔可夫 1. 决策树 根据一些 feature 进行分类,每个节点提一个问题,通过判断,

五大常用算法

http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741370.html 分治算法 一.基本概念 在计算机科学中,分治法是一种很重要的算法.字面上的解释是"分而治之",就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题--直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并.这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)-- 任何一个可以用计

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

Referred from http://blog.csdn.net/yapian8/article/details/28240973 分治算法 一.基本概念 在计算机科学中,分治法是一种很重要的算法.字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并.这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以用计算机求