在IT行业里,技术名词的处境可谓天差地别。有些被技术大牛深入剖析,逐步转化为可执行的代码;有些则因行业风口爆火,成为大众熟知却难以说清的热词。近年来,机器学习就是这样一个典型——热度极高,但真正理解它的人并不多。

那么,机器学习到底是个什么东西?
机器学习
翻开教科书,定义是:机器学习是一门多领域交叉学科,涵盖概率论、统计学、逼近论、凸分析、算法复杂度理论等多门知识。它专门研究计算机如何模拟或实现人类的学习行为,获取新知识或技能,并不断自我完善。它是人工智能的核心,也是让计算机拥有智能的根本途径。
定义很专业,但说实话,大多数人看完仍一头雾水。其实,如果你有过教孩子认字的经历,这个就很好理解。所谓机器学习,简单来说,就是让计算机像人一样去认识世界。
想想小时候的看图识字——一张卡片上画着苹果,家长反复指着念“苹果”。久而久之,孩子再见到苹果就能脱口而出。机器学习做的本质一样:用算法在软件中模拟这个“教育”过程,只不过教师变成了海量数据,学生变成了计算机。通过大量样本的反复训练,机器学会识别同类物品的特征,并将答案告诉你。
举个例子:用成千上万张猫的图片去“训练”机器,让它记住猫的耳朵、胡须、花纹等特征。训练完成后,再给它一张新图片,它就能判断“是猫”或“不是猫”。这个过程就叫模型训练,得到的判断规则就叫模型。
机器学习的发展历史,其实就是各种算法不断涌现的历史。从1980年成为独立学科算起,已经走过了40多年。主流算法分为三大类:监督学习、无监督学习、强化学习。每种都有不同的适用场景,这里就不展开细讲了。
回到人工智能的大框架下,机器学习只是其中一个分支,也是实现人工智能的一种方法。但人工智能从一开始走的路并不是机器学习——它经历了逻辑推理、知识工程,最后才走到机器学习阶段。这些年人工智能火起来,机器学习也就顺势走进了大众视野。
为什么是猫
翻遍各种资料,都没有找到对这个问题的权威答案。这个问题本身角度挺刁钻,那就大胆猜测一下。
先看一组数据:全球范围内,人们养猫的数量已经三倍于“人类最好的朋友”——狗。美国大约三分之一的家庭养猫,英国则超过四分之一。这意味着,在机器学习的训练素材库中,猫的出现概率天然就比狗高出三倍。
除了数量优势,猫本身的特性也很适合。体型不大不小,随时能拍到;据说还有“九条命”的体质,可以长期作为训练数据来源。要是选植物呢?花开花落,季节更替,照顾不周就枯萎,太费心思了。有那功夫,还不如撸撸猫来得实在。
还有一层技术原因。机器学习的kNN算法诞生于1967年,是一种基于模板匹配的经典算法,简单有效,至今仍在用。这个算法有个著名的实验——kNN猫狗分类试验,估计学过机器学习的人都有印象。猫和狗的原始数据很容易从网上下载,微软就提供现成的数据集。
总的来说,大家都用猫的图像来展示算法和模型的识别率,你用狗的数据去比较,说服力就打了折扣。再加上猫的各种萌态天然吸睛,大小适中、随时可拍、数据现成,搞研究的人又多少有点“能省则省”的倾向——不选猫选谁?
