机器学习基石03-04:机器学习的类型和可行性

本文主要介绍归纳机器学习的类型,机器学习的可行性。

3. Types of ML

3.1 Learning with Different Output Space Y

在这里插入图片描述
如图,银行根据用户个人情况判断是否给用户发信用卡的例子,是一个典型的二元分类(binary classification)问题。也就是说输出只有两个,一般 y = 1 , + 1 y={-1,+1} 1 -1 代表不发信用卡(负类), + 1 +1 代表发信用卡(正类)。

二元分类问题很常见,比如信用卡发放、垃圾邮件判别、患者疾病诊断、答案正确性估计等等。二元分类是机器学习领域非常核心和基本的问题。二元分类有线性模型也有非线性模型,根据实际问题情况,选择不同的模型。

除了二元分类,还有多元分类(Multiclass Classification)。顾名思义,多元分类的输出多于两个, y = 1 , 2 , . . . , K , K > 2 y={1, 2, ... , K}, K>2 。 比如数字识别、图片内容识别等等。二元分类和多元分类都属于分类问题,它们的输出都是离散值。
在这里插入图片描述
回归(Regression):这类问题的输出不局限于多少类而是一个标量或者向量,即输出范围在整个实数空间,是连续的。比如训练模型,预测房屋价格、股票收益多少等。最简单的线性回归是一种典型的回归模型。

结构化学习(Structured Learning):顾名思义,结构化就是上下文的相互关系。结构化学习的输出空间包含了某种结构,往往比回归问题的输出更加复杂,可能是树结构,可能是图像。它的一些解法通常是从多分类问题延伸而来的,多用在自然语言处理等领域,比如机器翻译、语音识别、聊天机器人。该系列课程并没有详细介绍。
在这里插入图片描述
简单总结一下,机器学习按照输出空间划分,可分为二元分类、多元分类、回归、结构化学习等不同类型。其中二元分类和回归是最基础、最核心的,也是该课程主要介绍的部分。
在这里插入图片描述

3.2 Learning with Different Data Label yn

监督学习(Supervised Learning):训练样本 D D 既有输入特征 x x ,也有输出 y n yn (有数据,有标签)。监督式学习可以是二元分类、多元分类或者是回归,最重要的是知道输出标签yn。

无监督学习(Unsupervised learning):Yann LeCun 曾这么解释无监督学习——教机器自己学习,并且不明确告诉机器它所做的事情是对还是错。无监督学习正是实现“真正的”AI的关键。无监督学习没有输出标签 y n yn ,典型的包括: 聚类(clustering),比如对新闻自动分类;密度估计,比如交通路况分析;异常检测,比如用户网络流量监测。通常情况下,无监督学习更复杂一些,而且无监督的问题很多都可以用监督学习的一些算法思想实现。

半监督学习(Semisupervised Learning):顾名思义,即一部分数据有标签yn,而另一部分数据没有标签yn。比如医药公司对某些药物进行检测,考虑到成本和实验人群限制等问题,只有一部分数据有输出标签yn。
在这里插入图片描述
监督式、非监督式、半监督式学习是机器学习领域三个主要类型。除此之外,还有一种非常重要的类型。

强化学习(Reinforcement Learning):。增强学习中,我们给模型或系统一些输入,但是给不了我们希望的真实的输出y,根据模型的输出反馈,如果反馈结果良好,更接近真实输出,就给其正向激励,如果反馈结果不好,偏离真实输出,就给其反向激励。不断通过“反馈修正”这种形式,一步一步让模型学习的更好,这就是增强学习的核心所在。增强学习可以类比成训练宠物的过程,比如我们要训练狗狗坐下,但是狗狗无法直接听懂我们的指令“sit down”。在训练过程中,我们给狗狗示意,如果它表现得好,我们就给他奖励,如果它做跟sit down完全无关的动作,我们就给它小小的惩罚。这样不断修正狗狗的动作,最终能让它按照我们的指令来行动。实际生活中,增强学习的例子也很多,比如根据用户点击、选择而不断改进的广告系统。
在这里插入图片描述
简单总结一下,机器学习按照数据输出标签yn划分,可分为监督学习、无监督学习、半监督学习和强化学习等。其中,监督学习应用最为广泛。
在这里插入图片描述

3.3 Learning with Different Protocol f ( x n , y n ) f(x_n,y_n)

