机器学习基石笔记

文章目录



1 – The Learning Problem

What is Machine Learning

机器从数据中找出某种规律或者模型,并用它来解决实际问题。
应用场合

  1. 事物本身存在某种潜在规律
  2. 某些问题难以使用普通编程解决
  3. 有大量的数据样本可供使用

机器学习术语

  • 输入: x \color {blue} x x
  • 输出: y \color {blue} y y
  • 目标函数: f \color {blue} f f,即最接近实际样本分布的规律
  • 训练样本: d a t a \color {blue} data data
  • 假设: h y p o t h e s i s \color {blue} hypothesis hypothesis,一个机器学习模型对应了很多不同的 h y p o t h e s i s \color {blue} hypothesis hypothesis,选择一个模型其实就是选择了 H y p o t h e s i s   S e t \color {blue}Hypothesis\ Set Hypothesis Set,通过演算法 A,从 H y p o t h e s i s   S e t \color {blue}Hypothesis\ Set Hypothesis Set 中选择一个最佳 h y p o t h e s i s \color {blue} hypothesis hypothesis 对应的函数称为 g \color {blue} g g g \color {blue} g g 能最接近目标函数 f \color {blue} f f g \color {blue} g g 能最好地表示事物的内在规律


2 – Learning to Answer Yes/No

Perceptron Hypothesis Set

一个机器学习模型对应了很多不同的 Hypothesis,选择一个模型其实就是选择了 Hypothesis Set,,常用的Hypothesis Set:感知机(Perceptron)

  • 例如:银行是否给用户发信用卡:把用户的个人信息作为特征向量 x x x,共有 d d d 个特征,每个特征赋予不同权重 w w w,表示该特征对输出(是否发信用卡)影响程度,所有特征加权和与设定阈值 threshold 比较
    在这里插入图片描述
    为计算方便,通常将阈值 threshold 当做 w 0 w_0 w0
    在这里插入图片描述
    在这里插入图片描述
Perceptron Learning Algorithm(PLA)

线性分类器的 hypothesis set 就是很多条直线,用 PLA 算法选择一条最好的直线(最好的 g)将平面上正负样本分开:

  • 首先在平面上随意取一条直线,看哪些点分类错误
  • 然后开始对第一个错误点修正(变换直线的位置),如果正类误分为负类, w t T x n ( t ) < 0 w^T_tx_n(t)<0 wtTxn(t)<0(即: w w w x x x 两个向量夹角大于90度, w w w 是直线的法向量, x x x 在直线下方),更新 w ← w + x = w + y x ,   y = 1 w\leftarrow w+x=w+yx,\ y=1 ww+x=w+yx, y=1 w + y x w+yx w+yx x x x 夹角小于 9 0 o 90^o 90o x x x 位于直线的上侧,使错误点变成正确点,即完成修正。
  • 反之亦是如此,接着第二、第三个 ⋯ \cdots 直到所有的点都分类正确
    在这里插入图片描述
    算法演示:
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
Guarantee of PLA

PLA终止条件:找到一条能将所有点分类正确的直线,即:必须保证数据 D 线性可分(linear separable)

其必然满足:
在这里插入图片描述
怎么证明PLA是有学习效果的?

  1. PLA会对每次错误的点进行修正,更新权重 w t + 1 w_{t+1} wt+1 的值,如果 w t + 1 w_{t+1} wt+1 w f w_f wf 越来越接近, 数学运算上就是内积越大
    在这里插入图片描述
  2. 向量长度变化也会决定内积大小,需要证明 w t + 1 w_{t+1} wt+1 w t w_t wt 向量长度的关系
    在这里插入图片描述
    ∣ ∣ w t + 1 ∣ ∣ 2   ≤   ∣ ∣ w t ∣ ∣ 2 + max ⁡ n ∣ ∣ y n x n ∣ ∣ 2 ||w_{t+1}||^2\ {\color {red}\leq}\ ||w_t||^2+\color {red}\max_n||{\color {gray}y_n}x_n||^2 wt+12  wt2+maxnynxn2说明向量长度被限制了(增量值不超过 m a x ∣ ∣ x n 2 ∣ ∣ max||x^2_n|| maxxn2)

由上可知:如果令初始权值 w 0 = 0 w_0 = 0 w0=0 ,那么经过 T 次错误修正后,有如下结论:
w f T ∣ ∣ w f ∣ ∣ w T w T ≥ T ⋅ c o n s t a n t ⟹ PLA学习有效 \frac{w_f^T}{||w_f||}\frac{w_T}{w_T}\geq \sqrt T\cdot constant\Longrightarrow \color{red} \text{PLA学习有效} wfwfTwTwTT constantPLA学习有效
证明:

(1) w f w_f wf 完美分割样本点意味着: y n ( t ) w f T x n ( t ) ≥ min ⁡ n y n w f T x n > 0 y_{n(t)} w_{f}^{T} x_{n(t)} \geq \min _{n} y_{n} w_{f}^{T} x_{n}>0 yn(t)wfTxn(t)nminynwfTxn>0(2) w t w_t wt 当样本点错误分类时 sign ⁡ ( w t T x n ( t ) ) ≠ y n ( t ) ⇔ y n ( t ) w t T x n ( t ) ≤ 0 \operatorname{sign}\left(w_{t}^{T} x_{n(t)}\right) \neq y_{n(t)} \Leftrightarrow y_{n(t)} w_{t}^{T} x_{n(t)} \leq 0 sign(wtTxn(t))=yn(t)yn(t)wtTxn(t)0(3) 更新修正 w t = w t − 1 + y n ( t ) x n ( t ) w_{t}=w_{t-1}+y_{n(t)} x_{n(t)} wt=wt1+yn(t)xn(t)(4) 证明 t t t次修正之后 w f T ∥ w f ∥ w t ∥ w t ∥ ≥ T ⋅  constant  \frac{w_{f}^{T}}{\left\|w_{f}\right\|} \frac{w_{t}}{\left\|w_{t}\right\|} \geq \sqrt{T} \cdot \text { constant } wfwfTwtwtT  constant 这个不等式意味着:
1、 T T T有上限,因此算法会在某个时间停止
2、不等式左侧是 w f w_f wf w t w_t wt的夹角
开始证明:
w f T w t = w f T ( w t − 1 + y n ( t − 1 ) x n ( t − 1 ) )  using  ( 3 ) ≥ w f T w t − 1 + min ⁡ n y n w f T x n  using  ( 1 ) ≥ w 0 + T ⋅ min ⁡ n y n w f T x n  applying  T  times  ≥ T ⋅ min ⁡ n y n w f T x n \begin{aligned} w_{f}^{T} w_{t} &=w_{f}^{T}\left(w_{t-1}+y_{n(t-1)} x_{n(t-1)}\right) \quad & \text { using }(3) \\ & \geq w_{f}^{T} w_{t-1}+\min _{n} y_{n} w_{f}^{T} x_{n} \quad & \text { using }(1) \\ & \geq w_{0}+T \cdot \min _{n} y_{n} w_{f}^{T} x_{n} \quad & \text { applying } \mathrm{T} \text { times } \\ & \geq T \cdot \min _{n} y_{n} w_{f}^{T} x_{n} \end{aligned} wfTwt=wfT(wt1+yn(t1)xn(t1))wfTwt1+nminynwfTxnw0+TnminynwfTxnTnminynwfTxn using (3) using (1) applying T times 
 for  ∥ w t ∥  we have:  ∥ w t ∥ 2 = ∥ w t − 1 + y n ( t − 1 ) x n ( t − 1 ) ∥ 2  using  ( 3 ) = ∥ w t − 1 ∥ 2 + 2 y n ( t − 1 ) w t T x n ( t − 1 ) + ∥ y n ( t − 1 ) x n ( t − 1 ) ∥ 2 ≤ ∥ w t − 1 ∥ 2 + 0 + ∥ y n ( t − 1 ) x n ( t − 1 ) ∥ 2  using  ( 2 ) ≤ ∥ w t − 1 ∥ 2 + max ⁡ n ∥ x n ∥ 2 ≤ ∥ w 0 ∥ + T ⋅ max ⁡ n ∥ x n ∥ 2 = T ⋅ max ⁡ n ∥ x n ∥ 2 \begin{array}{l}{\text { for }\left\|w_{t}\right\| \text { we have: }} \\ {\qquad \begin{aligned}\left\|w_{t}\right\|^{2} &=\left\|w_{t-1}+y_{n(t-1)} x_{n(t-1)}\right\|^{2} & \text { using }(3) \\ &=\left\|w_{t-1}\right\|^{2}+2 y_{n}(t-1) w_{t}^{T} x_{n(t-1)}+\left\|y_{n(t-1)} x_{n(t-1)}\right\|^{2} \\ & \leq\left\|w_{t-1}\right\|^{2}+0+\left\|y_{n}(t-1) x_{n(t-1)}\right\|^{2} & \text { using }(2)\\ & \leq\left\|w_{t-1}\right\|^{2}+\max _{n}\left\|x_{n}\right\|^{2} \\ & \leq\left\|w_{0}\right\|+T \cdot \max _{n}\left\|x_{n}\right\|^{2}=T \cdot \max _{n}\left\|x_{n}\right\|^{2} \end{aligned}}\end{array}  for wt we have: wt2=wt1+yn(t1)xn(t1)2=wt12+2yn(t1)wtTxn(t1)+yn(t1)xn(t1)2wt12+0+yn(t1)xn(t1)2wt12+nmaxxn2w0+Tnmaxxn2=Tnmaxxn2 using (3) using (2)
由上面结论可得:
w f T ∥ w f ∥ w T ∥ w T ∥ = T ⋅ min ⁡ n y n w f T x n ∥ w f T ∥ ⋅ ∥ w t ∥ ≥ T ⋅ min ⁡ n y n w f T x n ∥ w f T ∥ ⋅ T ⋅ max ⁡ n ∥ x n ∥ ≥ T ⋅ min ⁡ y n w f T x n ∥ w f T ∥ ⋅ max ⁡ n ∥ x n ∥ = T ⋅  constant  \begin{aligned} \frac{w_{f}^{T}}{\left\|w_{f}\right\|} \frac{w_{T}}{\left\|w_{T}\right\|} &=\frac{T \cdot \min _{n} y_{n} w_{f}^{T} x_{n}}{\left\|w_{f}^{T}\right\| \cdot\left\|w_{t}\right\|} \\ & \geq \frac{T \cdot \min _{n} y_{n} w_{f}^{T} x_{n}}{\left\|w_{f}^{T}\right\| \cdot \sqrt{T} \cdot \max _{n}\left\|x_{n}\right\|} \\ & \geq \frac{\sqrt{T} \cdot \min y_{n} w_{f}^{T} x_{n}}{\left\|w_{f}^{T}\right\| \cdot \max _{n}\left\|x_{n}\right\|}=\sqrt{T} \cdot \text { constant } \end{aligned} wfwfTwTwT=wfTwtTminnynwfTxnwfTT maxnxnTminnynwfTxnwfTmaxnxnT minynwfTxn=T  constant 
T ⋅ min ⁡ n y n w f T x n ∥ w f T ∥ ⋅ max ⁡ n ∥ x n ∥ ≤ 1 ⇔ T ≤ max ⁡ n ∥ x n ∥ 2 ⋅ ∥ w f T ∥ 2 min ⁡ 2 y n w f T x n = R 2 ρ 2 \begin{aligned} & \frac{\sqrt{T} \cdot \min _{n} y_{n} w_{f}^{T} x_{n}}{\left\|w_{f}^{T}\right\| \cdot \max _{n}\left\|x_{n}\right\|} \leq 1 \\ \Leftrightarrow T & \leq \frac{\max _{n}\left\|x_{n}\right\|^{2} \cdot\left\|w_{f}^{T}\right\|^{2}}{\min ^{2} y_{n} w_{f}^{T} x_{n}}=\frac{R^{2}}{\rho^{2}} \end{aligned} TwfTmaxnxnT minnynwfTxn1min2ynwfTxnmaxnxn2wfT2=ρ2R2

Non­-Separable Data

