机器学习算法综述

近些年来,随着大数据、云计算、移动互联网、人工智能技术的兴起,“机器学习”成为了行业内炙手可热的一个名词。从通信互联网领域的专家,到各式各样的企业,甚至到普通的老百姓,都对“机器学习”技术略知一二。那么,机器学习到底是什么,它与我们常见的“人工智能”、“神经网络”、“数据挖掘“等相似概念都有什么关系?机器学习有那些基本分支、基本方法?在本文中,我们将用最简单易懂的语言解释这些问题。

问题一:“机器学习”和“人工智能”的关系是什么?

随着“机器学习”火起来的还有一个词语,即“人工智能”。每个人都肯定还记得不久以前的AlaphGo,随着机器打败围棋顶级高手李世石,人们也不得不感叹:“人工智能”时代真正到来了。

那么,“机器学习”和“人工智能”的关系到底是什么尼?其实,“人工智能”是一个很大的学科领域,里面包含很多子领域,如“机器学习”,“数据挖掘”,“模式识别”,“自然语言处理”等。这些子领域可能有交叉,但侧重点往往不同。比如”机器学习“就比较侧重于算法方面。总的来说,“人工智能”是一个学科领域,是我们研究的最终目的,而”机器学习“是这个领域中比较核心的,比较重要的,侧重于算法的一门学科,可以说,“人工智能”和“机器学习”是包含与被包含的关系。

问题二:“机器学习”和“神经网络”、“深度学习”的关系是什么?

最近,“神经网络”、“深度学习”等词大火,很多小伙伴可能就比较疑惑这二者和”机器学习“是什么关系。事实上。机器学习主要是研究各种算法的,经典的机器学习算法有几个大类:回归算法、决策树、贝叶斯算法、支持向量机、神经网络、聚类等等。看到这里大家应该懂了,“神经网络”只是“机器学习”诸多算法中的一种。在机器学习的多种算法中,可能随着时代的变化和技术的应用,在某一个特定的时间段里某一种特定的算法会比其他算法火爆,这也是为什么近几年许多即使不了解”机器学习“的人也对”神经网络“略有知晓的原因。

“深度学习”其实范围更小,它是“神经网络”算法中的一种。近几年随着计算能力的提高、计算数据量的增长,原本难以实现的“深度学习”算法反而很好地发挥了它的优势。近些年的一些机器学习任务也随着深度学习算法的发展而取得了更好的效果。

问题三:“机器学习”和“数据挖掘”的关系是什么?

随着大数据的发展,“数据挖掘”技术也进入了人们的视线。很多企业现在在招聘时,都会有“数据挖掘/机器学习工程师”这样一个岗位。翻看数据挖掘方面的书籍,有很大一部分内容讲的就是机器学习算法。那么,数据挖掘与机器学习又有什么不同尼?

首先,两者的侧重点有所不同。机器学习主要侧重于理论和算法,更注重于寻找更加高效简洁的算法,而数据挖掘更注重实际应用,比如更注重数据分析的流程、数据存储、算法选择等,可以说,数据挖掘是机器学习的一个实际应用。

在内容上来说,一般可以认为成:数据挖掘=机器学习+数据处理。也就是说,数据挖掘内容上比机器学习更广泛一点。不过二者还是各有所长。

以上我们可以说解释了机器学习、数据挖掘领域的初学者很容易混淆的几个问题,这就为机器学习开了个好头,下面我们就可以专门介绍机器学习领域的相关知识。

什么是机器学习?百度百科对机器学习有这样一个简单的解释:机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论凸分析算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。

我们姑且不用管百度百科上的定义是否特别准确,至少它把机器学习最基本的内容说出来了。它主要研究一些算法,这些算法可以让计算机模拟人类学习。它涉及到概率论、统计论、凸分析等等数学领域,是人工智能的核心。

