近些年来,随着大数据、云计算、移动互联网、人工智能技术的兴起,“机器学习”成为了行业内煊赫一时的一个名词。从通讯互联网领域的专家,到各式各样的企业,甚至到普通的老百姓,都对“机器学习”技术略知一二。那么,机器学习究竟是什么,它与咱们常见的“人工智能”、“神经网络”、“数据挖掘“等类似概念都有什么关系?机器学习有那些基本分支、基本方法?在本文中,咱们将用最简单易懂的语言解释这些问题。算法
问题一:“机器学习”和“人工智能”的关系是什么?网络
随着“机器学习”火起来的还有一个词语,即“人工智能”。每一个人都确定还记得不久之前的AlaphGo,随着机器战胜围棋顶级高手李世石,人们也不得不感叹:“人工智能”时代真正到来了。机器学习
那么,“机器学习”和“人工智能”的关系究竟是什么尼?其实,“人工智能”是一个很大的学科领域,里面包含不少子领域,如“机器学习”,“数据挖掘”,“模式识别”,“天然语言处理”等。这些子领域可能有交叉,但侧重点每每不一样。好比”机器学习“就比较侧重于算法方面。总的来讲,“人工智能”是一个学科领域,是咱们研究的最终目的,而”机器学习“是这个领域中比较核心的,比较重要的,侧重于算法的一门学科,能够说,“人工智能”和“机器学习”是包含与被包含的关系。性能
问题二:“机器学习”和“神经网络”、“深度学习”的关系是什么?学习
最近,“神经网络”、“深度学习”等词大火,不少小伙伴可能就比较疑惑这两者和”机器学习“是什么关系。事实上。机器学习主要是研究各类算法的,经典的机器学习算法有几个大类:回归算法、决策树、贝叶斯算法、支持向量机、神经网络、聚类等等。看到这里你们应该懂了,“神经网络”只是“机器学习”诸多算法中的一种。在机器学习的多种算法中,可能随着时代的变化和技术的应用,在某一个特定的时间段里某一种特定的算法会比其余算法火爆,这也是为何近几年许多即便不了解”机器学习“的人也对”神经网络“略有知晓的缘由。测试
“深度学习”其实范围更小,它是“神经网络”算法中的一种。近几年随着计算能力的提升、计算数据量的增加,本来难以实现的“深度学习”算法反而很好地发挥了它的优点。近些年的一些机器学习任务也随着深度学习算法的发展而取得了更好的效果。大数据
问题三:“机器学习”和“数据挖掘”的关系是什么?云计算
随着大数据的发展,“数据挖掘”技术也进入了人们的视线。不少企业如今在招聘时,都会有“数据挖掘/机器学习工程师”这样一个岗位。翻看数据挖掘方面的书籍,有很大一部份内容讲的就是机器学习算法。那么,数据挖掘与机器学习又有什么不一样尼?人工智能
首先,二者的侧重点有所不一样。机器学习主要侧重于理论和算法,更注重于寻找更加高效简洁的算法,而数据挖掘更注重实际应用,好比更注重数据分析的流程、数据存储、算法选择等,能够说,数据挖掘是机器学习的一个实际应用。htm
在内容上来讲,通常能够认为成:数据挖掘=机器学习+数据处理。也就是说,数据挖掘内容上比机器学习更普遍一点。不过两者仍是各有所长。
以上咱们能够说解释了机器学习、数据挖掘领域的初学者很容易混淆的几个问题,这就为机器学习开了个好头,下面咱们就能够专门介绍机器学习领域的相关知识。
什么是机器学习?百度百科对机器学习有这样一个简单的解释:机器学习是一门多领域交叉学科,涉及几率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,从新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具备智能的根本途径,其应用遍布人工智能的各个领域,它主要使用概括、综合而不是演绎。
咱们姑且不用管百度百科上的定义是否特别准确,至少它把机器学习最基本的内容说出来了。它主要研究一些算法,这些算法可让计算机模拟人类学习。它涉及到几率论、统计论、凸分析等等数学领域,是人工智能的核心。
这样看来,机器学习貌似很炫酷——可让计算机模拟人类学习。有的小伙伴可能会以为高深莫测,其实,一切模型的基础都是简单的有些愚蠢的。所以不要由于“模拟人类学习”一词就认为须要多么高大上的模式,最简单的机器学习算法基本上就在干两件事情:分类和回归。所谓分类,就是给定一个事物的一些参数,来判断它的类别,举个简单的例子:有一我的,他黑皮肤、卷头发、厚嘴唇,让你判断他来自亚洲、非洲、仍是欧洲。很明显,通常人会判断他来自非洲。他必定来自非洲吗?不必定,可是他来自非洲的可能性是最大的。所以,若是将{黑皮肤、卷头发、厚嘴唇}这个属性组输入给计算机,它会自动”学习“并给出判断(他是个非洲人)。这就是一个分类的例子,回归的例子也很简单,一个班的学生按照大小身高排队,排好后若是给了前30个同窗的身高值,那么推测第31个同窗的身高应该也能推测个八九不离十。这就是分类和回归。其实,虽然人类的学习过程看似复杂,但每每也都是由无数个分类回归构成的。
通常,咱们把机器学习算法分红3个大类,分别是:监督学习、非监督学习、半监督学习。下面咱们依次简单介绍。
监督学习:监督学习就是须要必定的训练数据的学习方式。训练数据就是咱们事先测试获得的即包含属性集又包含结果的数据。这种学习每每经过必定训练数据训练出一个“模型”,以后的只有属性集没有结果的数据能够将属性集套入到模型中,并获得其结果。就比如咱们以前在脑子中训练出了”一个黑皮肤、卷头发、厚嘴唇“的人是非洲人这一模型后,再给咱们一个有这样属性的人,咱们天然会获得他是非洲人这样的结果同样。
监督学习是机器学习领域最庞大的一个分支,有多种迄今为止很是成功的算法族,如常见的决策树算法族、神经网络算法族、支持向量机算法族、贝叶斯算法族等。
非监督学习:非监督学习和监督学习相对应,是没有训练序列的,这种学习方式须要把数据所有拿来,而后靠“物以类聚,人与群分”。这比如有一群人,根据”肤色、发色“两个属性进行归类,发现有一群人肤色是白的,发色是金的,还有一群人肤色是黄的,发色是黑的,还有一群人肤色是黑的,发色是黑的,不须要训练,咱们很天然地就把有不一样属性的人归类到了一块儿。常见的非监督学习主要是聚类算法族。
半监督学习:半监督学习介于监督学习和非监督学习之间,它有一部分的训练数据,但数量较少。半监督学习经过这部分训练数据实现训练另外一部分数据,而后将新训练的数据加入训练数据集中继续训练,这样不断迭代,就会慢慢产生一个庞大的训练数据集。半监督学习在不少领域有重要应用,由于有的时候,并非很容易获得大量的带标记数据的。常见的半监督学习有半监督SVM,半监督图学习、半监督聚类等。
最后介绍一下数据分析的基本流程,并看一下机器学习处在什么位置。
数据分析主要是数据挖掘领域的内容,基本流程包括业务分析、数据初探、数据预处理、创建模型、模型评估、可视化呈现等几步。其中,前3步主要是一些准备工做,用于把获得的数据处理成易于建模的形式,咱们的机器学习模型主要就体如今“创建模型”和“模型评估”这两步。在“创建模型”中,咱们会根据处理好的训练数据,选择合适的机器学习算法进行建模,在“模型评估”中,咱们会用测试数据对刚刚创建好的模型进行一个评估。经常使用的评估参数有查准率、查全率等,经常使用的评估方法有自助法、留出法、K折交叉验证法等。