对于非线性可分的情况,PLA 就不行了,解决办法就是:

  • 把条件放宽松,允许有错的点,取犯错最少的线,修改后的 PLA 称为 Packet Algorithm
    在这里插入图片描述
    Packet Algorithm算法流程:
    在这里插入图片描述


3–Types of Learning

二元分类和多元分类都属于分类问题(classification problem),输出都属于离散值。但是预测房屋价格等,这类问题输出是连续的,属于回归问题(Regression Problem),在自然语言处理等领域中,还会用结构化学习(Structured Learning):输出空间包含某种结构

Learning with Different Data Label yn
  • 监督式学习(Supervised Learning):训练样本 D D D既有输入特征 x x x,也有输出 y n y_n yn,如:二元分类、多元分类或者是回归
  • 非监督式学习(Unsupervised Learning):无输出标签,典型的如:聚类(clustering)问题(网页新闻自动分类)、密度估计(交通路况分析)、异常检测(用户流量监测)
  • 半监督式学习(Semi-supervised Learning):一部分数据有输出标签 y n y_n yn,而一部分数据没有, 如医药公司对某些药物进行检测,考虑到成本和实验人群限制等问题,只有一部分数据有输出标签 y n y_n yn
  • 强化学习(Reinforcement Learning):通过“反馈-修正”的形式,反馈好,给其正向激励,反馈不好,给其反向激励,一步一步让模型学习得更好
Learning with Different Protocol f

根据不同的学习方式,机器学习又可分三种类型:Batch Learning、Online Learning、Active Learning

  • Batch Learning:一次性拿到整个训练数据 D D D,对其进行学习建模
  • Online Learning :一种在线学习模型,数据是一个一个获取,学到的g是实时更新的,如:在线邮件过滤系统,先观察一份邮件 x t x_t xt的内容,然后根据当前的模型 g t g_t gt预测邮件是否为垃圾邮件,再从用户那里得到正真的lable,及时更新 g t g_t gt。PLA和强化学习都属于Online learning
  • Active Learning:让机器具备主动问问题的能力,如手写数字识别,机器自己生成一个数字或者对它不确定的手写字主动提问。其优势之一是在获取样本lable比较难的时候,可以节约时间和成本,只对一些重要的lable提出需求
Learning with Different Input Space X

根据输入 x x x有哪些类型呢?

  • concrete features:如说硬币分类问题中的硬币的尺寸、重量等
  • raw features:一般比较抽象,经常需要人或着机器来转换为其对应的concrete features,这个转换的过程就是Feature Transform,如语音信号的频谱等
  • abstract features:如某网站做网购预测时,提供给参赛者的是抽象的加密过的资料编号或 I D ID ID,这些特征 x x x完全是抽象的,没有实际的物理意义,需要对特征进行更多的提取和转换


4 – Feasibility of Learning

Learning is Impossible

机器学习目的是希望模型能在未知数据上作出正确预测,但无法保证一个机器学习算法在 D D D以外的数据集上一定能分类或预测正确,除非加上一些假设条件

Probability to the Rescue

一个装有很多橙色球和绿色球的罐子,我们能不能推断橙色球的比例 u \color {green}u u ?

  • 统计学上的做法:从罐子中随机取出 N N N个球,作为样本,计算这 N N N个球中橙色球的比例 v \color {orange}v v,那么就估计出罐子中橙色球的比例约为 v \color {orange}v v

这种随机抽取的做法能否说明罐子里橙色球的比例一定是 v \color {orange}v v 呢?

  • N o \color {brown}No No,但从概率的角度来说,样本中的 v \color {orange}v v 很有可能接近未知的 u \color {green}u u

怎么说明 v \color {orange}v v u \color {green}u u是否相近?

P [ ∣ v − u ∣ > ϵ ] ≤ 2 e x p ( − 2 ϵ 2 N ) Hoeffding’s inequality P[|v-u|>\epsilon]\leq 2exp(-2\epsilon^2N)\qquad\color{blue}\text{Hoeffding’s inequality} P[vu>ϵ]2exp(2ϵ2N)Hoeffding’s inequality

Hoeffding不等式说明当 N N N很大的时候, v \color {orange}v v u \color {green}u u 相差不会很大,其差值限定在 ϵ \color {red}ϵ ϵ 之内,结论 v \color {orange}v v= u \color {green}u u 称为 probably approximately correct(PAC)

Connection to Learning

机器学习中 hypothesis 与目标函数类似于罐子中橙色球的概率问题,采样数据上得到了一个最佳 hypothesis,认为它接近目标函数在这里插入图片描述
为什么在采样数据上得到的 hypothesis ,就可以推到全局呢?

  • 因为两者的错误率符合PAC,只要保证前者小,后者也大概率很小

E i n ( h ) E_{in}(h) Ein(h)表示在抽样样本中, h ( x ) h(x) h(x) y n y_n yn,也可记作 f ( x n ) f(x_n) f(xn),不相等的概率; E o u t ( h ) E_{out}(h) Eout(h)表示实际所有样本中 h ( x ) h(x) h(x) f ( 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]\leq 2exp(-2\epsilon^2N) P[Ein(h)Eout(h)>ϵ]2exp(2ϵ2N)

如果 h h h 是固定的, N N N 很大的时候, E i n ( h ) ≈ E o u t ( h ) E_{in}(h)\approx E_{out}(h) Ein(h)Eout(h),但是并不意味着 g ≈ f g≈f gf。因为 h h h是固定的,不能保证 E i n ( h ) E_{in}(h) Ein(h)足够小。所以,一般会通过演算法A,选择最好的 h h h,使 E i n ( h ) E_{in}(h) Ein(h) 足够小,从而保证 E o u t ( h ) E_{out}(h) Eout(h) 很小
在这里插入图片描述

Connection to Real Learning

例:150个人抛硬币,那么其中至少有一个人连续5次硬币都是正面朝上的概率是:
1 − ( 31 32 ) 150 > 99 % 1-(\frac{31}{32})^{150}>99\% 1(3231)150>99%

上例能说明该硬币单次正面朝上的概率很大吗? ⨂ \color {red}\bigotimes

  • 当抛硬币人数很多时,可能引发 Bad Sample: E i n E_{in} Ein E o u t E_{out} Eout 差别很大,即选择过多带来的负面影响,选择过多会恶化不好的情形(这就是倒霉的时候)