这样看来,机器学习貌似很炫酷——可以让计算机模拟人类学习。有的小伙伴可能会觉得高深莫测,其实,一切模型的基础都是简单的有些愚蠢的。因此不要因为“模拟人类学习”一词就认为需要多么高大上的模式,最简单的机器学习算法基本上就在干两件事情:分类和回归。所谓分类,就是给定一个事物的一些参数,来判断它的类别,举个简单的例子:有一个人,他黑皮肤、卷头发、厚嘴唇,让你判断他来自亚洲、非洲、还是欧洲。很明显,一般人会判断他来自非洲。他一定来自非洲吗?不一定,但是他来自非洲的可能性是最大的。因此,如果将{黑皮肤、卷头发、厚嘴唇}这个属性组输入给计算机,它会自动”学习“并给出判断(他是个非洲人)。这就是一个分类的例子,回归的例子也很简单,一个班的学生按照大小身高排队,排好后如果给了前30个同学的身高值,那么推测第31个同学的身高应该也能推测个八九不离十。这就是分类和回归。其实,虽然人类的学习过程看似复杂,但往往也都是由无数个分类回归构成的。

一般,我们把机器学习算法分成3个大类,分别是:监督学习、非监督学习、半监督学习。下面我们依次简单介绍。

监督学习:监督学习就是需要一定的训练数据的学习方式。训练数据就是我们事先测试得到的即包含属性集又包含结果的数据。这种学习往往通过一定训练数据训练出一个“模型”,之后的只有属性集没有结果的数据可以将属性集套入到模型中,并得到其结果。就好比我们之前在脑子中训练出了”一个黑皮肤、卷头发、厚嘴唇“的人是非洲人这一模型后,再给我们一个有这样属性的人,我们自然会得到他是非洲人这样的结果一样。

监督学习是机器学习领域最庞大的一个分支,有多种迄今为止非常成功的算法族,如常见的决策树算法族、神经网络算法族、支持向量机算法族、贝叶斯算法族等。

非监督学习:非监督学习和监督学习相对应,是没有训练序列的,这种学习方式需要把数据全部拿来,然后靠“物以类聚,人与群分”。这好比有一群人,根据”肤色、发色“两个属性进行归类,发现有一群人肤色是白的,发色是金的,还有一群人肤色是黄的,发色是黑的,还有一群人肤色是黑的,发色是黑的,不需要训练,我们很自然地就把有不同属性的人归类到了一起。常见的非监督学习主要是聚类算法族。

半监督学习:半监督学习介于监督学习和非监督学习之间,它有一部分的训练数据,但数量较少。半监督学习通过这部分训练数据实现训练另一部分数据,然后将新训练的数据加入训练数据集中继续训练,这样不断迭代,就会慢慢产生一个庞大的训练数据集。半监督学习在很多领域有重要应用,因为有的时候,并不是很容易得到大量的带标记数据的。常见的半监督学习有半监督SVM,半监督图学习、半监督聚类等。

最后介绍一下数据分析的基本流程,并看一下机器学习处在什么位置。

数据分析主要是数据挖掘领域的内容,基本流程包括业务分析、数据初探、数据预处理、建立模型、模型评估、可视化呈现等几步。其中,前3步主要是一些准备工作,用于把得到的数据处理成易于建模的形式,我们的机器学习模型主要就体现在“建立模型”和“模型评估”这两步。在“建立模型”中,我们会根据处理好的训练数据,选择合适的机器学习算法进行建模,在“模型评估”中,我们会用测试数据对刚刚建立好的模型进行一个评估。常用的评估参数有查准率、查全率等,常用的评估方法有自助法、留出法、K折交叉验证法等。

时间: 2024-10-11 02:03:13

机器学习算法综述的相关文章

机器学习最常用优化之一——梯度下降优化算法综述