按照不同的协议,机器学习可以分为三种类型:

  • Batch Learning
  • Online Learning
  • Active Learning

Batch Learning 是一种常见的类型。batch learning获得的训练数据D是一批的,即一次性拿到整个D,对其进行学习建模,得到我们最终的机器学习模型。batch learning在实际应用中最为广泛。

Online Learning 是一种在线学习模型,数据是实时更新的,根据数据一个个进来,同步更新我们的算法。比如在线邮件过滤系统,根据一封一封邮件的内容,根据当前算法判断是否为垃圾邮件,再根据用户反馈,及时更新当前算法。这是一个动态的过程。PLA和强化学习都可以使用Online模型。

Active Learning 是近些年来新出现的一种机器学习类型,即让机器具备主动问问题的能力,例如手写数字识别,机器自己生成一个数字或者对它不确定的手写字主动提问。它的优势之一是在获取样本label比较困难的时候,可以节约时间和成本,只对一些重要的label提出需求。

简单总结一下,按照不同的协议,机器学习可以分为batch, online, active。分别可以类比为:填鸭式,老师教学、主动问问题。

3.4 Learning with Different Input Space X

concrete features:比如说硬币分类问题中硬币的尺寸、重量等;比如疾病诊断中的病人信息等具体特征。concrete features对机器学习来说最容易理解和使用。

raw features:比如说手写数字识别数据集中图片的 m × n m × n 像素值;比如语音信号的频谱等。raw features一般比较抽象,经常需要人或者机器来转换为其对应的concrete features,这个转换的过程就是Feature Transform。

abstract features:比如某购物网站做购买预测时,提供给参赛者的是抽象加密过的资料编号或者ID,这些特征X完全是抽象的,没有实际的物理含义。所以对于机器学习来说是比较困难的,需要对特征进行更多的转换和提取。
在这里插入图片描述
简单总结一下,根据输入X类型不同,可以分为concetet, raw, abstract。将一些抽象的特征转换为具体的特征,是机器学习过程中非常重要的一个环节。将在《机器学习技法》课程中详细介绍。

4. Feasibility of ML

4.1 Learning is impossible

首先,考虑一个例子,如下图所示,有3个label为 1 -1 的九宫格和3个label为 + 1 +1 的九宫格。根据这6个样本,提取相应label下的特征,预测右边九宫格是属于 1 -1 还是 + 1 +1

看两种有争议的回答:如果依据对称性,可把它归为 + 1 +1 ;如果依据九宫格左上角是否是黑色,可把它归为 1 -1 。除此之外,还可根据其它特征分类,得到不同结果。而且,这些分类结果貌似都是正确合理的,因为对于6个训练样本来说,我们选择的模型都有很好的分类效果。
在这里插入图片描述
再看一个二分类例子:输入特征 x x 是二进制的、三维的,对应有8种输入,其中训练样本 D D 有5个。那么,根据训练样本对应的输出 y y ,假设有8个hypothesis,这8个 hypothesis 对训练样本 D D 中的5个训练样本的分类效果效果都完全正确。但是在另外3个测试数据上,不同的 hypothesis 表现有好有坏。在已知数据 D D 上, g f g≈f ;但在 D D 以外未知数据上, 不一定成立。而机器学习目的,是希望算法模型在未知数据上的预测与真实结果是一致的,而不是在已知的数据集 D D 上寻求最佳效果,也就是泛化性能要好。
在这里插入图片描述
上例说明,想要在 D D 以外的数据中更接近目标函数 g g 似乎是做不到的,只能保证对 D D 有很好的分类结果。机器学习中称之为没有免费午餐(No Free Lunch)定理。NFL定理表明没有一个学习算法可以在任何领域总是产生最准确的学习器。不管采用何种学习算法,至少存在一个目标函数,能够使得随机猜测算法是更好的算法。平常所说的一个学习算法比另一个算法更“优越”,效果更好,只是针对特定的问题,特定的先验信息,数据的分布,训练样本的数目,代价或奖励函数等。从这个例子来看,NFL说明了无法保证一个机器学习算法在 D D 以外的数据集上一定能分类或预测正确,除非加上一些假设条件,以后会介绍。

4.2 Probability to the Rescue

由上节可知:在训练集D以外的样本上,机器学习模型似乎做不到正确预测或分类。那是否有工具或方法能够对未知的目标函数 f f 做一些推论,让机器学习模型能够变得有用呢?看下例。