多次抽样得到的不同的数据集 D,Hoeffding’s inequality保证了大多数 D 都是比较好的情形( E i n ≈ E o u t E_{in}\approx E_{out} EinEout,但也有可能出现 Bad Data,即: E i n E_{in} Ein E o u t E_{out} Eout差别很大的 D
在这里插入图片描述
不同的数据集 D n D_n Dn,对于不同的 hypothesis,有可能成为 Bad Data。只要 D n D_n Dn 在某个hypothesis上是Bad Data,那么 D n \color {red}D_n Dn就是 Bad Data.

所以,只有 D n D_n Dn在所有hypothesis上都是好的数据,才说明 D n D_n Dn不是Bad Data,可以自由选择演算法A进行建模

根据 Hoeffding’s inequality,Bad Data 的上界可以表示为级联(union bound)的形式:
在这里插入图片描述
其中: M M M是hypothesis的个数, N N N是样本 D D D的数量, ϵ \epsilon ϵ是参数

union bound表明:当 M M M有限,且 N N N足够大时,Bad Data 出现概率更低。那么通过演算法A任意选择一个矩 g g g,就能保证 E i n ≈ E o u t E_{in}\approx E_{out} EinEout 成立,如果该矩 g g g 使 E i n ≈ 0 E_{in}≈0 Ein0,PAC就能保证 E o u t ≈ 0 E_{out}≈0 Eout0说明机器学习是可行的



5 – Training vs Testing

机器学习的主要目标分成两个核心的问题:

  1. E i n ( g ) ≈ E o u t ( g ) E_{in}(g)\approx E_{out}(g) Ein(g)Eout(g)
  2. E i n ( g ) E_{in}(g) Ein(g)足够小

当hypothesis的个数是无限多的时候,机器学习的可行性是否仍然成立?

Effective Number of Line

前面推导的霍夫不等式:
P [ ∣ E i n ( g ) − E o u t ( g ) ∣ > ϵ ] ≤ 2 ⋅ M ⋅ e x p ( − 2 ϵ 2 N ) P[|E_{in}(g)-E_{out}(g)|>\epsilon]\leq 2\cdot M\cdot exp(-2\epsilon^2N) P[Ein(g)Eout(g)>ϵ]2Mexp(2ϵ2N)

M M M 表示 hypothesis 个数。每个 hypothesis 下的 BAD events B m B_m Bm 级联的形式满足下列不等式:
P [ B 1   o r   B 2   o r   ⋯ B M ] ≤ P [ B 1 ] + P [ B 2 ] + ⋯ + P [ B M ] P[B_1\ or\ B_2\ or\ \cdots B_M]\leq P[B_1]+P[B_2]+\cdots+P[B_M] P[B1 or B2 or BM]P[B1]+P[B2]++P[BM]

M = ∞ M=\infty M= 时,不等式右边值将会很大。但是BAD events B m B_m Bm级联的形式实际上扩大了上界,union bound被估计过大,假设各个hypothesis之间没有交集,这是最坏的情况。所以,要找出不同BAD events之间的重叠部分,也就是将无数个hypothesis分成有限个类别
在这里插入图片描述
如何将无数个hypothesis分成有限类呢?
在这里插入图片描述
用直线将平面上的 N N N个点分开,有效直线 e f f e c t i v e ( N ) effective(N) effective(N) 的数量总是满足 ≤ 2 N ≤2^N 2N,用 effective(N) 代替 M M M(hypothesis个数),霍夫丁不等式可以写成:
P [ ∣ E i n ( g ) − E o u t ( g ) ∣ > ϵ ] ≤ 2 ⋅ e f f e c t i v e ( N ) ⋅ e x p ( − 2 ϵ 2 N ) P[|E_{in}(g)-E_{out}(g)|>\epsilon]\leq 2\cdot effective(N)\cdot exp(-2\epsilon^2N) P[Ein(g)Eout(g)>ϵ]2effective(N)exp(2ϵ2N)

e f f e c t i v e ( N ) ≤ 2 N effective(N)≤2^N effective(N)2N,如果能够保证 e f f e c t i v e ( N ) < < 2 N \color {blue} effective(N)<<2^N effective(N)<<2N即不等式右边接近于零,那么即使M无限大,直线的种类也很有限,使得机器学习成为可能

Effective Number of Hypotheses

首先引进一些概念:

  • 二分类(dichotomy):将空间中的点(例如二维平面)用一条直线分成 正类(蓝色o)负类(红色x)
  • hypotheses H:平面上所有直线的集合(可能是无限个)
  • dichotomy H:能将平面上所有点用直线分开的 hypothesis h 的集合,上界是 2 N 2^N 2N
  • 成长函数(growth function) m H ( H ) m_H(H) mH(H) N N N个点组成的不同集合中,某集合对应的 dichotomy 最大,那么该 dichotomy 值就是 m H ( H ) m_H(H) mH(H),上界是 2 N 2^N 2N
    在这里插入图片描述
  • shattered: N 个点所有可能的分类情况都能够被 hypotheses set 覆盖的情况(即成长函数: 2 N 2^N 2N

成长函数其实就是前面的 effective lines 数量的最大值,二维平面上, m H ( H ) m_H(H) mH(H) N N N的变化关系是:

在这里插入图片描述
如何计算成长函数?

  • 一维 Positive Rays:
    在这里插入图片描述
    整个区域可分为 N + 1 N+1 N+1段,成长函数 m H ( N ) = N + 1 m_H(N)=N+1 mH(N)=N+1 m H ( N ) < < 2 N m_H(N)<<2^N mH(N)<<2N

  • 一维的 Positive Intervals:
    在这里插入图片描述
    m H ( N ) = 1 2 N 2 + 1 2 N + 1 < < 2 N m_H(N)=\frac12N^2+\frac12N+1<<2^N mH(N)=21N2+21N+1<<2N
    在这里插入图片描述

Break Point

前面介绍了四种成长函数:

  • positive rays 和 positive intervals 成长函数都是 polynomial,如果用 m H m_H mH 代替 M M M 可以保证机器学习可行性
  • 而 convex sets 的成长函数是 exponential,即等于M,不能保证机器学习的可行性
    在这里插入图片描述

那么,2D perceptrons 的成长函数究竟是 polynomial 还是 exponential 呢?

  • 对于2D perceptrons,3个点可以做出8种所有的dichotomy,而4个点就无法做出所有16个点的dichotomy了,4称为2D perceptrons的 break point:满足 m H ( k ) ≠ 2 k m_H(k)\neq2^k mH(k)=2k ,取 k k k 的最小值就是break point
    在这里插入图片描述

2D perceptrons的成长函数呢?

  • 如果:成长函数 m H ( N ) = O ( N k − 1 ) m_H(N)=O(N^{k−1}) mH(N)=O(Nk1) 成立,那么就可以用 m H m_H mH 代替 M M M,即满足了机器学习的条件


6 – Theory of Generalization

Restriction of Break Point

影响成长函数 m H ( N ) m_H(N) mH(N)的因素主要有两个:

  1. 抽样数据集 N N N
  2. break point k k k

如果给定 N N N k k k,能够证明其 m H ( N ) m_H(N) mH(N) 的最大值的上界是多项式的,则根据霍夫丁不等式,就能用 m H ( N ) m_H(N) mH(N) 代替 M M M,推出机器学习是可行的

Bounding Function: Basic Cases

引入一个新的函数:Bound Function: B ( N , k ) B(N,k) B(N,k)

  • 当 break point 为 k k k 时,成长函数 m H ( N ) m_H(N) mH(N) 可能的最大值,即 B ( N , k ) B(N,k) B(N,k) m H ( N ) m_H(N) mH(N) 的上界 N N N 中任意 k − 1 k-1 k1个点的所有组合都线性可分,大于等于 k k k 时,则有组合不可分)

那么,只要证明 B ( N , k ) B(N,k) B(N,k) 的上界是多项式分布即可:
B ( N , k ) ≤ p o l y ( N ) B(N,k)\leq poly(N) B(N,k)poly(N)

B ( N , k ) B(N,k) B(N,k) 的过程:

  • k = 1 k = 1 k=1 B ( N , 1 ) B(N,1) B(N,1)恒为1
  • N < k N < k N<k B ( N , k ) = 2 N B(N,k)=2^N B(N,k)=2N
  • N = k N = k N=k,第一次出现不能被 shatter 的值,最多有 2 N − 1 2^N−1 2N1 个dichotomies, B ( N , k ) = 2 N − 1 B(N,k)=2^N−1 B(N,k)=2N1
  • N > k N > k N>k,情况开始变得复杂

在这里插入图片描述

Bounding Function: Inductive Cases

N > k N > k N>k时,怎么得到 B ( N , k ) B(N,k) B(N,k)呢?

  • B ( 4 , 3 ) B(4,3) B(4,3):所有情况共有11组(任意两个点组合情况都包括{oo、ox、xo、xx},但三个点的组合则不能完全包括):
    在这里插入图片描述

  • 去掉 x 4 x_4 x4 将橙色部分去重得到组合 α \alpha α,相应紫色部分为 β \beta β。那么 B ( 4 , 3 ) = 2 α + β \color{blue}B(4,3)=2\alpha+\beta B(4,3)=2α+β.

  • B ( 4 , 3 ) B(4,3) B(4,3) 任意三点都不能被 shatter,所以 α \alpha α β \beta β 构成的所有点的组合也不能被 shatter( α + β \alpha+\beta α+β不能表示 x 1 、 x 2 、 x 3 x_1、x_2、x_3 x1x2x3所有的排列组合),即 α + β ≤ B ( 3 , 3 ) \color{blue}\alpha + \beta\leq B(3,3) α+βB(3,3).
    在这里插入图片描述

  • 去掉 α α α x 4 x_4 x4 α α α 既不能被任意三点 shatter,也不能被任意两点 shatter,所以得到: α ≤ B ( 3 , 2 ) \color{blue}\alpha \leq B(3,2) αB(3,2)
    在这里插入图片描述

由此得出 B ( 4 , 3 ) \color{blue}B(4,3) B(4,3) B ( 3 , x ) \color{blue}B(3,x) B(3,x) 的关系为:

在这里插入图片描述
推导出一般公式为:
在这里插入图片描述
根据推导公式, B ( N , K ) \color{blue}B(N,K) B(N,K) 值分布如下表:
在这里插入图片描述
根据递推公式得到 B ( N , K ) \color{blue}B(N,K) B(N,K) 满足下列不等式:
在这里插入图片描述
上述不等式的右边是最高阶为 k − 1 k-1 k1 的多项式,即:成长函数 m H ( N ) m_H(N) mH(N)的上界 B ( N , K ) B(N,K) B(N,K) 的上界满足多项式分布 p o l y ( N ) poly(N) poly(N)
在这里插入图片描述
所以2D perceptrons,break point为 k = 4 k=4 k=4 m H ( N ) m_H(N) mH(N) 上界为 N k − 1 N^{k−1} Nk1

如果能找到一个模型的 break point ,那么就能推断出其成长函数 m H ( N ) m_H(N) mH(N) 有界

A Pictorial Proof

成长函数的上界是 poly(N),如果能将 m H ( N ) m_H(N) mH(N) 代替 M M M,代入到 Hoffding 不等式中,就能得到 E o u t ≈ E i n \color{blue}E_{out}≈E_{in} EoutEin 的结论:
在这里插入图片描述
实际上并不是简单的替换就可以了,正确的表达式为:
在这里插入图片描述
该推导的证明比较复杂 ,数据量为 N N N的资料 D D D一共有 m H ( N ) m_H(N) mH(N)(Effective Number of Hypotheses)个不同的 E i n E_{in} Ein,但总体数据量往往不知道或者说无限大,会产生无限个不同的 E o u t E_{out} Eout,大致思路就是:

  • 无限变有限
  • 有限找上界

课件有简单推导,后面给出了详细推导
如何把 E o u t E_{out} Eout变成有限个?

  • 假设从总体再获得一份数据量为 N N N 的验证资料(verification set) D ′ D^\prime D,对于任意 h h h 可以在 D ′ D^\prime D 上得到 E i n ′ E_{in}^\prime Ein
    由于 D ′ D^\prime D 也是总体的一个样本,如果 E i n E_{in} Ein E o u t E_{out} Eout 离很远,有非常大的可能 E i n E_{in} Ein E i n ′ E_{in}^\prime Ein 也会离得比较远
    N N N 很大, E i n E_{in} Ein E i n ′ E_{in}^\prime Ein 类似服从以 E o u t E_{out} Eout 为中间位置的高斯分布(Gaussian)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最终,通过引入成长函数 m H m_H mH,得到一个新的不等式,称为Vapnik-Chervonenkis(VC) bound:
在这里插入图片描述
2D perceptrons的break point是4,成长函数 m H ( N ) = O ( N 3 ) m_H(N)=O(N^3) mH(N)=O(N3),因此,2D perceptrons是可以进行机器学习的,只要找到hypothesis能让 E i n ≈ 0 E_{in}≈0 Ein0,就能保证 E i n ≈ E o u t E_{in}≈E_{out} EinEout

step1证明 【 6 】 ^{【6】} 6

[ E i n ( h ) − E o u t ( h ) ] > ϵ   &   [ E i n ′ ( h ) − E o u t ( h ) ] > ϵ 2 ( 1 ) = [ E i n ( h ) − E o u t ( h ) ] > ϵ   &   [ E o u t ( h ) − E i n ′ ( h ) ] > − ϵ 2 = ( [ E i n ( h ) − E o u t ( h ) ] + [ E o u t ( h ) − E i n ′ ( h ) ] ) > ( ϵ   + ( − ϵ 2 ) ) = [ E i n ( h ) − E i n ′ ( h ) ] > ϵ 2 ( 2 ) \begin{aligned} &[ E_{in}(h)-E_{out}(h)] \gt \epsilon\ {\Large\color {red}\&} \ \color {blue}[E_{in}^{'}(h)-E_{out}(h)] \gt \frac{\epsilon}{2} & \text (1)\\ &=[ E_{in}(h)-E_{out}(h)] \gt \epsilon\ {\Large\color {red}\&} \ [E_{out}(h)-E_{in}^{'}(h)] \gt -\frac{\epsilon}{2}\\ &=([ E_{in}(h)-E_{out}(h)] +[E_{out}(h)-E_{in}^{'}(h)])\gt (\epsilon\ +(-\frac{\epsilon}{2}))\\ &= \color {blue}[E_{in}(h)-E_{in}^{'}(h)] \gt \frac{\epsilon}{2}& \text (2) \end{aligned} [Ein(h)Eout(h)]>ϵ & [Ein(h)Eout(h)]>2ϵ=[Ein(h)Eout(h)]>ϵ & [Eout(h)Ein(h)]>2ϵ=([Ein(h)Eout(h)]+[Eout(h)Ein(h)])>(ϵ +(2ϵ))=[Ein(h)Ein(h)]>2ϵ(1)(2)对式(1)(2)蓝色项求期望可得:
[ E i n ( h ) − E o u t ( h ) ] > ϵ   &   P ( [ E i n ′ ( h ) − E o u t ( h ) ] > ϵ 2 ) ( 3 ) = P ( [ E i n ( h ) − E i n ′ ( h ) ] > ϵ 2 ) ( 4 ) \begin{aligned} &[ E_{in}(h)-E_{out}(h)] \gt \epsilon\ {\Large\color {red}\&} \ \color {blue}{\Large\mathbb{P}}([E_{in}^{'}(h)-E_{out}(h)] \gt \frac{\epsilon}{2})\quad \quad & \text (3)\\ &={\Large \color {blue}\mathbb{P}}([E_{in}(h)-E_{in}^{'}(h)] \gt \frac{\epsilon}{2})& \text (4) \end{aligned} [Ein(h)Eout(h)]>ϵ & P([Ein(h)Eout(h)]>2ϵ)=P([Ein(h)Ein(h)]>2ϵ)(3)(4)蓝色项,由 Chebyshev’s Inequality可知:
P ( [ E i n ′ ( h ) − E o u t ( h ) ] > ϵ 2 ) ≤ 4 v a r ( h ) N ϵ 2 ( 5 ) {\Large\mathbb{P}}([E_{in}^{'}(h)-E_{out}(h)] \gt \frac{\epsilon}{2})\leq\frac{4var(h)}{N\epsilon^2} \quad \quad \quad \quad\quad \quad\quad \quad\quad\text (5) P([Ein(h)Eout(h)]>2ϵ)Nϵ24var(h)(5) h h h只取0和1,所以有: v a r ( h ) ≤ 1 4 var(h)\leq\frac14 var(h)41
P ( [ E i n ′ ( h ) − E o u t ( h ) ] > ϵ 2 ) ≤ 1 N ϵ 2 ⟹ P ( [ E i n ′ ( h ) − E o u t ( h ) ] ≤ ϵ 2 ) ≥ 1 − 1 N ϵ 2 ( 6 ) \begin{aligned} &{\Large\mathbb{P}}([E_{in}^{'}(h)-E_{out}(h)] \gt \frac{\epsilon}{2})\leq\frac{1}{N\epsilon^2}\\ &\Longrightarrow {\Large\mathbb{P}}([E_{in}^{'}(h)-E_{out}(h)] \leq \frac{\epsilon}{2})\geq \color {blue}1 -\frac{1}{N\epsilon^2} \quad \quad \quad \quad \quad & \text (6)\\ \end{aligned} P([Ein(h)Eout(h)]>2ϵ)Nϵ21P([Ein(h)Eout(h)]2ϵ)1Nϵ21(6) 1 − 1 N ϵ 2 \color {blue}1 -\frac{1}{N\epsilon^2} 1Nϵ21代替式(3)的蓝色项:
[ E i n ( h ) − E o u t ( h ) ] > ϵ    ( 1 − 1 N ϵ 2 ) ≤ E i n ( h ) − E o u t ( h ) ] > ϵ   &   P ( [ E i n ′ ( h ) − E o u t ( h ) ] > ϵ 2 ) = P ( [ E i n ( h ) − E i n ′ ( h ) ] > ϵ 2 ) ⟹ ( 1 − 1 N ϵ 2 ) ( [ E i n ( h ) − E o u t ( h ) ] > ϵ )   ≤ P ( [ E i n ( h ) − E i n ′ ( h ) ] > ϵ 2 ) ( 7 ) \begin{aligned} &[ E_{in}(h)-E_{out}(h)] \gt \epsilon\ \ \color {blue}(1 -\frac{1}{N\epsilon^2})\\ &\leq E_{in}(h)-E_{out}(h)] \gt \epsilon\ {\Large\color {red}\&} \ \color {blue}{\Large\mathbb{P}}([E_{in}^{'}(h)-E_{out}(h)] \gt \frac{\epsilon}{2})\\ &={\Large \color {blue}\mathbb{P}}([E_{in}(h)-E_{in}^{'}(h)] \gt \frac{\epsilon}{2})\\ &\Longrightarrow{\color {blue}(1 -\frac{1}{N\epsilon^2})}([ E_{in}(h)-E_{out}(h)] \gt \epsilon)\ \leq{\Large \color {blue}\mathbb{P}}([E_{in}(h)-E_{in}^{'}(h)] &\gt \frac{\epsilon}{2})\\ && \text (7) \end{aligned} [Ein(h)Eout(h)]>ϵ  (1Nϵ21)Ein(h)Eout(h)]>ϵ & P([Ein(h)Eout(h)]>2ϵ)=P([Ein(h)Ein(h)]>2ϵ)(1Nϵ21)([Ein(h)Eout(h)]>ϵ) P([Ein(h)Ein(h)]>2ϵ)(7)对式(7)两边求期望:
( 1 − 1 N ϵ 2 ) P ( [ E i n ( h ) − E o u t ( h ) ] > ϵ )   ≤ P ( [ E i n ( h ) − E i n ′ ( h ) ] > ϵ 2 ) ( 8 ) \begin{aligned} &{\color {blue}(1 -\frac{1}{N\epsilon^2})}{\Large \color {blue}\mathbb{P}}([ E_{in}(h)-E_{out}(h)] \gt \epsilon)\ \leq{\Large \color {blue}\mathbb{P}}([E_{in}(h)-E_{in}^{'}(h)] &\gt \frac{\epsilon}{2})\\ &&\text (8) \end{aligned} (1Nϵ21)P([Ein(h)Eout(h)]>ϵ) P([Ein(h)Ein(h)]>2ϵ)(8)注意:Lemma-Symmetrization有一个条件: ∀ ϵ > 0 , N ϵ 2 ≥ 2 \color {red}\forall\epsilon\gt0,N\epsilon^2\geq 2 ϵ>0,Nϵ22 ⟹ 1 − 1 N ϵ 2 ≥ 1 2 \Longrightarrow1 -\frac{1}{N\epsilon^2}\geq \frac12 1Nϵ2121
1 2 P ( [ E i n ( h ) − E o u t ( h ) ] > ϵ )   ≤ P ( [ E i n ( h ) − E i n ′ ( h ) ] > ϵ 2 ) \begin{aligned} &{\color {blue}\frac12}{\Large \color {blue}\mathbb{P}}([ E_{in}(h)-E_{out}(h)] \gt \epsilon)\ \leq{\Large \color {blue}\mathbb{P}}([E_{in}(h)-E_{in}^{'}(h)] \gt \frac{\epsilon}{2})\\ \end{aligned} 21P([Ein(h)Eout(h)]>ϵ) P([Ein(h)Ein(h)]>2ϵ)step1得证
Step1将无限变有限:不等式右边可以用有限的集合表示 D + D ′ : H ( x 1 , ⋯   , x N ; x 1 ′ , ⋯   , x N ′ ) D+D^\prime:H(x_1,\cdots,x_N;x_1^\prime,\cdots,x_N^\prime) D+D:H(x1,,xN;x1,,xN),这里特别标注
P H ( x 1 , ⋯   , x N ; x 1 ′ , ⋯   , x N ′ ) ( [ E i n ( h ) − E i n ′ ( h ) ] > ϵ ) = P H ( x 1 , ⋯   , x N ; x 1 ′ , ⋯   , x N ′ ) ( [ E i n ( h ) − E o u t ( h ) ] + [ E o u t ( h ) − E i n ′ ( h ) ] ) > ϵ ) ≤ P H ( x 1 , ⋯   , x N ) [ E i n ( h ) − E o u t ( h ) ] > ϵ   +   P ( x 1 ′ , ⋯   , x N ′ ) ( [ E i n ′ ( h ) − E o u t ( h ) ] > ϵ 2 ) ≤ e − 2 N ( ϵ / 2 ) 2 + e − 2 N ( ϵ / 2 ) 2 = 2 e − 2 N ( ϵ / 2 ) 2 整理得: P H ( x 1 , ⋯   , x N ) ( [ E i n ( h ) − E o u t ( h ) ] > ϵ ) ≤ 2 P H ( x 1 , ⋯   , x N ; x 1 ′ , ⋯   , x N ′ ) ( [ E i n ( h ) − E i n ′ ( h ) ] > ϵ 2 ) ≤ 2   ∑ h ∈ ( x 1 , ⋯   , x N ; x 1 ′ , ⋯   , x N ′ ) P H ( x 1 , ⋯   , x N ; x 1 ′ , ⋯   , x N ′ ) ( [ E i n ( h ) − E i n ′ ( h ) ] > ϵ 2 ) ≤ 2 ∑ h ∈ ( x 1 , ⋯   , x N ; x 1 ′ , ⋯   , x N ′ ) 2 e − N ( ϵ / 2 ) 2 / 2 = 4 e − N ϵ 2 / 8 ∑ h ∈ ( x 1 , ⋯   , x N ; x 1 ′ , ⋯   , x N ′ ) 1 = 4 m H ( 2 N ) e − 1 8 ϵ 2 N \begin{aligned} &{\Large \color {blue}\mathbb{P}}_{H(x_1,\cdots,x_N;x_1^\prime,\cdots,x_N^\prime)}([E_{in}(h)-E_{in}^{'}(h)] \gt \epsilon)\\ &={\Large \color {blue}\mathbb{P}}_{H(x_1,\cdots,x_N;x_1^\prime,\cdots,x_N^\prime)}([ E_{in}(h)-E_{out}(h)] +[E_{out}(h)-E_{in}^{'}(h)])\gt \epsilon)\\ &\leq {\color {blue}{\Large\mathbb{P}}}_{H(x_1,\cdots,x_N)} [ E_{in}(h)-E_{out}(h)] \gt \epsilon\ {\Large\color {red}+} \ {\color {blue}{\Large\mathbb{P}}}_{(x_1^\prime,\cdots,x_N^\prime)}([E_{in}^{'}(h)-E_{out}(h)] \gt \frac{\epsilon}{2})\\ &\leq e^{-2N(\epsilon/2)^2}+e^{-2N(\epsilon/2)^2}\\ &=2e^{-2N(\epsilon/2)^2}\\ \text{整理得:}\\ &{\Large \color {blue}\mathbb{P}}_{H(x_1,\cdots,x_N)}([ E_{in}(h)-E_{out}(h)] \gt \epsilon)\\ &\leq {\Large {2}} {\Large \color {blue}\mathbb{P}}_{H(x_1,\cdots,x_N;x_1^\prime,\cdots,x_N^\prime)}([E_{in}(h)-E_{in}^{'}(h)] \gt \frac \epsilon 2)\\ &\leq 2\ \sum_{h\in(x_1,\cdots,x_N;x_1^\prime,\cdots,x_N^\prime)}{\Large \color {blue}\mathbb{P}}_{H(x_1,\cdots,x_N;x_1^\prime,\cdots,x_N^\prime)}([E_{in}(h)-E_{in}^{'}(h)] \gt \frac\epsilon2)\\ &\leq2\sum_{h\in(x_1,\cdots,x_N;x_1^\prime,\cdots,x_N^\prime)}2e^{-N(\epsilon/2)^2/2}\\ &=4e^{-N\epsilon^2/8}\sum_{h\in(x_1,\cdots,x_N;x_1^\prime,\cdots,x_N^\prime)}1\\ &=4m_H(2N)e^{-\frac18\epsilon^2N} \end{aligned} 整理得:PH(x1,,xN;x1,,xN)([Ein(h)Ein(h)]>ϵ)=PH(x1,,xN;x1,,xN)([Ein(h)Eout(h)]+[Eout(h)Ein(h)])>ϵ)PH(x1,,xN)[Ein(h)Eout(h)]>ϵ + P(x1,,xN)([Ein(h)Eout(h)]>2ϵ)e2N(ϵ/2)2+e2N(ϵ/2)2=2e2N(ϵ/2)2PH(x1,,xN)([Ein(h)Eout(h)]>ϵ)2PH(x1,,xN;x1,,xN)([Ein(h)Ein(h)]>2ϵ)2 h(x1,,xN;x1,,xN)PH(x1,,xN;x1,,xN)([Ein(h)Ein(h)]>2ϵ)2h(x1,,xN;x1,,xN)2eN(ϵ/2)2/2=4eNϵ2/8h(x1,,xN;x1,,xN)1=4mH(2N)e81ϵ2Nstep3得证
证毕
VC Theory: Hoeffding Inequality 【 1 】 ^{【1】} 1
VC Theory: Symmetrization 【 2 】 ^{【2】} 2
VC Theory: Vapnik–Chervonenkis Dimension 【 3 】 ^{【3】} 3



7 – The VC Dimension

机器能够学习必须满足两个条件:

  1. 假设空间 H H H 的Size M 有限,当 N N N足够大,对于假设空间中任意一个假设 g g g E o u t ≈ E i n E_{out}≈E_{in} EoutEin
  2. 利用算法A从假设空间H中,挑选一个 g g g,使 E i n ( g ) ≈ 0 E_{in}(g)≈0 Ein(g)0,则也 E o u t ≈ 0 E_{out}≈0 Eout0

这对应 testtrian 两个过程:

  • train 目的是让 E i n ≈ 0 E_{in}≈0 Ein0
  • test 目的是让 E o u t ≈ 0 E_{out}≈0 Eout0

引入break point,只要 break point 存在,则 M M M 有上界,一定存在 E o u t ≈ E i n E_{out}≈E_{in} EoutEin

Definition of VC Dimension

如果假设空间 H H H 有 break point k k k,成长函数有界,上界称为 Bound function。根据数学归纳法,Bound function 也上界为 N k − 1 N^{k−1} Nk1。从下面的表格可以看出, Bound function 较为松弛
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
于是,VC bound 就可以转换为:
在这里插入图片描述
不等式只与 k k k N N N相关了,一般情况下样本 N N N足够大,所以只考虑k值,有如下结论:

  1. 若假设空间 H 有break point k k k,且 N 足够大,根据VC bound理论,算法有良好的泛化能力
  2. 在假设空间中选择一个矩 g g g,使 E i n ≈ 0 E_{in}≈0 Ein0,则其在全集数据中的错误率也会较低( E o u t ≈ 0 E_{out}≈0 Eout0
    在这里插入图片描述

VC Dimension:某假设集 H H H 能够 shatte r的最多inputs的个数,即最大完全正确的分类能力
shatter:inputs 的所有情况都能列举出来,例如: N N N个输入,如果能够将 2 N 2^N 2N种情况都列出来,则称该 N N N个输入能够被假设集 H H H shatter
根据 break point 定义:假设集不能被shatter任何分布类型的 inputs 的最少个数,则VC Dimension等于break point的个数减一
在这里插入图片描述
那么:
在这里插入图片描述
d v c \color{blue}d_{vc} dvc 代替 k \color{blue}k k,那么 VC bound 的问题也就转换为与 d v c d_{vc} dvc N N N 相关了

  • 如果假设集 H H H d v c d_{vc} dvc确定,就能满足机器能学习的第一个条件 E o u t ≈ E i n E_{out}≈E_{in} EoutEin
    在这里插入图片描述
VC Dimension of Perceptrons

以 PLA算法 为例,Perceptrons的 k = 4 k=4 k=4,则 d v c = 3 d_{vc}=3 dvc=3,根据 VC Bound 理论,当 N N N 足够大 , E o u t ( g ) ≈ E i n ( g ) E_{out}(g)≈E_{in}(g) Eout(g)Ein(g)。如果找到一个 g g g,使 E i n ( g ) ≈ 0 E_{in}(g)≈0 Ein(g)0,那么就能证明PLA可以学习
在这里插入图片描述
这是在2D情况下,那如果是多维的Perceptron,其对应的 d v c d_{vc} dvc又等于多少呢?

  • 1D Perceptron: d v c = 2 d_{vc}=2 dvc=2
  • 2D Perceptrons: d v c = 3 d_{vc}=3 dvc=3
  • 那么作如下假设: d v c = d + 1 d_{vc}=d+1 dvc=d+1(d:维数)
    在这里插入图片描述

上面的假设需要分两步证明:

  • d v c ≥ d + 1 d_{vc}\geq d+1 dvcd+1
  • d v c ≤ d + 1 d_{vc}\leq d+1 dvcd+1

1、首先证明: d v c ≥ d + 1 d_{vc}\geq d+1 dvcd+1,在 d d d 维中,只要找到某一类的 d + 1 d+1 d+1 个 inputs 可以被 shatter ,那么必然得到 d v c ≥ d + 1 d_{vc}≥d+1 dvcd+1

构造一个 d d d 维矩阵 X X X能够被 shatter,有 d + 1 d+1 d+1个inputs,每个inputs加上第零维度的常数项1:
在这里插入图片描述
shatter的本质

  • 假设空间 H H H X X X的所有情况的判断都是对的,即总能找到权重 W W W,满足: X ∗ W = y X\ast W=y XW=y W = X − 1 ∗ y W=X^{-1}\ast y W=X1y

所设矩阵 X X X 的逆矩阵明显存在,所以 d d d 维所有 inputs 都能被 shatter
在这里插入图片描述
在这里插入图片描述
2、证明: d v c ≤ d + 1 d_{vc}≤d+1 dvcd+1,在 d d d维中,如果对于任何的 d + 2 d+2 d+2 个inputs,一定不能被shatter,则不等式成立

往前面 d + 1 d+1 d+1个inputs的矩阵中再添加一个inputs,构造含 d + 2 d+2 d+2 个 inputs 的矩阵 X X X,该矩阵有 d + 2 d+2 d+2行、 d + 1 d+1 d+1列,根据线性代数知识,第 d + 2 d+2 d+2 个inputs必与其他 n + 1 n+1 n+1 个线性相关:
X d + 2 = a 1 ∗ X 1 + a 2 ∗ X 2 + ⋯ + a d + 1 ∗ X d + 1 X_{d+2}=a_1\ast X_1+a_2\ast X_2+\cdots+a_{d+1}\ast X_{d+1} Xd+2=a1X1+a2X2++ad+1Xd+1

假设 a 1 > 0 a_1>0 a1>0 a 2 , ⋯ , a d + 1 < 0 a_2,⋯,a_{d+1}<0 a2,,ad+1<0

  • 那么,如果 X 1 X_1 X1是正类, X 2 , ⋯ , X d + 1 X_2,⋯,X_{d+1} X2,,Xd+1均为负类,则存在 W W W使得:
    X d + 2 ∗ W = a 1 ∗ X 1 ∗ W + a 2 ∗ X 2 ∗ W + ⋯ + a d + 1 ∗ X d + 1 ∗ W > 0 X_{d+2}\ast W={\color {blue}a_1\ast X_1\ast W} + {\color {red}a_2\ast X_2\ast W + \cdots + a_{d+1}\ast X_{d+1}\ast W} >0 Xd+2W=a1X1W+a2X2W++ad+1Xd+1W>0蓝色项大于0,代表正类;红色项负负得正也大于0,代表负类。这种情况下, X d + 2 X_{d+2} Xd+2只能是正类,无法得到负类的情况。即: d + 2 d+2 d+2个inputs无法被shatter
    在这里插入图片描述
    在这里插入图片描述

综上证得: d v c = d + 1 d_{vc}=d+1 dvc=d+1

Physical Intuition VC Dimension

在这里插入图片描述
在这里插入图片描述
VC Dimension代表了假设空间的分类能力,即反映了 H H H的自由度、产生dichotomy的数量。上式 W W W 也称为 features(自由度),可以认为 VC Dimension 等于 features 的个数,但也不是绝对的。

在这里插入图片描述

  • 如,2D Perceptrons 线性分类, d v c = 3 d_{vc}=3 dvc=3,则 W = w 0 , w 1 , w 2 W={w0,w1,w2} W=w0,w1,w2,只要 3 个 features 就可以学习,自由度为3

M 与 d v c d_{vc} dvc 成正比,可得到如下结论:
在这里插入图片描述

Interpreting VC Dimension

VC Bound:限制了 bad data 的概率
在这里插入图片描述
在这里插入图片描述
ϵ \color{blue}ϵ ϵ 表现了假设空间 H H H的泛化能力, ϵ ϵ ϵ越小,泛化能力越强
在这里插入图片描述
主要关心 E o u t E_{out} Eout上界:
在这里插入图片描述
不等式右边第二项称为模型复杂度,与样本数量 N N N、假设空间 H ( d v c ) 、 ϵ H(d_{vc})、ϵ H(dvc)ϵ有关

在这里插入图片描述
上图可以得出如下结论:

  • d v c d_{vc} dvc越大, E i n E_{in} Ein越小(更多选择,更好的g), Ω Ω Ω越大(复杂)
  • d v c d_{vc} dvc越小, E i n E_{in} Ein越大, Ω Ω Ω越小(简单)
  • 随着 d v c d_{vc} dvc增大, E o u t E_{out} Eout会先减小再增大

例子
在这里插入图片描述
计算得到 N = 29300 N=29300 N=29300,刚好满足 δ = 0.1 δ=0.1 δ=0.1的条件。 N N N大约是 d v c d_vc dvc的10000倍,实际大概 d v c d_{vc} dvc的10倍就够了,因为VC Bound 过于宽松
在这里插入图片描述
为什么VC Bound 过于宽松?

  1. Hoeffding 适用于任意分布data及目标 f f f,数据未知,没有针对性
  2. m H ( N ) m_H{(N)} mH(N)成长函数对应样本dichotomy的最大值
  3. N d v c N^{d_{vc}} Ndvc代替 m H ( N ) m_H{(N)} mH(N),对任意 H H H都取了上限
  4. union bound考虑了最坏的情况
    在这里插入图片描述


8 – Noise and Error

Noise and Probablistic target

如果数据集本身存在Noise,那VC Dimension的推导是否还成立呢?

Noise一般有三种:

  1. 人为因素,正类被误分为负类,或者负类被误分为正类
  2. 同样特征的样本被模型分为不同的类
  3. 样本的特征被错误记录和使用

之前数据集是确定的,没有Noise。有 Noise 在某处不再是确定分布,而是概率分布,即对每个 ( x , y ) (x,y) (x,y) 出现的概率是 P ( y ∣ x ) P(y|x) P(yx)

  • 如果数据集按照 P ( y ∣ x ) P(y|x) P(yx)概率分布且是 i i d iid iid,那么之前的方法依然可以证明机器可以学习,VC Dimension有限即可推断 E i n E_{in} Ein E o u t E_{out} Eout 是近似的
ERROR Measure

机器学习的任务就是找出与目标函数 f f f 最接近的矩 g g g,误差衡量方式可以帮助选择最好的矩 g g g

  • out-of-sample:样本外的未知数据 x x x上取平均值
  • pointwise:对每个数据点 x x x 进行测试
  • classification:prediction ≠ \neq =target
    在这里插入图片描述
    PointWise error即对数据集的每个点计算错误并取平均:
    在这里插入图片描述

pointwise error一般可以分成两类:

  • 0/1 error(classification)
  • squared error(regression)
    在这里插入图片描述
  • 左边预测1.9时,无对应值所以错误概率为1,
  • 右边预测为1时,则squared error的 a v g e r r = 0.7 ∗ ( 1 − 2 ) 2 + 0.1 ( 1 − 3 ) 2 avgerr=0.7*(1-2)^2+0.1(1-3)^2 avgerr=0.7(12)2+0.1(13)2
    在这里插入图片描述
Algorithmic Error Measure

Error有两种:

  • false accept:把负类当成正类
  • false reject:把正类当成负类

不同的机器学习问题,false accept和false reject应有不同权重(如:超市优惠,false reject权重应大一些;安保系统,false accept权重应大一些)
在这里插入图片描述
机器学习演算法的cost function error估计有多种方法,真实err一般难以计算
在这里插入图片描述

Weighted Classification

用不同权重惩罚,可以选用virtual copying方法,或者复制多次
在这里插入图片描述
在这里插入图片描述



9 – Linear Regression

Linear Regression Problem

给用户发放信用卡额度就是一个线性回归(Linear Regression)问题
在这里插入图片描述
令用户特征集为 d d d 维的 X X X,加上常数项,维度为 d + 1 d+1 d+1,与权重 w w w 的线性组合即为Hypothesis,记为 h ( x ) h(x) h(x)。线性回归的预测取值在整个实数空间,这与线性分类不同
h ( x ) = w T X h(x)=w^TX h(x)=wTX在这里插入图片描述
在一维或者多维空间里,线性回归的目标是找到一条直线(对应一维)、一个平面(对应二维)或者更高维的超平面,使样本集中的点更接近它,也就是残差 Residuals 最小化

最常用的误差衡量方式是基于最小二乘法,目标是计算误差的最小平方和:
在这里插入图片描述

Linear Regression Algorithm

如何找出合适的 w w w,使 E i n E_{in} Ein能够最小呢?
在这里插入图片描述
对此类线性回归问题, E i n ( w ) E_{in}(w) Ein(w) 一般是个凸函数,找到一阶导数为零的位置,即最优解:
在这里插入图片描述
E i n ( w ) E_{in}(w) Ein(w)求偏导:
在这里插入图片描述
令偏导为零:
在这里插入图片描述
得到了权重向量 w = ( X T X ) − 1 X T y w=(X^TX)^{-1}X^Ty w=(XTX)1XTy,其中 ( X T X ) − 1 X T (X^TX)^{-1}X^T (XTX)1XT又称为伪逆矩阵pseudo-inverse,记为 X † X^\dagger X,维度是 ( d + 1 ) × N (d+1)\times N (d+1)×N

Generalization Problem

这种求解权重向量的方法是机器学习吗?是否满足之前推导VC Bound(泛化能力强 E i n ≈ E o u t E_{in}≈E_{out} EinEout)?
在这里插入图片描述
从结果来看,这种方法达到了机器学习的目的: E i n E_{in} Ein E o u t E_{out} Eout都实现了最小化
在这里插入图片描述
从几何图形的角度来介绍帽子矩阵 H H H的物理意义

  • 粉色区域表示输入矩阵 X X X 乘以不同权值向量 W L I N W_{LIN} WLIN 所构成的空间,预测值 y ^ \hat y y^ 是粉色空间中的一个向量,而 y y y是实际 N N N 维空间中的向量,要想预测值 y ^ \hat y y^ 接近真实值 y y y,只需将 N N N维空间的 y y y 投影到粉色空间,对应的向量就是最接近真实值的 y ^ \hat y y^.
    在这里插入图片描述
    H H H y y y投影到 y ^ \hat y y^,转换的物理意义: N N N自由度向量 y y y投影到 d + 1 d+1 d+1维空间 X X X,而剩余的自由度最大只有 N − ( d + 1 ) N-(d+1) N(d+1)
    t r a c e ( I − H ) = t r a c e ( I ) − t r a c e ( H ) = N − t r a c e ( X X † ) = N − t r a c e ( X ( X T X ) − 1 X T = N − t r a c e ( X T X ( X T X ) − 1 ) = N − t r a c e ( I d + 1 ) = N − ( d + 1 ) \color {green}\begin{aligned} &trace(I-H)=trace(I)-trace(H)\\ &=N-trace(XX^\dagger)=N-trace(X(X^TX)^{-1}X^T\\ &=N-trace(X^TX(X^TX)^{-1})=N-trace(I_{d+1})\\ &=N-(d+1) \end{aligned} trace(IH)=trace(I)trace(H)=Ntrace(XX)=Ntrace(X(XTX)1XT=Ntrace(XTX(XTX)1)=Ntrace(Id+1)=N(d+1)

存在noise的情况下, y = f ( x ) + n o i s e y=f(x)+noise y=f(x)+noise,那么noise经过 I − H I-H IH也能转换为 y − y ^ y−\hat y yy^ ( n o i s e noise noise y y y 存在线性变换关系,可看作 y n o i s e y_{noise} ynoise)
在这里插入图片描述

在这里插入图片描述
N N N足够大时,满足 E ‾ i n ≈ E ‾ o u t \overline E_{in}\approx\overline E_{out} EinEout

Linear Regression for Binary Classification

Binary Classification问题用的是0/1 error,那么Linear Regression的squared error是否能够用于Binary Classification?
在这里插入图片描述
根据之前的VC理论, E o u t E_{out} Eout的上界满足:
在这里插入图片描述
e r r s q r err_{sqr} errsqr代替 e r r 0 / 1 err_{0/1} err0/1 E o u t E_{out} Eout仍然有上界,只不过上界更宽松,所以用线性回归方法也可以解决线性分类问题



10 – Logistic Regression

Logistic Regression Problem

软性二分类问题(’soft’ binary classification):从要将正负类分开(0或者1),变成要得到是正类的可能性(0到1之间),可以看成是理想数据加上噪声 f ( x ) = P ( + 1 ∣ x ) ∈ [ 0 , 1 ] f(x)=P(+1|x)\in[0,1] f(x)=P(+1x)[0,1]
在这里插入图片描述

怎么将特征加权和s变换到[0,1]呢?

  • Sigmoid Function: θ ( s ) = 1 1 + e − s \theta(s)=\frac1{1+e^{-s}} θ(s)=1+es1 θ ( − ∞ ) = 0 , θ ( 0 ) = 1 2 , θ ( + ∞ ) = 1 \theta(-\infty)=0,\theta(0)=\frac12 ,\theta(+\infty)=1 θ()=0θ(0)=21θ(+)=1

  • 因此,hypothesis的形式变成: h ( x ) = 1 1 + e − w T x \color {blue}h(x)=\frac1 {1+e^{-w^Tx}} h(x)=1+ewTx1

Logistic Regression Error

Linear Classification、Linear Regression:
在这里插入图片描述
如何定义logistic regression的误差?
在这里插入图片描述
所以目标变成:
max ⁡ h likelihood(logistic h) ∝ ∏ n = 1 N h ( y n x n ) max ⁡ W likelihood(logistic W) ∝ ∏ n = 1 N θ ( y n W T x n ) 代入 W max ⁡ W l n ∏ n = 1 N θ ( y n W T x n ) 引入 l n min ⁡ W 1 N ∑ n = 1 N − l n θ ( y n W T x n ) m a x → m i n ( −   ; 1 N ) min ⁡ W 1 N ∑ n = 1 N l n ( 1 + e x p ( − y n W T x n ) ) ⏟ cross-entropy error min ⁡ W 1 N ∑ n = 1 N e r r ( W , x n , y n ) ⏟ E i n ( W ) \begin{aligned} &\max_h \quad \text{likelihood(logistic h)} \propto \prod^N_{n=1} {\Large\mathrm h}(y_nx_n)\\ &\max_W \quad \text{likelihood(logistic W)} \propto \prod^N_{n=1} {\Large\mathrm \theta}(y_nW^Tx_n) \quad \text{代入$W$}\\ &\max_W \quad {\Large\mathrm ln}\prod^N_{n=1} {\Large\mathrm \theta}(y_nW^Tx_n)\quad \quad\quad\quad\quad\quad\quad\quad\quad\quad\text{引入$\mathrm ln$}\\ &\min_W \quad \frac1N\sum^N_{n=1}-{\Large\mathrm ln}{\Large\mathrm \theta}(y_nW^Tx_n) \quad \quad \quad max\to min(-\ ;\frac1N)\\ &\min_W \quad \frac1N\underbrace {\sum^N_{n=1}{\Large\mathrm ln}\left(1+exp(-y_nW^Tx_n)\right) }\\ & \quad \quad \quad \quad \quad \quad \quad \text{cross-entropy error}\\ &\min_W \quad \frac1N\underbrace {\sum^N_{n=1}err(W,x_n,y_n)}\\ & \quad \quad \quad \quad \quad \quad \quad E_{in}(W)\\ \end{aligned} hmaxlikelihood(logistic h)n=1Nh(ynxn)Wmaxlikelihood(logistic W)n=1Nθ(ynWTxn)代入WWmaxlnn=1Nθ(ynWTxn)引入lnWminN1n=1Nlnθ(ynWTxn)maxmin( ;N1)WminN1 n=1Nln(1+exp(ynWTxn))cross-entropy errorWminN1 n=1Nerr(W,xn,yn)Ein(W)

Gradient of Logistic Regression Error

如何得到合适的 W W W最小化 E i n E_{in} Ein?
min ⁡ W E i n ( W ) = 1 N ∑ n = 1 N l n ( 1 + e x p ( − y n W T x n ) ) \Large\color {blue}\min_{\color {orange}W} \quad E_{in}({\color {orange}W})=\frac1N{\sum^N_{n=1}{\Large\mathrm ln}\left (1+exp(-y_n{\color {orange}W}^Tx_n)\right) }\\ WminEin(W)=N1n=1Nln(1+exp(ynWTxn)) E i n E_{in} Ein梯度为零时 W W W即最优解:
在这里插入图片描述
梯度表达式为:
在这里插入图片描述
∇ E i n ( W ) ∇Ein(W) Ein(W)等于0:
在这里插入图片描述
让所有 θ ( − y n W T x n ) θ(−y_nW^Tx_n) θ(ynWTxn) 等于0 很难,所以没有 closed-form 解,只能用迭代方法求解

Gradient Descent

在这里插入图片描述
根据一阶泰勒展开有:
E i n ( w t + η v ) ≈ E i n ( w t ) + η v T ∇ E i n ( w t ) E_{in}(w_t+\eta v)\approx E_{in}(w_t)+\eta v^T\nabla E_{in}(w_t) Ein(wt+ηv)Ein(wt)+ηvTEin(wt)

v v v 只是个单位向量,将梯度更新方向(与梯度方向相反)赋予 v v v ,则有:
v = − ∇ E i n ( w t ) ∣ ∣ ∇ E i n ( w t ) ∣ ∣ w t + 1 ← w t − η ∇ E i n ( w t ) ∣ ∣ ∇ E i n ( w t ) ∣ ∣ v=-\frac{\nabla E_{in}(w_t)}{||\nabla E_{in}(w_t)||}\quad w_{t+1}\leftarrow w_t-\eta\frac{\nabla E_{in}(w_t)}{||\nabla E_{in}(w_t)||} v=Ein(wt)Ein(wt)wt+1wtηEin(wt)Ein(wt)

在这里插入图片描述
修正学习速率 η η η w t + 1 ← w t − η ′ ∇ E i n ( w t ) 其 中 : η ′ = η ∣ ∣ ∇ E i n ( w t ) ∣ ∣ w_{t+1}\leftarrow w_t-\eta'\nabla E_{in}(w_t)\quad \quad\quad其中:\eta'=\frac{\eta}{||\nabla E_{in}(w_t)||} wt+1wtηEin(wt)η=Ein(wt)η

基于梯度下降的Logistic Regression算法:

  • 初始化 w 0 w_0 w0
  • 计算梯度 ∇ E i n ( w t ) = 1 N ∑ n = 1 N θ ( − y n W t T x n ) ( − y n x n ) ∇E_{in}(w_t)=\frac1N∑^N_{n=1}θ(−y_nW^T_tx_n)(−y_nx_n) Ein(wt)=N1n=1Nθ(ynWtTxn)(ynxn)
  • 更新 w t + 1 ← w t − η ∇ E i n ( w t ) w_{t+1}\leftarrow w_t-\eta\nabla E_{in}(w_t) wt+1wtηEin(wt)
  • 满足 ∇ E i n ( w t + 1 ) ≈ 0 ∇E_{in}(w_{t+1})≈0 Ein(wt+1)0或者达到迭代次数end


11 – Linear Models for Classification

Linear Models for Binary Classification

在这里插入图片描述
在这里插入图片描述
为了让 e r r S C E err_{SCE} errSCE 始终在 e r r 0 / 1 err_{0/1} err0/1 上面,令:
e r r S C E = log ⁡ 2 ( 1 + e x p ( − y s ) ) = 1 ln ⁡ 2 e r r C E err_{SCE}=\log_2(1+exp(-ys))=\frac1{\ln2}err_{CE} errSCE=log2(1+exp(ys))=ln21errCE

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由上可知:

  • linear regression和logistic regression都可以用来解决linear classification问题

其优缺点:
在这里插入图片描述

Stochastic Gradient Descent

随机梯度下降算法(Stochastic Gradient Descent):

  • 每次迭代一个点,计算该点梯度,更新 w w w ,每次迭代的计算量大大减小,可以把整体梯度看成随机过程的期望
    在这里插入图片描述

随机梯度下降

  • 优点:减少计算量,提高运算速度,便于online学习
  • 缺点:不够稳定,每次迭代并不能保证按照正确的方向前进,达到最小值需要迭代的次数比梯度下降算法一般要多

SGD与PLA:

  • PLA只对分类错误的点进行修正,SGD logistic regression每次迭代都会修正,
  • SGD logistic regression也称为’soft’ PLA,当 η = 1 , w t T x n \eta=1,w^T_tx_n η=1wtTxn足够大的时候,PLA近似等于SGD
    在这里插入图片描述
Multiclass via Logistic Regression

多分类问题怎么通过linear classification来解决。假设平面上有四个类,分别是正方形、菱形、三角形和星形,如何进行分类模型的训练呢?

  • 先把正方形作为正类,其他三种形状都是负类,即当成一个二分类问题,通过linear classification模型进行训练,区分正方形和其它形状。
  • 以此类推,再分别以菱形、三角形、星形为正类,四次二分类之后即完成多分类
    在这里插入图片描述

这样的二分类可能会带来一些问题:

  • 某些区域四次二分类模型都判断为负类,即不属于任何一类
  • 也可能会出现某些区域同时被两个类甚至多个类同时判断为正类,比如某个区域又判定为正方形又判定为菱形,就无法进行多类别的准确判断。所以对于多类别,简单的binary classification不能解决问题

解决办法:

  • soft软性分类,不用{-1,+1}式binary classification,而是使用logistic regression,计算某点属于某类的概率,取最大概率
    在这里插入图片描述

这种多分类方式称之为One-Versus-All(OVA) Decompositio:

  • 优点:简单高效,可用logistic regression模型来解决
  • 缺点:如果数据类别很多,每次二分类的正负类数量差别很大,造成数据不平衡,影响分类效果
    在这里插入图片描述
Multiclass via Binary Classification

怎么解决OVA数据不平衡问题呢?

  • 投票,每次只取两类进行binary classification,取值为{-1,+1}。假如 k=4,那么总共需要进行 C 4 2 = 6 C^2_4=6 C42=6次binary classification。六次分类后,如果有个点,三个分类器判断是正方形,一个分类器判断是菱形,另外两个判断是三角形,保留得票最多的,即正方形
    在这里插入图片描述

这种多分类方法叫做One-Versus-One(OVO):

  • 优点:更加高效,因为分类次数增加,但每次只需要比较两个类别,且一般不会出现数据不平衡
  • 缺点:需要分类的次数多,时间复杂度和空间复杂度可能都较高
    在这里插入图片描述

12 – Nonlinear Transformation

Quadratic Hypothesis
  • 线性模型优点:VC Dimension比较小,保证了 E i n ≈ E o u t E_{in} \approx E_{out} EinEout
  • 缺点:对某些非线性问题,虽然 E i n ≈ E o u t E_{in} \approx E_{out} EinEout,可能 E i n E_{in} Ein E o u t E_{out} Eout都很大,分类效果不佳

所以可以考虑使用非线性模型进行分类
在这里插入图片描述

z 0 = 1 , z 1 = x 1 2 , z 2 = x 2 2 ⟹ h ( x ) = s i g n ( 0.6 ⋅ z 0 − 1 ⋅ z 1 − 1 ⋅ z 2 ) = s i g n ( W T z ) z_0=1,z_1=x_1^2,z_2=x^2_2\Longrightarrow h(x)=sign(0.6\cdot z_0-1\cdot z_1-1\cdot z_2)=sign(W^Tz) z0=1z1=x12z2=x22h(x)=sign(0.6z01z11z2)=sign(WTz)
x n → z n x_n\to z_n xnzn称为特征转换(Feature Transform):将非线性模型转换为另一个域中的线性模型

在这里插入图片描述

Nonlinear Transform

在这里插入图片描述
在这里插入图片描述

Price of Nonlinear Transform

x x x特征维度为 d d d,即 d d d个特征,那么二次多项式个数,即 z z z域特征维度:
d ˘ = 1 + C d 1 + C d 2 + d = d ( d + 3 ) 2 + 1 \breve d=1+C_d^1+C_d^2+d=\frac{d(d+3)}2+1 d˘=1+Cd1+Cd2+d=2d(d+3)+1

x x x特征维度为2,即 ( x 1 , x 2 ) (x_1,x_2) (x1,x2),那么它的二次多项式为 ( 1 , x 1 , x 2 , x 1 2 , x 1 x 2 , x 2 2 ) (1,x_1,x_2,x^2_1,x_1x_2,x_2^2) (1,x1,x2,x12,x1x2,x22)

如果阶数更高,假设为 Q Q Q,那么对于 x x x特征维度为 d , z d,z dz域特征维度:
d ˘ = C Q + d Q = C Q + d d = O ( Q d ) \breve d=C_{Q+d}^Q=C_{Q+d}^d=O(Q^d) d˘=CQ+dQ=CQ+dd=O(Qd)在这里插入图片描述
在这里插入图片描述
为什么VC Dimension过大,会造成分类效果不好?

在这里插入图片描述
VC Dimension过大会带来过拟合问题, d ˘ + 1 \breve d+1 d˘+1不能太大

在这里插入图片描述

Structured Hypothesis Sets

x x x域到 z z z域的多项式变换:
Φ 0 ( x ) = ( 1 ) 一 维 特 征 Φ 1 ( x ) = ( Φ 0 ( x ) , x 1 , x 2 , … , x d ) 二 维 特 征 Φ 2 ( x ) = ( Φ 1 ( x ) , x 1 2 , x 1 x 2 , … , x d 2 ) 三 维 特 征 ⋮ ⋮ Φ Q ( x ) = ( Φ Q − 1 ( x ) , x 1 Q , x 1 Q − 1 x 2 , ⋯   , x d Q ) Q 维 特 征 ⟹ H Φ 0 ⊂ H Φ 1 ⊂ H Φ 2 ⊂ ⋯ ⊂ H Φ Q 不 同 阶 次 构 成 的 h y p o t h e s i s 之 间 的 关 系 Structured Hypothesis Sets \begin{aligned} \Phi_0(x)&=(1) &一维特征\\ \Phi_1(x)&=(\Phi_0(x),x_1,x_2,\ldots,x_d) &二维特征\\ \Phi_2(x)&=(\Phi_1(x),x_1^2,x_1x_2,\ldots,x_d^2) &三维特征\\ &\vdots &\vdots\\ \Phi_Q(x)&=(\Phi_{Q-1}(x),x_1^Q,x_1^{Q-1}x_2,\cdots,x_d^Q) &Q维特征\\ \Longrightarrow H_{\Phi_0} &\subset H_{\Phi_1} \subset H_{\Phi_2} \subset \cdots \subset H_{\Phi_Q}&不同阶次构成的hypothesis之间的关系\\ \text{Structured Hypothesis Sets} \end{aligned} Φ0(x)Φ1(x)Φ2(x)ΦQ(x)HΦ0Structured Hypothesis Sets=(1)=(Φ0(x),x1,x2,,xd)=(Φ1(x),x12,x1x2,,xd2)=(ΦQ1(x),x1Q,x1Q1x2,,xdQ)HΦ1HΦ2HΦQQhypothesis在这里插入图片描述在这里插入图片描述
选择的阶数大,能使 E i n E_{in} Ein接近于0,但泛化能力可能很差,这种情况叫做tempting sin。所以,一般的做法是从低阶hypothesis开始尝试,逐渐增加阶数选择最合适的。
在这里插入图片描述



13 – Hazard of Overfitting

What is Overfitting?
  • 当VC Dimension很大,对训练样本拟合过分好, E i n E_{in} Ein很小 E o u t E_{out} Eout很大的情况称为过拟合(overfitting)
  • 当VC Dimension太小,模型对训练样本的拟合度太差, E i n 、 E o u t E_{in}、E_{out} EinEout都很大的情况称之为欠拟合(underfitting)
    在这里插入图片描述
    VC Dimension、noise、N对过拟合的影响:
    在这里插入图片描述
The Role of Noise and Data Size

在这里插入图片描述
E i n = n o i s e l e v e l ∗ ( 1 − d + 1 N ) E o u t = n o i s e l e v e l ∗ ( 1 + d + 1 N ) d为模型阶次 E_{in}=noise level\ast (1-\frac{d+1}N)\\E_{out}=noise level\ast (1+\frac{d+1}N)\\ \text{d为模型阶次} Ein=noiselevel(1Nd+1)Eout=noiselevel(1+Nd+1)d为模型阶次

Deterministic Noise

假设数据分布由两部分组成:

  1. 目标函数 f ( x ) f(x) f(x) Q f Q_f Qf阶多项式
  2. 噪声 ϵ ϵ ϵ,服从Gaussian分布

noise强度不同对overfitting的影响。总共的数据量是 N N N
在这里插入图片描述
分析不同的 ( N , σ 2 ) (N,σ^2) (N,σ2) ( N , Q f ) (N,Q_f) (N,Qf)对overfit的影响,overfit量化为 E o u t − E i n E_{out}−E_{in} EoutEin
在这里插入图片描述
红色越深,代表overfit程度越高,蓝色越深,代表overfit程度越低

导致overfitting有四个因素:

  1. data size
  2. stochastic noise
  3. deterministic noise
  4. excessive power
Dealing with Overfitting

避免overfitting的方法:

  1. start from simple model
  2. data cleaning/pruning
  3. data hinting
  4. regularization
  5. validataion
    在这里插入图片描述
  • data cleaning/pruning:对训练数据集里label明显错误的样本进行修正(data cleaning),或者对错误的样本看成是noise,进行剔除(data pruning)(比例太小影响也不大)
  • data hinting:针对 N N N不够大的情况,对已有样本进行简单的处理、变换,以获得更多的样本

14 – Regularization

Regularized Hypothesis Set

前面提到不同阶数hypothesis存在着包含关系,能否在 H 10 H_{10} H10(10阶hypothesis)中加入一些限定条件,使其近似为 H 2 H_2 H2

最简单的方法就是直接将 w 3 、 w 4 ⋯ w 10 w_3、w_4⋯w_{10} w3w4w10设为0,即 H 10 = H 2 H_{10}=H_2 H10=H2,但这样不如直接用 H 2 H_2 H2,把限制条件放宽松一点,令任意8个权重 w w w为0,限制条件可写成:
∑ q = 0 10 ( w q ≠ 0 ) ≤ 3 记作 H 2 ′ (sparse hypothesis set) H 2 ⊂ H 2 ′ ⊂ H 10 \begin{aligned} &\sum_{q=0}^{10}(w_q\neq0)\leq3 &\text{记作$H_2^\prime$(sparse hypothesis set)}\\ &H_2\subset H_2'\subset H_{10} \end{aligned} q=010(wq=0)3H2H2H10记作H2(sparse hypothesis set)但sparse hypothesis set H 2 ′ H_2^\prime H2被证明是NP-hard,求解非常困难,所以需要更容易求解的宽松的限定条件Softer Constraint:
∑ q = 0 10 w q 2 = ∣ ∣ w ∣ ∣ 2 ≤ C 记作 H ( C ) H ( 0 ) ⊂ H ( 1.126 ) ⊂ ⋯ ⊂ H ( 1126 ) ⊂ ⋯ ⊂ H ( ∞ ) = H 10 \sum_{q=0}^{10}w_q^2=||w||^2\leq C \quad\text{记作$H(C)$}\\ H(0)\subset H(1.126)\subset \cdots \subset H(1126)\subset \cdots \subset H(\infty)=H_{10} q=010wq2=w2C记作H(C)H(0)H(1.126)H(1126)H()=H10 C C C无限大,相当于没有加上任何限制,即等于 H 10 H_{10} H10

Weight Decay Regularization

加上限定条件:
在这里插入图片描述
最小化 E i n ( w ) E_{in}(w) Ein(w):限定条件 ∣ ∣ w 2 ∣ ∣ ≤ C ||w^2||≤C w2C相当于权重 W W W被限定在半径为 C \sqrt C C 的圆内
在这里插入图片描述
根据梯度下降算法, w \color {red}w w会朝着 − ∇ E i n \color {blue}−∇E_{in} Ein的方向移动, w \color {red}w w被限定在半径为 C \sqrt C C 的圆内,不能到达圆外的最优位置 W l i n W_{lin} Wlin,只能位于圆上离 W l i n W_{lin} Wlin最近的位置:即当 − ∇ E i n \color {blue}−∇E_{in} Ein绿色切线垂直(与红色法向量平行), − ∇ E i n \color {blue}−∇E_{in} Ein在切线方向上没有不为零的分量了,也就表示这时 w \color {red}w w达到了最优解的位置
由平行条件可知,最优解需要满足:
∇ E i n ( w R E G ) + 2 λ N w R E G = 0 ( 1 ) \color {blue}\nabla E_{in}(w_{REG})+\frac{2\lambda}{N}w_{REG}=0 \quad \quad \quad \quad \quad \quad \quad \quad \quad\text{}(1) Ein(wREG)+N2λwREG=01 λ \lambda λ为Lagrange multiplier, 2 N \frac2N N2便于公式推导,目标:求解 w R E G w_{REG} wREG
E i n = 1 N ∑ n = 1 N ( x n T w − y n ) 2 E i n (线性回归) 2 N ( Z T Z w R E G − Z T y ) + 2 λ N w R E G = 0 E i n 代入(1) ⟹ w R E G = ( Z T Z + λ I ) − 1 Z T y \begin{aligned} &E_{in}=\frac1N\sum_{n=1}^N(x_n^Tw-y_n)^2 &\text{$E_{in}$(线性回归)}\\ &\frac2N(Z^TZw_{REG}-Z^Ty)+\frac{2\lambda}Nw_{REG}=0 &\text{$E_{in}$代入(1)}\\ &\Longrightarrow w_{REG}=(Z^TZ+\lambda I)^{-1}Z^Ty \end{aligned} Ein=N1n=1N(xnTwyn)2N2(ZTZwREGZTy)+N2λwREG=0wREG=(ZTZ+λI)1ZTyEin(线性回归)Ein代入(1

因为 Z T Z Z^TZ ZTZ 半正定,如果 λ λ λ 大于零,那么 Z T Z + λ I Z^TZ+λI ZTZ+λI 一定正定,即一定可逆。(ridge regression)

对一般情况,如逻辑回归问题, ∇ E i n ∇E_{in} Ein不是线性的,(1)为非线性方程, w R E G w_{REG} wREG不易求解

由(1)可知: ∇ E i n ∇E_{in} Ein ∇ E i n ∇E_{in} Ein w R E G w_{REG} wREG的导数,而 2 λ N w R E G \frac{2λ}Nw_{REG} N2λwREG也可看成 λ N w R E G 2 \frac{λ}Nw^2_{REG} NλwREG2的导数。因此(1)左边可看成是一个函数的导数,导数为零即求函数极点,如果该函数只有一个极小值点,即可看成最小化该函数:
E a u g ( w ) = E i n ( w ) + λ N w T w ⏟ regularizer:weight-decay regularization ⏟ Augmented Error \begin{aligned} E_{aug}(w)=&E_{in}(w)+\underbrace{\frac{\lambda}Nw^Tw}\\ &\underbrace {\quad\quad\quad\quad\quad\text{regularizer:weight-decay regularization}}\\ &\quad\quad\quad\quad\quad\quad\quad\quad\text {Augmented Error} \end{aligned} Eaug(w)=Ein(w)+ NλwTw regularizerweight-decay regularizationAugmented Error

λ λ λ不为零,对应有限定条件, λ λ λ等于零,则对应没有任何限定:
在这里插入图片描述
在这里插入图片描述

Regularization and VC Theory

在这里插入图片描述
w w w 只是某个 hypothesis 的权重,令 w T w w^Tw wTw 复杂度为 Ω ( w ) \Omega(w) Ω(w),而 Ω ( H ) \Omega(H) Ω(H) 则表示整个hypothesis set的复杂度, Ω ( w ) ⊂ Ω ( H ) Ω(w)\subset Ω(H) Ω(w)Ω(H),所以, E a u g ( w ) E_{aug}(w) Eaug(w) E i n E_{in} Ein 更接近于 E o u t E_{out} Eout

整个 hypothesis set 的 d V C = d ˘ + 1 d_{VC}=\breve d+1 dVC=d˘+1,引入限定条件 d V C ( H ( C ) ) = d E F F ( H , A ) d_{VC}(H(C))=d_{EFF}(H,A) dVC(H(C))=dEFF(H,A) d E F F ( H , A ) ≤ d V C d_{EFF}(H,A)\leq d_{VC} dEFF(H,A)dVC

General Regularizers

通用的Regularizers:
在这里插入图片描述在这里插入图片描述
常用两种Regularizer: L 1 、 L 2 L_1、L_2 L1L2
在这里插入图片描述
\qquad \qquad \qquad 在这里插入图片描述 \qquad 在这里插入图片描述



15 – Validation

Model Selection Problem

选择最合适的搭配,得到最好的矩 g g g,构建最佳机器学习模型
**加粗样式**
如何选择到最好的矩?

  • 方法一:用 E i n E_{in} Ein 判断,选择让 E i n E_{in} Ein 最小的模型( E i n E_{in} Ein小也可能是过拟合,不能保证泛化能力)
  • 方法二:将 M M M 个模型在测试集上测试 E t e s t E_{test} Etest 大小,取 E t e s t E_{test} Etest 最小的模型

方法二根据finite-bin Hoffding不等式有:
E o u t ( g m ∗ ) ≤ E t e s t ( g m ∗ ) + O ( l o g M N t e s t ) E_{out}(g_{m^*})\leq E_{test}(g_{m^*})+O(\sqrt \frac{log M}{N_{test}}) Eout(gm)Etest(gm)+O(NtestlogM )

M M M越小,测试集数目越大, O ( l o g M N t e s t ) O(\sqrt \frac{log M}{N_{test}}) O(NtestlogM )越小, E t e s t ( g m ∗ ) E_{test}(g_{m^*}) Etest(gm) 接近 E o u t ( g m ∗ ) E_{out}(g_{m^*}) Eout(gm)
在这里插入图片描述
事实上,测试集一般难拿到,只有训练集 D D D,那么,怎么构建测试集呢?

  • 采用折中的方式:从训练集 D D D拿出一部分作为验证集 D v a l D_{val} Dval独立使用,用来测试模型
Validation

D v a l D_{val} Dval 对应的 error 为 E v a l E_{val} Eval D v a l D_{val} Dval应是 i i d iid iid,即: D v a l D_{val} Dval 是从 D D D 中随机抽样得到 D t r a i n = D − D v a l D_{train}=D-D_{val} Dtrain=DDval,从 D t r a i n D_{train} Dtrain中选择最好的矩 g m − g_m^- gm
在这里插入图片描述
g m − g_m^- gm D v a l D_{val} Dval进行验证,由Hoffding不等式得到:
E o u t ( g m − ) ≤ E v a l ( g m − ) + O ( l o g M K ) E_{out}(g_m^-)\leq E_{val}(g_m^-)+O(\sqrt \frac{log M}{K}) Eout(gm)Eval(gm)+O(KlogM )最终模型 m ∗ m^∗ m
在这里插入图片描述
D t r a i n D_{train} Dtrain中得到最好的 g m − g_m^- gm,而总样本 D D D最好的矩应为 g m ∗ g_{m^∗} gm
在这里插入图片描述
D v a l D_{val} Dval 选择最好的矩 g m ∗ − g_{m^*}^- gm 对应的模型 m ∗ m^* m,再用该模型对整体样本集 D D D 进行训练,得到最好的矩 g m ∗ g_{m^∗} gm

D D D分成 D t r a i n 、 D v a l D_{train}、D_{val} DtrainDval,若有 M M M个模型,分别在 D t r a i n D_{train} Dtrain上进行训练,得到矩 g m − g_m^- gm,再用 D v a l D_{val} Dval对每个 g m − g_m^- gm进行验证,选择表现最好的矩 g m ∗ − g_{m^*}^- gm,最后用矩 g m ∗ − g_{m^*}^- gm对应的模型 m ∗ m^* m在整体样本集 D D D上进行训练,得到最终的 g m ∗ g_{m^∗} gm

在这里插入图片描述
不等式关系满足: E o u t ( g m ∗ ) ≤ E o u t ( g m ∗ − ) ≤ E v a l ( g m ∗ − ) + O ( l o g M K ) E_{out}(g_{m^*})\leq E_{out}(g_{m^*}^-)\leq E_{val}(g_{m^*}^-)+O(\sqrt \frac{log M}{K}) Eout(gm)Eout(gm)Eval(gm)+O(KlogM )

假设有两个模型:一个5阶多项式 H Φ 5 H_{\Phi_5} HΦ5,一个10阶多项式 H Φ 10 H_{\Phi_{10}} HΦ10。通过不使用验证集和使用验证集两种方法对模型选择结果进行比较:
在这里插入图片描述
因为 K K K变大, D t r a i n D_{train} Dtrain就变小

在这里插入图片描述
那么如何设置验证集 K 值的大小呢?

Leave-One-Out Cross Validation

K = 1 K=1 K=1时,每次只用一组数据对 g m g_m gm进行验证,优点是 g m − ≈ g m g_m^-≈g_m gmgm,但 E v a l 、 E o u t E_{val}、E_{out} EvalEout可能相差很大。留一法交叉验证,每次都从 D D D中取一组作数据为验证集,直到所有样本都作过验证集,共计算 N N N次,最后对验证误差求平均,得到 E l o o c v ( H , A ) E_{loocv}(H,A) Eloocv(H,A)
E l o o c v ( H , A ) = 1 N ∑ n = 1 N e n = 1 N ∑ n = 1 N e r r ( g n − ( x n ) , y n ) E_{loocv}(H,A)=\frac1N\sum_{n=1}^Ne_n=\frac1N\sum_{n=1}^Nerr(g_n^-(x_n),y_n) Eloocv(H,A)=N1n=1Nen=N1n=1Nerr(gn(xn),yn)图解留一法:每次将一个点作为验证集,其他两个点作为训练集,最终将得到的验证误差求平均值
在这里插入图片描述
Leave-One-Out方法的可行性?
在这里插入图片描述
由上可知: E l o o c v ( H , A ) = E o u t ‾ ( N − 1 ) E_{loocv}(H,A)=\overline {E_{out}}(N-1) Eloocv(H,A)=Eout(N1),即: E l o o c v ( H , A ) E_{loocv}(H,A) Eloocv(H,A)等于 E o u t ( N − 1 ) {E_{out}}(N-1) Eout(N1)平均值。
N N N较大时, N − 1 ≈ N ⟹ E o u t ‾ ( N − 1 ) ≈ E o u t ‾ ( N ) ⟹ E l o o c v ( H , A ) ≈ E o u t ‾ ( N ) N-1\approx N\Longrightarrow\overline {E_{out}}(N-1)\approx \overline {E_{out}}(N)\color {red}\Longrightarrow E_{loocv}(H,A)\approx \overline {E_{out}}(N) N1NEout(N1)Eout(N)Eloocv(H,A)Eout(N)

例:用 Average Intensity 和 Symmetry 及这两个特征的非线性变换(如:高阶项)进行手写数字识别
在这里插入图片描述
Error与特征数量的关系如下图所示:
在这里插入图片描述
由图可知 E c v 、 E o u t E_{cv}、E_{out} EcvEout的分布相近,即: E c v E_{cv} Ecv能较好地反映 E o u t E_{out} Eout的变化。所以用Leave-One-Out方法得到使最小的 E c v E_{cv} Ecv,其对应的模型就能保证 E o u t E_{out} Eout也足够小

由下图可知: E i n E_{in} Ein 发生了过拟合,而 E l o o c v E_{loocv} Eloocv 分类效果更好,泛化能力强

在这里插入图片描述

V-Fold Cross Validation

Leave-One-Out缺点:

  1. N N N很大时,计算量过大
  2. 稳定性不好,如:二分类问题,取值只有0和1,预测本身存在不稳定因素,对所有 E l o o c v E_{loocv} Eloocv取平均值可能带来较大数值跳动

对Leave-One-Out进行改进:将 N N N个数据分成 V V V份,而不是 N N N份,即:V-Fold Cross Validation
E c v ( H , A ) = 1 V ∑ v = 1 V E v a l ( V ) ( g V − ) E_{cv}(H,A)=\frac1V\sum_{v=1}^VE_{val}^{(V)}(g_V^-) Ecv(H,A)=V1v=1VEval(V)(gV)Leave-One-Out可看成是V-Fold Cross Validation的特例
注意:交叉验证效果越好,模型表现越好的前提是样本数据够多,够全面,因为Validation的全部来源都是样本集



16 – Three Learning Principles

Occam’s Razor

奥卡姆剃刀定律(Occam’s Razor):“切勿浪费较多东西去做用较少的东西同样可以做好的事情”
“如无必要,勿增实体”(Entities must not be multiplied unnecessarily),就像剃刀一样,将不必要的部分去除掉。
所以,在机器学习中,尽量选择能够很好地解释已知数据并且十分简单的模型

简单的模型:

  1. 具体hypothesis用的特征比较少
  2. 总体hypothesis数目较少
    在这里插入图片描述
Sampling Bias

If the data is sampled in a biased way, learning will produce a similarly biased outcome.”
如果抽样有偏差的话,那么学习的结果也产生了偏差,这种情形称之为抽样偏差Sampling Bias

所以,训练数据和验证数据最好要服从同一分布,且是独立同分布,这样训练得到的模型才能具有代表性

Data Snooping

模型选择时应该尽量避免偷窥数据,因为这样会使我们人为地倾向于某种模型,而不是根据数据进行随机选择

Power of Three

总结
机器学习相关的三个领域:
在这里插入图片描述
三个理论保证机器学习可行性:
在这里插入图片描述
三种线性模型:
在这里插入图片描述
三种重要的工具:
在这里插入图片描述
未来机器学习的方向也分为三种:
在这里插入图片描述



参考文献

【1】VC Theory: Hoeffding Inequality
【2】VC Theory: Symmetrization
【3】VC Theory: Vapnik–Chervonenkis Dimension
【4】10-705/36-705 Intermediate Statistics Lecture Notes
【5】36-705 Intermediate Statistics homepage
【6】MIT 15.097 Course Notes:Introduction to Statistical Learning Theory
【7】台湾大学林轩田机器学习基石
【8】干货 | 林轩田机器学习「基石+技法」历史文章汇总

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值