初识机器学习算法有哪些?

机器学习无疑是现在数据分析领域的一个重要内容,凡事从事IT工作领域的人都在平时的工作中或多
或少的会用到机器学习的算法。

机器学习有很多算法,不过大的方面可分为两类:一个是学习的方式,一个是算法的类似性。

学习方式:

根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会

考虑算法的学习方式。在机器学习领域,有几种主要的学习方式。将算法按照学习方式分类是一个不

错的想法,这样可以让人们在建模和算法选择的时候考虑能根据输入数据来选择最合适的算法来获得

最好的结果。

算法的主要学习方式和学习模型主要有以下几个:

监督学习:输入数据被称为训练数据,它们有已知的标签或者结果,比如垃圾邮件/非垃圾邮件或者某

段时间的股票价格。模型的参数确定需要通过一个训练的过程,在这个过程中模型将会要求做出预测

,当预测不符时,则需要做出修改。

无监督学习:输入数据不带标签或者没有一个已知的结果。通过推测输入数据中存在的结构来建立模

型。这类问题的例子有关联规则学习和聚类。算法的例子包括Apriori算法和K-means算法。

半监督学习:输入数据由带标记的和不带标记的组成。合适的预测模型虽然已经存在,但是模型在预

测的同时还必须能通过发现潜在的结构来组织数据。这类问题包括分类和回归。典型算法包括对一些

其他灵活的模型的推广,这些模型都对如何给未标记数据建模做出了一些假设。

强化学习:输入数据作为来自环境的激励提供给模型,且模型必须作出反应。反馈并不像监督学习那样

来自于训练的过程,而是作为环境的惩罚或者是奖赏。典型问题有系统和机器人控制。算法的例子包

括Q-学习和时序差分学习(Temporal Difference Learning)。

算法类似性

根据算法的功能和形式的类似性,我们可以把算法分类,比如说基于树的算法,基于神经网络的算法

等等。当然,机器学习的范围非常庞大,有些算法很难明确归类到某一类。而对于有些分类来说,同

一分类的算法可以针对不同类型的问题。这里,我们尽量把常用的算法按照最容易理解的方式进行分

类。

回归分析

回归是这样一种建模方式,它先确定一个衡量模型预测误差的量,然后通过这个量来反复优化变量之

间的关系。回归方法是统计学的主要应用,被归为统计机器学习。这有些让人迷惑,因为我们可以用

回归来指代一类问题和一类算法。实际上,回归是一个过程。以下是一些例子:

普通最小二乘法
逻辑回归
逐步回归
多元自适应样条回归(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)
深度信念网(DBN)
卷积神经网络
层叠自动编码器(SAE)

降维方法

如同聚类方法,降维方法试图利用数据中的内在结构来总结或描述数据,所不同的是它以无监督的方

式利用更少的信息。这对于可视化高维数据或者为之后的监督学习简化数据都有帮助。

主成分分析(PCA)
偏最小二乘法回归(PLS)
萨蒙映射
多维尺度分析(MDS)
投影寻踪

集成方法

集成方法由多个较弱模型组合而成,这些子模型独立训练,它们的预测结果以某种方式整合起来得出

总的预测。很多努力都集中在选择什么类型的学习模型作为子模型,以及用什么方式整合它们的结果

。这是一类非常强大的技术,因此也很流行。

推进技术(Boosting)
自展集成(Bagging)
适应性推进(AdaBoost)
层叠泛化策略(Blending)
梯度推进机(GBM)
随机森林

时间: 2024-08-02 14:10:01

初识机器学习算法有哪些?的相关文章

《机器学习算法原理与编程实践》学习笔记(二)

(上接第一章) 1.2 对象.矩阵与矢量化编程 1.2.1对象与维度(略) 1.2.2初识矩阵(略) 1.2.3矢量化编程与GPU运算(略) 1.2.4理解数学公式与NumPy矩阵运算 1.矩阵的初始化 #coding:utf-8 import numpy as np #导入NumPy包 #创建3*5的全0矩阵和全1的矩阵 myZero = np.zeros([3,5])#3*5的全0矩阵 print myZero myZero = np.ones([3,5])##3*5的全1矩阵 print

初识机器学习

翻开周志华老师的<机器学习>这本书,摘自绪论这段话:机器学习正是这样的一门学科,它致力于研究如何通过计算的手段,利用经验来改善系统自身的性能.而在计算机系统当中,"经验"就是以"数据"的形式存在,所以,机器学习所研究的主要内容是:关于在计算机上从数据中产生"模型"的算法,即"学习算法". 要进行机器学习,首先要有数据,数据的集合称为数据集,而其中每条记录是关于一个事件或对象的描述,称为一个"示例"