一个装有很多(数不过来)橙色球和绿色球的罐子,能否推断橙色球的比例 u u
统计学上的做法是:从罐子中随机取出 N N 个球,作为样本,计算这 N N 个球中橙色球的比例 v v ,那么就估计出罐子中橙色球的比例约为 v v
在这里插入图片描述
这种随机抽取的做法能否说明罐子里橙色球的比例一定是 v v 呢?
答案是否定的。但从概率的角度看,样本中的 v v 很可能接近未知的 u u 。下面从数学推导的角度来看 v v u u 是否相近。

已知 u u 是罐子中橙色球的比例, v v N N 个抽取的样本中橙色球的比例。当 N N 足够大时,v接近于u。这就是 Hoeffding’s inequality P [ v u > ϵ ] 2 e x p ( 2 ϵ 2 N ) P[|v-u|>\epsilon] ≤ 2exp(-2\epsilon^2N)

Hoeffding 不等式说明当 N N 很大的时候, v v u u 相差不会很大,它们之间的差值被限定在
ϵ \epsilon 之内。我们把结论 v = u v=u 称为 probably approximately correct(PAC)
在这里插入图片描述

4.3 Connection to Learning

下面,将罐子的内容对应到机器学习的概念。机器学习中hypothesis h ( x ) h(x) 与目标函数 f f 相等的可能性,类比于罐子中橙色球的概率问题;罐子里的一颗颗弹珠类比于机器学习样本空间的 x x ;橙色的弹珠类比于 h ( x ) f h(x) ≠ f ;绿色的弹珠类比于 h ( x ) = f h(x) = f ;从罐子中抽取的 N N 个球类比于机器学习的训练样本 D D ,且这两种抽样的样本与总体样本之间是独立同分布的。如果抽样样本 N N 够大,且是独立同分布的,那抽样样本中 h ( x ) f h(x) ≠ f 的概率就能推广到在抽样样本外的所有样本中 h ( x ) f h(x) ≠ f 的概率。
在这里插入图片描述
映射中最关键的点是将抽样中橙球的概率理解为样本数据集 D D h ( x ) h(x) 错误的概率,以此推算出在所有数据上 h ( x ) h(x) 错误的概率,这也是机器学习能够工作的本质,即为什么在抽样数据上得到了一个假设,就可以推到全局呢?因为两者的错误率是PAC的,只要我们前者小,后者也就小了。
在这里插入图片描述
这里引入两个值: E i n ( h ) E_{in}(h) E o u t ( h ) E_{out}(h)
E i n ( h ) E_{in}(h) 表示在抽样样本中, h ( x ) h(x) y n y_n 不相等的概率;
E o u t ( h ) E_{out}(h) 表示在所有样本中, h ( x ) h(x) f ( x ) f(x) 不相等的概率。
同样可以用 Hoeffding’s inequality表示: P [ E i n ( h ) E o u t ( h ) > ϵ ] 2 e x p ( 2 ϵ 2 N ) P[|E_{in}(h)-E_{out}(h)|>\epsilon] ≤ 2exp(-2\epsilon^2N) 。该式表明, E i n ( h ) E_{in}(h) E o u t ( h ) E_{out}(h) 也是 PAC(大概率可能相等)的。如果 E i n ( h ) E o u t ( h ) E_{in}(h) ≈ E_{out}(h) E i n ( h ) E_{in}(h) 很小,那么就能推断出 E o u t ( h ) E_{out}(h) 很小,也就是说在该数据分布 P P 下, h h f f 非常接近,机器学习的模型比较准确。

一般地, h h 如果是固定的,N很大的时候, E i n ( h ) E o u t ( h ) E_{in}(h) ≈ E_{out}(h) ,但是并不意味着 g = f g = f 。因为 h h 是固定的,不能保证足够小,即使 E i n ( h ) E o u t ( h ) E_{in}(h) ≈ E_{out}(h) ,也可能使 E o u t ( h ) E_{out}(h) 偏大。所以,一般会通过演算法 A A ,选择最好的 h h ,使 E i n ( h ) E_{in}(h) 足够小,从而保证 E o u t ( h ) E_{out}(h) 很小。固定的 h h ,使用新数据进行测试,验证其错误率是多少。
在这里插入图片描述

4.4 Connection to Real Learning

