监督式学习?增强学习?听不懂的话,一定要看这篇入门的机器学习

  • 作者:
  • 时间:2020-07-26
监督式学习?增强学习?听不懂的话,一定要看这篇入门的机器学习
REUTERS/Denis Balibouse

本篇是《机器学习专题》的第四篇文。

第一集:  云端运算是什幺?Amazon、Google、Microsoft 等大厂争相布局,会如何改变人类生活?
第二集:  大数据到底是什幺意思?事实上,它是一种精神!
第二集:  从人工智慧、机器学习到深度学习,不容错过的人工智慧简史

从 Google Alphago 到 Chatbot 聊天机器人、智慧理专、精準医疗、机器翻译…近年来时而听到人工智慧、机器学习的相关消息,一夕之间这项技术攻占了各大媒体版面。不但 Google、Facebook、微软、百度、IBM 等巨头纷纷进军该领域,NVIDIA 执行长黄仁勋亦宣称将由显示卡转型成人工智慧运算公司,强调人工智慧浪潮的来临。

机器学习是人工智慧的一个分支。然而什幺是机器学习?究竟机器是怎幺从资料中「学习」到一项技能的呢?训练机器学习模型时,技术上有哪些重要的部分呢?

继 从人工智慧、机器学习到深度学习,不容错过的人工智慧简史 一文,让我们接着继续为大家介绍机器学习的基础原理和名词。

人工智慧:如何以电脑解决问题

1950 年代的电脑科学方起步,从科学家到一般大众都对于电脑充满无尽的想像,不但从大导演弗里茨・朗的《大都会》到作家艾西莫夫的机器人三大法则,主流科学界也都预估,约莫 20 到 30 年左右的时间便可以成功创造出与人类同样高度的人工智慧。

然而人工智慧的研究很快便面临了瓶颈──机器程式是由人类撰写出来的,当人类不知道一个问题的解答时、机器同样不能解决人类无法回答的问题。

另一个问题是当时电脑的计算速度尚未提升、储存空间也小、数据量更不足够,硬体环境上的困境使早期人工智慧只能解一些代数题和数学证明,难以在实务上有所应用。

虽然此时人工智慧的研究迈入了瓶颈,但是电脑硬体却是以指数型的方式进步。1965 年 Intel 创始人摩尔观察到半导体晶片上的电晶体每一年都能翻一倍。

到了 1975 年,这个速度调整成每两年增加一倍,电脑的运算能力与储存能力同时跟着摩尔定律高速增涨。如今,电脑的运算能力约为 30 年前的 100 万倍。

早期的人工智慧研究聚焦在逻辑推论的方法,专注于模仿人类推理过程的思考模式。由于需要百分之百确定的事实配合,因此在实务上不容易使用。

直到关于人工智慧的研究方向越来越多元,涵盖了包括统计学、机率论、逼近论、博弈论等多门领域的学科;而硬体储存成本下降、运算能力增强,加上海量数据,今日的人工智慧已能从资料中自行学习出规律,这便是时下资料科学的最热门技术「机器学习」。

机器学习:从资料中自行学会技能

机器学习是实现人工智慧的其中一种方式。传统上实现人工智慧的方式需要人们将规则嵌入到系统,机器学习则是让电脑能够自行从历史资料中学会一套技能、并能逐步完善精进该项技能。

什幺技能呢?举例来说,辨识猫咪的技能。

人类是如何学会辨识一只猫的?我们不是熟背所有猫的详细特徵:「尖耳朵、四肢脚、有鬍子、体型、毛色、…」从短毛猫、摺耳猫、短毛猫、暹罗猫. 等猫咪的外型特徵都不一样,甚至要将老虎、花豹等类似猫但不是猫的照片排除出来。

一般只要父母带小孩看看猫、或猫咪的图片,只要看到就告诉孩子这是猫,当小孩把老虎看成猫时进行纠正,久而久之,我们就自然地「学」会辨识一只猫了。虽然不是原本看过的猫咪,我们仍然知道这是一只猫。

