什么是机器学习?在搜索框内输入“机器学习”,检索出了这样的解释:“机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度等多门学科。机器学习专门研究计算机怎么模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能”。
机器真的可以像人一样学习吗?1959年,美国的Samuel设计了一款下棋程序,这个程序具有学习能力,可以在对弈中不断改善自己的棋艺。四年后,这个程序战胜了设计者本人。又过了三年,这个程序战胜了美国的保持了8年不败纪录的棋手。这个程序第一次向世人展示了机器强大的学习能力,也开启了机器学习的新纪元。
机器究竟是怎么学习的呢?
其实,机器学习是一种概念,你不需要写任何与问题有关的特定代码,一种叫作“泛型算法”(Genetic Algorithm)的工具就可以告诉你一些关于数据的结论。你只需要输入数据,就能建立数据的逻辑。(注:遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。)
其中一种算法叫作“分类”算法,顾名思义,它的功能就是给数据分组。分类算法可以用来区分垃圾邮件和非垃圾邮件,也能区分手写数字。只要给同样的算法输入不同的训练数据,就赋予了它不同的分类逻辑。
机器学习就是大量泛型算法的集合。
机器学习算法可以分为两类,一种是有监督机器学习(Supervised Machine Learning),一种是无监督机器学习(Unsupervised Machine Learning)。
你可以通过它们的名字了解到,它们最大的区别在于是否具有监督,那么“监督”究竟是什么呢。
让我们通过一个例子介绍一下它们各自代表什么。
如果你是一名房地产经纪人,你雇佣了一批新员工。但是,虽然你可以凭经验一眼估算出房子的价格,这批新员工面对房子却毫无头绪。于是,你不得不给新员工进行一次培训。
比如,写一个小程序,让它可以根据房子的大小、地段以及同类房子的成交价格等因素来评估价格。具体怎么做呢?首先,你需要收集过去三个月内售出的房子信息,包括地段、面积、卧室数量,最重要的是成交价。
当你获得了这些数据之后,你就有了训练数据,这些训练数据是编写估价小程序的基础,你希望根据这些历史数据预测其他房子的成交价格。
这种利用已知数据推测未知样本的方法,就是有监督机器学习。它的核心思想是你已经知道了结果(房子成交价格),通过总结结果与特征(房子各项指标)之间的规律,找出其中的关联,从而实现可以预测未知样本(新入市房子)的成交价格。
你已经了解了这种机器学习技术的逻辑,那么具体如何操作呢?
最常用的方法是,你把已经成交的房子的各项数据输入机器学习的算法,算法会尝试找出能够计算出该结果的运算方法。就像小学时做过的数学题,已知计算结果,但是运算符号都被抹掉了,你需要不断尝试填出适当的符号。
有监督机器学习所做的,就是帮你找到这些数值之间的关系,一旦确定了运算符号,只要输入新的数据,就输出了结果。
然而,如果你没有历史成交价格这列数据怎么办?
你只知道房子的位置、面积、卧室数量等特征数据,却唯独缺失了成交价格这一列,历史数据都没有,估算新入市房子的价格成了天方夜谭,你只能另谋他路。那么,这些数据可以用来做什么?
首先,你可以先利用算法从数据中划分出不同的细分市场。你会发现,当地大学附近的购房者喜欢小户型、卧室多的房子,而郊区的购房者往往偏好大户型。了解这些购房偏好能够帮助你更好地营销。
这种将无标签(成交价)数据进行聚类的方法,就是无监督机器学习。由此,你可以得出结论,有监督机器学习和无监督机器学习所说的“监督”就是指导或者干预,比如房子估价这个例子中的成交价,就是一种具有明确指向性的参数。没有这项指标时,机器学习能做的就是根据房子的特征对其进行分类,但是机器并不知道这些类别的成交价有何差别,因为没有结果可以参考。我们把这些带有明确指向性的参考叫作“标签”。
不过,房子估价真的能看成是“学习”吗?
让我们来回想一下人们是怎么学习的吧。学习,是指通过阅读、听讲、思考、研究、实践等途径获得知识或技能的过程。狭义的学习是一种可以得到持续变化(知识和技能、方法与过程、情感与价值的改善和升华)的行为方式。广义的学习是通过获得经验产生的行为或行为潜能的相对持久的行为方式。
从这个意义上讲,机器通过大量数据的训练获得预测、推荐能力的过程,很显然可以被归入“学习”的范畴。
回到上文房子估价的例子,如果你做房地产经纪人的时间足够长,你对于房子的合适定价、房屋的最佳营销方式以及客户感兴趣的户型都会形成一种直觉,机器学习的目的,就是让机器也能习得这样的能力。
不过,目前的机器学习还只能在有限的特定问题上有效。在这种情况下,“学习”的定义也许更贴近“基于少量样本找到一个公式解决特定问题”。于是,我们给这种技术起了一个形象的名字:机器学习。
相关文章
什么是机器学习?(下)
人工智能(AI)经历了怎样的发展历程?