利用机器学习算法寻找网页的缩略图

博客中的文章均为meelo原创,请务必以链接形式注明本文地址 描述一个网页 现在的世界处于一个信息爆炸的时代.微信.微博.新闻网站,每天人们在大海捞针的信息海洋里挑选自己感兴趣的信息.我们是如何判断哪条信息可能会感兴趣?回想一下,你会发现是标题.摘要和缩略图.通过标题.摘要和缩略图,就能够很好地猜测到网页的内容.打开百度搜索引擎,随便搜索一个关键字,每一条搜索结果也正是这三要素构成的. 那么一个自然的问题是搜索引擎是如何找到网页的标题.摘要和缩略图的呢. 寻找网页的标题其实是一个非常简单的问题.

机器学习系列(9)_机器学习算法一览(附Python和R代码)

本文资源翻译@酒酒Angie:伊利诺伊大学香槟分校统计学同学,大四在读,即将开始计算机的研究生学习.希望认识更多喜欢大数据和机器学习的朋友,互相交流学习. 内容校正调整:寒小阳 && 龙心尘 时间:2016年4月 出处:http://blog.csdn.net/han_xiaoyang/article/details/51191386 http://blog.csdn.net/longxinchen_ml/article/details/51192086 声明:版权所有,转载请联系作者并注

简单易学的机器学习算法——AdaBoost

一.集成方法(Ensemble Method) 集成方法主要包括Bagging和Boosting两种方法,随机森林算法是基于Bagging思想的机器学习算法,在Bagging方法中,主要通过对训练数据集进行随机采样,以重新组合成不同的数据集,利用弱学习算法对不同的新数据集进行学习,得到一系列的预测结果,对这些预测结果做平均或者投票做出最终的预测.AdaBoost算法和GBDT(Gradient Boost Decision Tree,梯度提升决策树)算法是基于Boosting思想的机器学习算法.

【机器学习算法-python实现】采样算法的简单实现

1.背景 采样算法是机器学习中比较常用,也比较容易实现的(出去分层采样).常用的采样算法有以下几种(来自百度知道): 一.单纯随机抽样(simple random sampling) 将调查总体全部观察单位编号,再用抽签法或随机数字表随机抽取部分观察单位组成样本. 优点:操作简单,均数.率及相应的标准误计算简单. 缺点:总体较大时,难以一一编号. 二.系统抽样(systematic sampling) 又称机械抽样.等距抽样,即先将总体的观察单位按某一顺序号分成n个部分,再从第一部分随机抽取第k

【机器学习算法-python实现】矩阵去噪以及归一化

1.背景 项目需要,打算用python实现矩阵的去噪和归一化.用numpy这些数学库没有找到很理想的函数,所以一怒之下自己用标准库写了一个去噪和归一化的算法,效率有点低,不过还能用,大家如果有需要可以拿去. (1)去噪算法:根据概率论的知识,如果一组数据服从正态分布,我们设均值是n,方差是v,那么对于每个离散数值有百分之九十二以上的概率会在(n-3*v,n+3*v)的区间内.所以这里的去噪功能主要是实现如果超出了区间就将这个值标记为区间所能容忍最大值. (2)归一化:找到输入队列最大值max,最

机器学习算法之旅

在理解了我们须要解决的机器学习问题之后,我们能够思考一下我们须要收集什么数据以及我们能够用什么算法.本文我们会过一遍最流行的机器学习算法,大致了解哪些方法可用,非常有帮助. 机器学习领域有非常多算法,然后每种算法又有非常多延伸,所以对于一个特定问题,怎样确定一个正确的算法是非常困难的.本文中我想给你们两种方法来归纳在现实中会遇到的算法. 学习方式 依据怎样处理经验.环境或者不论什么我们称之为输入的数据,算法分为不同种类.机器学习和人工智能课本通常先考虑算法能够适应的学习方式. 这里仅仅讨论几个基

【机器学习算法-python实现】协同过滤(cf)的三种方法实现

(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 协同过滤(collaborative filtering)是推荐系统常用的一种方法.cf的主要思想就是找出物品相似度高的归为一类进行推荐.cf又分为icf和ucf.icf指的是item collaborative filtering,是将商品进行分析推荐.同理ucf的u指的是user,他是找出知趣相似的人,进行推荐.通常来讲icf的准确率可能会高一些,通过这次参加天猫大数据比赛,我觉得只有在数据量非