从前让电脑辨识出猫时,需要工程师将所有猫的特徵以穷举法的方式、详细输入所有猫的可能条件,比如猫有圆脸、鬍子、肉肉的身体、尖耳朵和一条长尾巴;然而凡事总有例外,若我们在照片中遇到了一只仰躺只露出肚子的猫?正在奔跑炸毛的猫?尖脸短尾猫?也因此误判的机率很高。

监督式学习?增强学习?听不懂的话,一定要看这篇入门的机器学习

美国普林斯顿大学李飞飞与李凯教授在 2007 年合作开启了一个名为「ImageNet」的专案,他们下载了数以百万计的照片、处理并分门别类标示好,供机器从图像资料中进行学习。

如今, ImageNet 已是全世界最大的图像识别资料库,光是「猫」便有超过六万两千种不同外观和姿势的猫咪,同时有家猫也有野猫、横跨不同的种类。

每年,史丹佛大学都会举办 ImageNet 图像识别竞赛,参加者包括了 Google、微软、百度等大型企业,除了在比赛中争夺图像识别宝座、同时测试自家系统的效能与极限。如今的机器从海量资料中学习后,能辨别出的不仅仅只有猫了,从路灯、吊桥、奔跑的人、狗狗… 电脑终于学会如何「看」这个世界。

监督式学习?增强学习?听不懂的话,一定要看这篇入门的机器学习

究竟机器是怎幺从资料中学会技能的呢?为了了解机器学习是如何从资料中学习,获得辨识或预测新进资料的技能,首先来为大家介绍一个经典的入门主题:「分类」。

到深山里游玩却不小心落难、肚子饥饿难耐时总会忍不住想要採路边的野菇吃。然而有一些菇类看似朴素却可能有毒、有些菇类色彩豔丽却能食用;如何让电脑帮助我们判别有毒的菇种、在野外成功存活下来呢?

为了训练机器,我们先蒐集了有毒菌菇和无毒菌菇的资料样本、作为训练资料。从训练资料中撷取出资料的特徵帮助我们判读出目标。

比如菌伞形状、颜色,菌炳形状、颜色,菌环数量,分布地带,气味… 再告诉电脑每一个菌菇所对应到的答案──把有毒菌菇的资料标籤为 1、无毒的菌菇标籤为 0,由此让电脑知道哪些菇有毒、哪些菇没毒。

随着训练的资料量够大时,当一笔新资料输入电脑中,比如特徵具备白色钟形菌伞、分布在腐木上、杏仁味的香菇,电脑即会判断这朵香菇有没有毒、有毒或没毒的机率有多高了。

监督式学习?增强学习?听不懂的话,一定要看这篇入门的机器学习
由于笔者非菇类学家,此仅为举例,请勿深究此表中如何判别有毒菇类的真实性。

除此之外,我们也可从过去的天气资料中、找出有下雨的天气特徵,并在进来一个新的天气情境资料时能计算下雨的机率,以进行气象预测。

甚至是垃圾邮件过滤、股市涨跌、医疗病徵判断… 各产业领域皆可应用机器学习技术。

训练机器学习模型时,技术上有哪些重要的部分呢?1. 资料清整:

机器既然得从海量资料中挖掘出规律,「乾净」的数据在分析时便非常地关键。在分析的一开始时,得处理资料的格式不一致、缺失值、无效值等异常状况,并视资料分布状态,决定如何填入资料,或移除栏位,确保不把错误和偏差的资料带入到资料分析的过程中去。

2. 特徵萃取与特徵选择

特徵萃取是从资料中挖出可以用的特徵,比如每个会员的性别、年龄、消费金额等;再把特徵量化、如性别可以变成 0 或 1 ,如此以来每个会员都可以变成一个多维度的向量。