在这里插入图片描述
假设现在有很多罐子M个(即有M个hypothesis),如果其中某个罐子抽样的球全是绿色,那是不是应该选择这个罐子呢?我们先来看这样一个例子:150个人抛硬币,那么其中至少有一个人连续5次硬币都是正面朝上的概率是: 1 ( 31 32 ) 150 > 99 1-(\frac{31}{32})^{150} > 99% 。可以这么考虑,“至少有一个人”的反面是“没有人”,那原命题的否命题变为“没有人连续5次硬币都是正面”,亦即“所有人(150个人)五次投掷硬币的结果不全是正面”,而一个人“五次投掷硬币不全是正面”的概率就是 1 1 2 5 = 31 32 1-\frac1{2^5} = \frac{31}{32} ,所以150个人“五次投掷硬币不全是正面”的概率为 ( 31 32 ) 150 (\frac{31}{32})^{150} ,取反即可推知原式。

可知这个概率很大,但能否说明“5次正面朝上”的这个硬币具有代表性呢?答案是否定的!并不能说明该硬币单次正面朝上的概率很大,其实都是0.5。一样的道理,抽到全是绿色求的时候也不能一定说明那个罐子就全是绿色球。当罐子数目很多或者抛硬币的人数很多的时候,可能引发Bad Sample,Bad Sample就是 E i n E_{in} E o u t E_{out} 差别很大,即选择过多带来的负面影响,选择过多会恶化不好的情形。
在这里插入图片描述
根据许多次抽样的到的不同的数据集 D D Hoeffding’s inequality 保证了大多数的 D D 都是比较好的情形(即对于某个h,保证 E i n E o u t E_{in}≈E_{out} ),但是也有可能出现Bad Data,即 E i n E_{in} E o u t E_{out} 差别很大的数据集D,这是小概率事件。
在这里插入图片描述
也就是说,不同的数据集 D n D_n ,对于不同的hypothesis,有可能成为Bad Data。只要 D n D_n 在某个hypothesis上是Bad Data,那么 D n D_n 就是Bad Data。只有 D n D_n 当在所有的 hypothesis上都是好的数据,才说明 D n D_n 不是Bad Data,可以自由选择演算法A进行建模。那么,根据 Hoeffding’s inequality,Bad Data 的上界可以表示为 连级(union bound) 的形式:
在这里插入图片描述
其中,M是hypothesis的个数,N是样本D的数量, ϵ \epsilon 是参数。该union bound表明,当
M有限,且N足够大的时候,Bad Data出现的概率就更低了,即能保证D对于所有的h都有 E i n E o u t E_{in} ≈ E_{out} ,满足PAC,演算法A的选择不受限制。那么满足这种 union bound 的情况,我们就可以和之前一样,选取一个合理的演算法(PLA/pocket),选择使 E i n E_{in} 最小的 h m h_m 作为 g 矩g (复习一下,最佳的hypothesis对应的函数,成为 g 矩g ),一般能够保证 g f g≈f ,即有不错的泛化能力。

所以,如果hypothesis的个数M是有限的,N足够大,那么通过演算法A任意选择一个 矩g,都有 E i n E o u t E_{in} ≈ E_{out} 成立;同时,如果找到一个矩g,使 E i n 0 E_{in} ≈ 0 ,PAC就能保证 E o u t 0 E_{out} ≈ 0 。至此,就证明了机器学习是可行的。
在这里插入图片描述
但是,如上面的学习流程图如右下角所示,如果M是无数个,例如之前介绍的PLA直线有无数条,是否这些推论就不成立了呢?是否机器就不能进行学习呢?这些内容和问题将在下节课介绍。

summary

本节课主要介绍了机器学习的可行性。首先引入NFL定理,说明机器学习无法找到一 个矩g能够完全和目标函数f一样。接着介绍了可以采用一些统计上的假设,例如 Hoeffding不等式,建立 E i n E_{in} E o u t E_{out} 的联系,证明对于某个h,当N足够大的时候, E i n E_{in} E o u t E_{out} 是PAC的。最后,对于h个数很多的情况,只要有h个数M是有限的,且N足够大,就能保证 E i n E o u t E_{in} ≈ E_{out} ,证明机器学习是可行的。

本文参考:
林轩田《机器学习基石》lecture3、lecture4;
红色石头的笔记3、笔记4;github笔记

发布了122 篇原创文章 · 获赞 94 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_39653948/article/details/104746104
今日推荐