转自:http://www.dataguru.cn/article-10174-1.html 梯度下降算法是机器学习中使用非常广泛的优化算法,也是众多机器学习算法中最常用的优化方法.几乎当前每一个先进的(state-of-the-art)机器学习库或者深度学习库都会包括梯度下降算法的不同变种实现.但是,它们就像一个黑盒优化器,很难得到它们优缺点的实际解释.这篇文章旨在提供梯度下降算法中的不同变种的介绍,帮助使用者根据具体需要进行使用. 这篇文章首先介绍梯度下降算法的三种框架,然后介绍它们所存在的

机器学习算法需要注意的一些问题

对于机器学习的实际运用,光停留在知道了解的层面还不够,我们需要对实际中容易遇到的一些问题进行深入的挖掘理解.我打算将一些琐碎的知识点做一个整理. 1 数据不平衡问题 这个问题是经常遇到的.就拿有监督的学习的二分类问题来说吧,我们需要正例和负例样本的标注.如果我们拿到的训练数据正例很少负例很多,那么直接拿来做分类肯定是不行的.通常需要做以下方案处理: 1.1 数据集角度 通过调整数据集中正负样本的比例来解决数据不平衡,方法有: 1.1.1 增加正样本数量 正样本本来就少,怎么增加呢?方法是直接复制

机器学习算法实践——K-Means算法与图像分割

一.理论准备 1.1.图像分割 图像分割是图像处理中的一种方法,图像分割是指将一幅图像分解成若干互不相交区域的集合,其实质可以看成是一种像素的聚类过程.通常使用到的图像分割的方法可以分为: 基于边缘的技术 基于区域的技术 基于聚类算法的图像分割属于基于区域的技术. 1.2.K-Means算法 K-Means算法是基于距离相似性的聚类算法,通过比较样本之间的相似性,将形式的样本划分到同一个类别中,K-Means算法的基本过程为: 初始化常数 ,随机初始化k个聚类中心 重复计算以下过程,直到聚类中心

如何学习机器学习算法

学习机器学习算法真的是一件令人头疼的事,我们有那么多的论文.书籍.网站可以参考,它们或是精炼的数学描述(mathematically),或是一步一步的文本介绍(textually).如果你足够幸运,可能还会找到一些伪代码.如果人品爆发,甚至会被告知如何安装.但是,全靠人品毕竟不是长久之计,详尽的算法修炼秘籍也是寥寥.如此窘境,如何是好? 某侠士集成多年所得,指得一条明路:从“只言片语”中抽丝剥茧,多方参照,可获真经. 这“只言片语”并非随意摘选,而是指某一派算法之总.即算法最原始的出处(即文章)

机器学习算法须要注意的一些问题

对于机器学习的实际运用.光停留在知道了解的层面还不够,我们须要对实际中easy遇到的一些问题进行深入的挖掘理解.我打算将一些琐碎的知识点做一个整理. 1 数据不平衡问题 这个问题是经常遇到的. 就拿有监督的学习的二分类问题来说吧.我们须要正例和负例样本的标注.假设我们拿到的训练数据正例非常少负例非常多,那么直接拿来做分类肯定是不行的. 通常须要做下面方案处理: 1.1 数据集角度 通过调整数据集中正负样本的比例来解决数据不平衡,方法有: 1.1.1 添加正样本数量 正样本本来就少,怎么添加呢?方

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

博客中的文章均为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 声明:版权所有,转载请联系作者并注

特征选择常用算法综述

特征选择的一般过程: 1.生成子集:搜索特征子集,为评价函数提供特征子集 2.评价函数:评价特征子集的好坏 3.停止准则:与评价函数相关,一般是阈值,评价函数达到一定标准后就可停止搜索 4.验证过程:在验证数据集上验证选出来的特征子集的有效性 1.生成子集 搜索算法有 完全搜索.启发式搜索.随机搜索 三大类. (1)完全搜索 <1>宽搜(Breadth First Search):时间复杂度高,不实用 <2>分支界限搜索(Branch and Bound):其实就是宽搜加上深度的限

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

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