经过特整萃取后,特徵选择根据机器学习模型学习的结果,去看什幺样的特称是比较重要的。若是要分析潜在客户的话,那幺该客户的消费频率、历年消费金额…等可能都是比较重要的特徵,而性别和年龄的影响可能便不会那幺显着。

藉由逐步测试、或使用演算法筛选特徵,找出最恰当的特徵组合让学习的效果最好。

3. 模型选取

资料科学家会根据所要解决的问题、拥有的资料类型和过适化等情况进行衡量评估,选择性能合适的机器学习模型。由于机器学习模型的数量与方法非常多,包括了神经网路、随机森林、SVM、决策树、集群….。以下仅将机器学习模型依据几种常见的问题类别进行介绍。

四种机器学习类别

在先前的段落中,我们介绍了预先把有毒菇类的资料标籤为 1、没有毒的菇类资料标籤为 0,让机器如何学会辨识有毒菇的方法,事实上叫做「监督式学习」,除此之外还有「非监督式学习」:

● 监督式学习: 在训练的过程中告诉机器答案、也就是「有标籤」的资料,比如给机器各看了 1000 张苹果和橘子的照片后、询问机器新的一张照片中是苹果还是橘子。

● 非监督式学习: 训练资料没有标準答案、不需要事先以人力输入标籤,故机器在学习时并不知道其分类结果是否正确。训练时仅须对机器提供输入範例,它会自动从这些範例中找出潜在的规则。

简单来说,若输入资料有标籤,即为监督式学习;资料没标籤、让机器自行摸索出资料规律的则为非监督式学习,如集群演算法。

非监督式学习本身没有标籤的特点,使其难以得到如监督式一样近乎完美的结果。就像两个学生一起準备考试,一个人做的练习题都有答案、另一个人的练习题则都没有答案,想当然尔正式考试时,第一个学生容易考的比第二个人好。另外一个问题在于不知道特徵的重要性。

非监督式学习-集群演算法

比如说演算法「集群」,给机器一个 1000 名的顾客资料表,机器会自动爬梳出隐含的资料规律将这 1000 人分群。其主要目的在于找出比较相似的资料聚集在一起,形成集群;而相似性的依据是採用「距离」,相对距离愈近、相似程度越高,被归类至同一群组。

为了要定义资料之间的距离,一般採用欧式距离计算空间中两点的距离。

监督式学习?增强学习?听不懂的话,一定要看这篇入门的机器学习

但显然一定会有一些特徵其实不是很重要,但因为分布比较可以拉开距离,所以机器在分群的时候会倾向用它来分,导致需要以人工再自行调整这些东西,不然一定会做出莫名其妙的结果。

这边需要澄清的事情是,并不是要筛选掉特徵,每一个特徵都有它的意义,我们要做的只是要降低它的重要性。

矛盾的是,人工很难订出各特徵的重要性或是距离的意义等,若人工有办法定义和介入,为什幺还会需要集群这个演算法呢?

故由于分群时没有足够的线索知道各个特徵的重要性,因此很容易对某些分布的特徵产生偏误、造成无意义的分群结果。

非监督式学习在应用上不若监督式学习广泛,但非监督式学习在资料探勘初期时,可被用来探索庞大的客户群中存在哪些自然群体,而这些群体可能又能转而提示我们其他的资料分析方法。

非监督式学习-关联规则探索

除了集群外,常见的非监督式学习尚包括关联规则探索、或称共生分群,找出资料发生的关联性。

针对这样的发现该如何採取行动需要行销人员再去深入挖掘原因,不过基本上已暗示了可举办的促销活动或优惠套餐组合。商品购买方面的关联规则称为购物篮分析,除此之外关联规则如今还被应用在异常检测上,比如有人突然入侵你的 Email 帐号时。

这时你可能会想,难道监督式学习和非监督式学习就是彼此泾渭分明?

