博客:https://braverychr.github.io/
知乎专栏:https://zhuanlan.zhihu.com/MLstudy
01
相关概念
提起机器学习,我们不得不给机器学习下一个准确的定义。在直观的层面,如果说计算机科学是研究关于算法的科学,那么机器学习就是研究关于“学习算法”的科学,或者说,不同于一般的显式编程,机器学习就是研究如何使得计算机在无法被显式编程的情况下进行学习的领域,需要注意的是,显式与否都是对于人类而言的——人类能否明确的搞清楚每个决策步骤,对于计算机而言,构成不同算法的代码与指令没有任何区别。
更加精确的说,机器学习的定义如下:
A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E. 一个(机器学习)的程序就是可以从经验数据E中对任务T进行学习的算法,它在任务T上的性能度量P会随着对于经验数据E的学习而变得更好
由于机器学习必然利用了某些经验,它们常常数据的形式存在,我们称之为数据集,其中的每个数据称为记录。例如我们通过一个人的性别、年龄和身高预测他是否患某种常见疾病,有以下数据:
(性别:男;年龄:18;身高:174;是否得病:否) (性别:女;年龄:17;身高:164;是否得病:是) (性别:男;年龄:20;身高:181;是否得病:是) (性别:女;年龄:16;身高:161;是否得病:是) ……
这可以被称为一个数据集,其中每个人的数据称为记录。在记录中,关于该对象的描述型数据称为属性,由于属性往往有很多个——如上文的年龄,身高等,可以构成属性向量,这些向量张成的空间称为属性空间。而我们的算法需要预测那个量被称为标记(label)——在上文中便是“得病与否”。在有的数据集中存在标记,有的不存在。标记构成的空间称为标记空间,也称为输出空间。
显然,由于我们只能得到整个总体数据的一部分——即训练样本,我们程序得到的模型却不能只适应于这个训练样本,它必须对整个总体数据都有比较好的预测效果。这就是说我们的模型必须具有泛化的能力。
我们训练得到的模型称为一个假设,所有的模型一起构成了假设空间。显然,可能有多种假设空间和训练数据一致——就好像对于一个知识点很少的课堂学习,有不少人能得到很高的分数,但是对于整个总体数据,学习的不同模型显然效果差别很大——真正考验很多难的知识点的考试,考验把上述表面上的学霸分开。
每个假设——也就是训练的模型,必然有其归纳偏好,也就是说,在训练集中没有见过的情况,或者两者皆可的情况,模型会选择哪种。归纳偏好是模型进行泛化的能力基础。
那么,对于训练的得到多个不同模型,我们如何选择呢?常用的方法是奥卡姆剃刀:
奥卡姆剃刀:若有多个假设和观察一致,我们选择最简单的那个
奥卡姆剃刀基于一个朴素的哲学观念,即这个世界是简单的,可以理解的。
02
算法分类
基于训练集是否拥有标记(label),我们可以把机器学习分为以下四类:
下面我们依次对他们进行解释。
监督学习的任务亦可以分为两类:
03
发展历程
在历史上,人工智能的热潮和低谷已经度过了一轮又一轮,所以不得不提醒广大读者:一个技术必然是有其周期性,当前火热的深度学习完成不了强人工智能的历史使命,人工智能领域必然会再一次走向低谷,等待下一次技术迭代。
那么机器学习和人工智能有什么关系呢?可以说,机器学习是人工智能发展到一定阶段的必然产物!
从人们对于人工智能的认识来看,人工智能走过了以下几个阶段:
而对于机器学习而言,已经发展处以下一些流派,他们都在历史上繁荣一时,占据过一定的地位。
目前,以深度学习为名的连接主义卷土而来,究其原因,不过是数据大了,计算能力强了——若数据样本过少,则容易“过拟合”,若没有强力计算设备,根本无法求解。
所以,我在这里不得不再次提醒读者,目前深度学习并没有理论上的实质性突破,完成不了强人工智能的历史使命,人工智能领域必然会再一次走向低谷,等待下一次技术迭代,请不要把鸡蛋放在一个篮子里。
04
应用场景
目前机器学习在各个领域发挥着重要领域,创造了无数的经济价值。以下举例说明
05
结束语
机器学习拥有着广阔的应用场景和无限的前途,可以说,发展出能够取代人类的强人工智能,是整个计算机行业最大的目标。让我们一起交流学习,征服机器学习的星辰大海!