机器学习最简单的详细概述
对于任何一个事件或者概念的了解或者入门,我习惯于用“DFCG”的理论来解释与认识。“D”就是define的意思,也就是对某一个概念先确定一个定义,这个定义可以是在你经过大量的阅读相关的概念的基础上自己理解的定义,也可以是别人比较关于某个概念比较经典的定义,但只有一个核心,你必须吃透它,理解它;“F”指的是这一概念的特征,相比较其他的概念,它有什么不一样的地方,它有什么显著的地方或者说不同于其他的地方;“C”指的是对这一个概念进行分类,分类时要进行思考,从什么样的维度进行分类,可以分为哪几类,分的类是否互斥,是否涵盖了所有;“G”指的是这一事情或者想表达什么样的意思,也就是他的目标是啥,它想干一件什么样的事情,可以与它的作用联系起来一起考虑。
对于机器学习也是一样,下面我也将用“DFCG”的理论来进行理解与讲解。
首先是第一步,关于它的“D”。查阅相关的文献,机器学习主要有以下几种定义:(1) 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能;(2) 机器学习是对能通过经验自动改进的计算机算法的研究;(3) 机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。 通过对这三个定义的理解,我们可以看到它们之中出现频率最高的词是“经验(数据)”与“计算”(算法或者计算机),其实这两个词语就是机器学习的核心,如果再稍微深入进行了解,也即是它的作用,还要加上“预测”。接下来,我将用一张图来说明机器学习理解的核心:经验(数据)、计算、预测。
我们来想象一下我们(人)是如何进行学习的,在大多数的情况下,我们往往利用的是我们在以往的生活中所积累的经验,然后对于这些经验,我们进行归纳总结(从科学的角度来讲,可以分为归纳与演绎),然后我们形成了所谓的“规律”,也就是直觉,感觉。当我们遇到新的问题的时候或者面对不确定事件的时候,我们常常会利用这些“规律”进行判断分析,从而进行推测,进行决策,指导自己做出选择。比如我们生活中会根据天空中的云卷云舒来判断天气如何,会根据敲打西瓜的声音来判断瓜熟了没(详见周志华机器学习)。把人的思考方式类比到机器学习之中,道理也是一样的。我们基于大数据时代背景下的海量数据,也就是机器学习所要掌握的“经验”(训练数据),通过不同的计算程序或者算法,对数据进行大量反复的训练,得到一个模型或者学习器,然后输入相应的新的数据(测试数据),来判断模型的优劣,反复这个过程,得到最优的模型,从而进行预测。在这里要反复强调的一点是,机器学习的处理过程不是因果的逻辑,而是通过大量归纳思想得出的相关性结论,这也是大数据时代带给我我们的思想变革,相关而非因果,详见对《大数据时代的思考(一)》。
总结一下,我们自己定义机器学习就是计算机(载体)对数据(经验)进行反复测试训练得出模型,从而进行预测的一门计算技术或方法。
第二步,关于机器学习的“F”。关于这一点,相关的文献并没有太多的赘述,在这里,我试着从三个方面理解机器学习的特点,即速度快、精度高、潜力大,需要声明的一点是,这三个特征是相比较人的。速度快主要是依赖于计算速度的发展,尤其是云计算的发展,云计算的发展可以高效集约地处理大量的处理,我相信随着云计算的发展以及“PB”时代的到来,机器学习可以快速处理上亿级别,甚至万亿级别的数据,而且是“秒级”反应,这对于人来说,根本是不可能实现的。精度高,这里的精度主要相对比的是人的“犯错”,或者说某些时刻的打盹情况,导致我们的预测不准,然而机器不会打盹,也不会犯一些错误,也不会感性思考,所以相对来说结果更为可靠,精度高。潜力大主要是基于计算与科技的快速发展,人们经常说未来的机器人更懂你,并且机器学习还有无监督学习(下面将涉及),这将会促进多方面的发展,但潜力大的同时也是危害,所以究竟是“诅咒”还是“福音”,究竟是“天使”还是“魔鬼”,谁也无法知道。
第三步,关于机器学习的“C”,机器学习根据不同的分类标准或者根据不同的维度,可以划分为不同的形式。它可以按照学习策略、学习方法、学习方式、学习目标进行分类,其中最常见的是按照学习的方式进行分类。基于学习方式进行分类,可以将器学习分为有监督学习、无监督学习、半监督学习、强化学习等。器学习的分类与算法是分不开的,每一个分类下有着不同的算法,下面将逐一介绍:
有监督学习
监督学习是从标记的训练数据来推断一个功能的机器学习任务。这里着重理解标记,通常也理解为标注或者标签(label)。有监督学习中的数据集中的数据点都会获得标注,有类别标签和数值标签。类别标签就是相当于某张图片可以分为橘子或者苹果,这个图片是有一定身份的,还有邮件可以分为垃圾邮件和正常邮件;而数值标签的例子就是预测你的学习成绩,预测股价,预测房价等。在监督学习中,每个实例都是由一个输入对象(通常为矢量)和一个期望的输出值(也称为监督信号)组成。监督学习算法是分析该训练数据,并产生一个推断的功能,其可以用于映射出新的实例。一个最佳的方案将允许该算法来正确地决定那些看不见的实例的类标签。
监督学习有两个典型的分类:分类(离散的数据)。比如上面的邮件过滤就是一个二分类问题,分为正例即正常邮件,负例即垃圾邮件;回归(从连续的数据,进行预测);回归的任务是预测目标数值,比如房屋的价格,给定一组特性(房屋大小、房间数等),来预测房屋的售价。
常见的监督学习算法
k-Nearest Neighbors (K近邻算法)
Linear Regression (线性回归)
Logistic Regression (逻辑回归)
Support Vector Machines (SVMs) (支持向量机)
Decision Trees and Random Forests (决策树和随机深林)
Neural networks (神经网络)
无监督学习
我们有一些问题,但是不知道答案,我们要做的无监督学习就是按照他们的性质把他们自动地分成很多组,每组的问题是具有类似性质的(比如数学问题会聚集在一组,英语问题会聚集在一组,物理........)。所有数据只有特征向量没有标签,这是重点,但是可以发现这些数据呈现出聚群的结构,本质是一个相似的类型的会聚集在一起。把这些没有标签的数据分成一个一个组合,就是聚类(Clustering)。
常见的无监督学习算法
Clustering
k-Means
Hierarchical Cluster Analysis (HCA)
Expectation Maximization
Visualization and dimensionality reduction
Principal Component Analysis (PCA)
Kernel PCA
Locally-Linear Embedding (LLE)
t-distributed Stochastic Neighbor Embedding (t-SNE)
Association rule learning
Apriori
Eclat
无监督学习算法常见工作
降维
降维的目标是简化数据,但是损失尽量少的信息。一个方法是将几个相似的特征或者代表一个属性的几个特征提取成一个特征,也是我们通常说的特征提取。
异常检测
比如说检测信用卡欺诈,我们用正例来训练模型,然后当一个新的实例到来的时候,判断是否像正实例,否则就是负例。
关联规则
可以参照啤酒和尿布的例子,也就是相关性很重要。
半监督学习
半监督学习在训练阶段结合了大量未标记的数据和少量标签数据。与使用所有标签数据的模型相比,使用训练集的训练模型在训练时可以更为准确,而且训练成本更低。在现实任务中,未标记样本多、有标记样本少是一个比价普遍现象,如何利用好未标记样本来提升模型泛化能力,就是半监督学习研究的重点。要利用未标记样本,需假设未标记样本所揭示的数据分布信息与类别标记存在联系。
强化学习
所谓强化学习就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大。如果Agent的某个行为策略导致环境正的奖赏(强化信号),那么Agent以后产生这个行为策略的趋势便会加强;简单来说就是给你一只小白鼠在迷宫里面,目的是找到出口,如果他走出了正确的步子,就会给它正反馈(糖),否则给出负反馈(点击),那么,当它走完所有的道路后。无论把它放到哪儿,它都能通过以往的学习找到通往出口最正确的道路。强化学习的典型案例就是阿尔法狗。
第四步,关于机器学习的“G”,我大致从三个方面来理解。从微观角度来说,机器学习的目的就是通过反复的测试模型,得到最优模型,使得预测值与我们的实际值之间的误差最小,使得拟合值无限接近于真实值。从中观角度来讲,机器学习的目标其实之前在前面的定义中已经提到了,就是对未来不确定性做出预测,机器学习的关键就是预测,通过预测来帮助我们做出决策。从宏观角度来讲,机器学习一个终极目标在我看来就是释放人性,其实每一项技术的发展,其背后都是对人性的释放。
总结
最后我来看机器学习的概述,机器学习就是计算机(载体)对数据(经验)进行反复测试训练得出模型,从而进行预测的一门计算技术或方法。它有三个特性:速度快、精度高、潜力大;按照学习方式可以有监督学习、无监督学习、半监督学习、强化学习;机器学习的核心目标是预测。