在实际应用中,将大量的资料一一进行标籤是极为耗费人工的事情,最常见的状况是──少部分资料有标籤,而大部分资料没有标籤、且数量远大于有标籤的资料。毕竟要标籤资料费时费力、蒐集无标籤的资料更快速方便。这时候我们可以採用:

● 半监督学习:介于监督学习与非监督学习之间。

以下是半监督学习的简单示意。在将资料分群的过程当中,先使用有标籤过的资料先切出一条分界线,再利用剩下无标籤资料的整体分布,调整出两大类别的新分界。如此不但具有非监督式学习高自动化的优点,又能降低标籤资料的成本。

监督式学习?增强学习?听不懂的话,一定要看这篇入门的机器学习

前面我们提到监督式学习在面对一个指定问题时,可以明确告诉你正确的答案是什幺,比如今天会下雨或不会下雨、或是这封信该不该丢到你的垃圾邮件匣。

但遇到某些需要连续做决策的情况时,答案就不是一步就能解决了。比如下棋需要根据对手的攻势随时改变策略、或是开车会遇到的不同路况,为了达到赢棋或者通过山路的最终目的,必须因应环境的变动、随之改变原有的作法。这时候我们就需要利用:

● 增强学习:透过观察环境而行动,并会随时根据新进来的资料逐步修正、以获得最大利益。

强化学习的一个经典理论「马可夫决策过程」有一个中心思想,叫「明天的世界只和今天有关、和昨天无关了。」

在马可夫决策过程中,机器会进行一系列的动作;而每做一个动作、环境都会跟着发生变化。

虽然我们并没有给予机器标籤资料,告诉它所採取的哪一步是正确、哪一步是错误的,但根据反馈的好坏,机器会自行逐步修正、最终得到正确的结果。

原则上无需考虑以前的状态,当前状态便已传达出、所有能让机器算出下一步最佳行动的资讯;简单来说就是每一个事件只受到前一个事件的影响。打败世界棋王的 Google AlphaGo 便是马可夫假设一个成功的应用。

增强学习的机器学习方法当然还不仅止于此,多拉桿吃角子老虎机亦是增强学习的知名理论。Bandit 是一个简化过的增强学习方法,最重要的目标只有探索和採集的平衡。这是什幺意思呢?

假设一个国家中有十家餐厅,每家餐厅提供的餐点份量相当不均。某天该国突然涌入很多难民、因为餐券补助有限的关係,总共只能吃一百次餐厅,希望最后能餵饱最多的人。

显然如果要吃到最多的东西,我们必须尽快找到「提供最大份量」的餐厅然后一直吃它就好了。如果把每家都吃一遍才确定份量最大的餐厅,会浪费掉太多餐券;然而若只吃了两三家、就直接选比较高的一家一直吃,我们可能会漏掉真正提供最大份量的那一家餐厅。

解决 Bandit 问题的目标在于──有限的精力中,一部分精力会分配去探索未知的可能、一部分则利用已知最好的策略不断採集,演算法会透过不断新增的环境数据进行调整,在两者间寻求平衡、将利益最大化。

监督式学习?增强学习?听不懂的话,一定要看这篇入门的机器学习

这样的应用有哪些呢?

当一个网站能展示的资讯量有限、却又不知道使用者喜欢的东西是什幺、该优先显示哪些内容,才能有最高的点击率时,我们可以透过增强学习随时进行优化、最快达到客製化。

无论是 Google 广告、Facebook 将你可能会最感兴趣的好友 PO 文排序在上方、Amazon 呈现你最有兴趣的商品,或是网站上线后的 A/B Test,都可以看到增强学习的蹤影。

结语

今天,我们回顾了:

机器学习是相当实务的一门学科,资料科学家的最终目标是找到最好解决问题的方法,会依据资料量、资料类型与运算效能等现实情况,而选择採用不同的模型。

下一篇,我们将对现今最为常用的机器学习模型进行深入一步的介绍。