1.人不会教,就让计算机自己学
首先,通过那么多不同类型的问题,都是算法工程师选择策略、进行编程的。相当于,我们要先“教”计算机这件事该怎么干。
但机器学习算法,完全不一样,它不用人教,是自己学的。为什么一定要让计 算机具备这样的能力呢?
简单来说,因为我们不知道该怎么教, 所以只能让计算机自己学。举个最简单的例子。比如说孩子问你:
“什么动物是猫啊? ”你可能给他看各种图片,说:“看见没?这只是猫,那只不是猫,是狗。”最后孩子就不问了,他自己就能判断了。
你看,到最后,我们完成孩子交给我们 的任务了吗?孩子想问的是判断一个动 物是不是猫的标准,但这世界上可能没有哪个父母,能给孩子解释清楚判断一 个动物是猫的步骤和过程。我们不会 教。所以我们只是举了几个例子,让孩 子用自己的能力学会。
计算机也是这样。按原来的思路,如果 我们不把怎么判断一个动物是猫的具体 的、明确的、步骤化的过程告诉计算 机,那计算机就不会判断。我们不会 教,就只能让计算机具有学习的能力。
而很多实际的问题,我们都不知道该怎 么教。
比如说,在某个社交网站上,大家都在 表达对经济前景的悲观,那这很可能就 是一个很强的、预测股票市场走势的信 号。谁有这个信号,谁就能在投资市场 上先人一步。
那我们能不能用算法来获得这个信号 呢?听起来感觉不难。如果一个留言说,“最近股票要涨”,那这就是一个经济 向好的正面信号。如果一个留言说,“贸易战对出口影响很大”,那就是负 面信号。把所有的留言对应的正负信号 都判断一遍,不就知道公众对经济前景 的总体态度了吗?
问题来了,面对某个具体的留言,我们 作为有社会经验的人,可以判断一个留 言背后是正面还是负面的态度。但这个 判断过程,怎么编写成算法让计算机执 行呢?而且,表达对经济态度的词句有 太多了,我们不可能把所有这样的词句 都列出来,然后让计算机进行比对。
而机器学习就能应对这个困境,它可以 赋予计算机判断语句态度的能力。机器 学习算法,就是一系列人们制定的、让 计算机自主学习的算法。
有人会说,那这样就太好了,有了机器 学习算法,所有问题都可以让计算机自 己来学,然后再做操作和判断。我提醒 你,并不是这样。
比如我们想知道,一个社交网站上有哪 些用户不活跃。很可能我们只需要看他 们过去3个月的登录次数就知道了。登录次数多于5次就是活跃,低于5次就是 不活跃。
这样简单的规则,我们是可以直接教给 计算机来做的,并不需要机器学习算 法。如果真的用了,可能适得其反。我们反而不知道计算机是怎么做判断的了。
2.机器学习做到了什么
既然人不会教的,需要让机器自己学 习,那到目前为止,机器学习算法都做到了些什么呢?
有一个关于机器学习的经典案例,我们 不能不提它。
2012年,美国明尼苏达州的一位父亲, 怒气冲冲地投诉了塔吉特超市的市场部。因为超市给他还在上高中的女儿, 发了各种婴儿衣服、婴儿床的广告。超 市想卖婴儿用品想疯了吗,要对未成年的女孩兜售? 这位父亲万万没想到的是,她的女儿确实怀孕了。只不过,塔吉特超市的机器学习算法,赶在这位父亲之前知道到了 这一点。
比如说,一位用户同时买了无香型的润 肤露和钙镁锌营养品,那她或者她的家人就有很大可能已经在妊娠期了。
这个细节是人们找到然后告诉算法的 吗?并不是,机器学习算法是通过学习 不同用户的行为,自己把这条规律找到 的。
机器学习还有一个最出名的例子,就是 2016年3月,AlphaGo以“四比一”的 战绩,战胜了曾经的围棋世界冠军李世 石。
你可能觉得,计算机有强大的计算能力 和记忆力,战胜人类并不稀奇。它把历 史上所有的棋谱都学会,下棋的时候用 人类围棋历史上顶尖的招数应对就行 了。
但事实并不是这样。第二局比赛的第37 手棋,AlphaGo走出了一招世界上顶尖棋手都不会走的一步棋。几乎所有的围 棋解说都觉得这一步走错了。很多报道说这一步是“神来之笔”,我 不懂围棋,不知道这一步棋对AlphaGo 最终取胜有什么影响。但我想说的是, 这一步的重要性在于,机器学习算法在 围棋这个领域,已经学到了一些人类无 法理解的知识和细节。
还有一个最让我震撼的例子,我也分享 给你。机器学习现在可以判断人的心理健康程度,预测自杀倾向。
心理学家和医学工作者早就分析过什么 因素会影响人的自杀倾向。但这些因素 太多了,基因,心理疾病,是不是受到 过侵害,睡眠问题,药物滥用,体脂比 等,都有影响。
只可惜,任何一个因素独立起来,都对 自杀倾向的预测没有太大的帮助。比 如,其中一个重要的因素就是这个人是 不是曾经有过自杀行为。这个信号已经 很强了,可一个人曾经尝试自杀,还是 不能代表他将来会再次自杀。
但借助机器学习算法就不一样了。
机器学习算法可以有针对性地学习,把 所有因素进行复杂的组合,找到最有意 义的那一组,得到对预测自杀倾向更有 用的信号。有些研究表示,机器学习算 法可以对一个人两年内的自杀行为进行 预测,实现超过85%的准确率。
3.机器学习到底学的是什么?
听完这三个例子,你可能在想,机器学 习算法可以学这个,可以学那个,但它 本质上到底学的是什么呢?
先说答案,机器学习算法学习的对象 是,事物与事物之间的复杂关系,尤其 是关系中的某种模式特征。
比如说,塔吉特超市的例子当中,机器 学习算法学习的是相关关系。
不同的购物者有不同的购物习惯、买的 东西也不一样。常买家庭生活用品和蔬 菜水果的人,可能是家里的家庭主夫或 者主妇。常买啤酒、零食的人,可能是 喜欢派对的独身年轻人。啤酒和零食经 常组合在一起,就是机器学习学到的特 征。
机器学习算法找到了客户之间的相关性,有了相关性就可以对他们进行分 类。如果张三和李四在一个群体中,那 算法就可以把张三喜欢的某样商品,推 荐给李四。
另外,用户早些时候的购买物品,可能 又和他们之后购买的物品有相关关系。
女孩之前买了无香型润肤露和钙镁锌营 养品,那之后她买婴儿车、纸尿布的概 率就会增大。这种相关性特征,可以帮 助我们预测用户的需求。
除了相关关系,事物之间的关系还可以 是因果性的。
比如说AlphaGo的算法。AlphaGo之所 以在第37步棋那么走,就是因为它找到了不同棋子位置之间的某种特征。不同的盘面模式可以带来不同的胜负结果, 它能更好地发现不同的走子方式对输赢 结果的因果关系,所以它总是能赢。
利用机器学习算法学习事物之间的因果性,我们可以更好地决策。
再有的时候,事物之间的关系也可以是 重要性关系。比如说,自杀倾向的预 测。
一个人的经历中留下了很多信号。在这 么多维度的信息中,哪些重要,哪些不 重要,哪些可以组合在一起成为重要线索。这都是机器学习可以发现的特征。
机器学习算法可以帮助我们筛选出重要 信息,找到最有意义的那部分信息和它们的组合。