机器学习基石笔记

第一课:学习的问题

机器学习三个条件:有潜在的模式可以学习,潜在的模式无法用规则来表达出来,有数据
定义符号:

符号含义
x ⃗ ∈ X , y ∈ Y \vec x \in \mathcal X, y \in \mathcal Y x X,yY输入和输出
f : X → Y f:\mathcal X \to \mathcal Y f:XY未知的真实函数,需要学习的结果尽可能拟合这个函数
D = { ( x ⃗ 1 , y 1 ) , ( x ⃗ 2 , y 2 ) , . . . , ( x ⃗ n , y n ) } \mathcal D = \{(\vec x_1, y_1),(\vec x_2, y_2), ..., (\vec x_n,y_n)\} D={(x 1,y1),(x 2,y2),...,(x n,yn)}数据集、训练集
g : X → Y \mathcal g: \mathcal X\to\mathcal Y g:XY学习到的假设
H = { h k } \mathcal H =\{h_k\} H={hk}所有假设的集合, g ∈ H \mathcal g\in \mathcal H gH

第二课

简单的学习算法:PLA
在有噪声的情况下:pochet algorithm

第三课

classification、regression、structured
supervised、un/semi-supervised、reinforcement
batch、online、active
concrete、raw、abstract

第四课

no free lunch定理:如果没有具体问题,就学不到东西

罐子中抽小球的问题:假设罐子中有无限的黄球和绿球,抽出来一批样本,黄色比例是 ν \nu ν,罐子中黄球的真实比例是 μ \mu μ,可不可以用 ν \nu ν估计 μ \mu μ
hoeffdings’s inequality P [ ∣ ν − μ ∣ > ϵ ] ≤ 2 e x p ( − 2 ϵ 2 N ) \mathbb P[|\nu-\mu|>\epsilon]\le2exp(-2\epsilon^2N) P[νμ>ϵ]2exp(2ϵ2N)
由hoeffdings不等式可以得到“ ν = μ \nu=\mu ν=μ”是probably approximately correct(PAC),当样本量N足够大的时候,可以认为 μ = ν \mu=\nu μ=ν

将罐子里抽小球的问题对应到机器学习问题:

μ \mu μfixed hupothesis h ( x ) = ? f ( x ) h(x) \overset{?}{=}f(x) h(x)=?f(x)
罐子中的小球样本 x ⃗ ∈ X \vec x\in\mathcal X x X
黄球 h ( x ) ≠ f ( x ) h(x)\ne f(x) h(x)=f(x)
绿球 h ( x ) = f ( x ) h(x)=f(x) h(x)=f(x)
N个iid抽样在数据集 D = { ( x ⃗ n , y n ) } \mathcal D=\{(\vec x_n,y_n)\} D={(x n,yn)}上检查 h h h,满足iid

对于确定的h,可以概率上通过已知的 E i n ( h ) = 1 N ∑ n = 1 N ⟦ h ( x ) ≠ f ( x ) ⟧ E_{in}(h)=\frac{1}{N}\sum_{n=1}^N\llbracket h(x)\ne f(x) \rrbracket Ein(h)=N1n=1N[[h(x)=f(x)]]去推断unknown E o u t ( h ) = x ∼ P ϵ ⟦ h ( x ) ≠ f ( x ) ⟧ E_{out}(h)=\overset{\epsilon}{x\sim P}\llbracket h(x)\ne f(x)\rrbracket Eout(h)=xPϵ[[h(x)=f(x)]] E i n E_{in} Ein就是抽样得到的小球,即训练样本, E o u t E_{out} Eout是罐子中的小球,即真实的 f f f

根据hoeffding不等式,可以得到 P [ ∣ E i n − E o u t ∣ > ϵ ] ≤ 2 e x p ( − 2 ϵ 2 N ) \mathbb P[|E_{in}-E_{out}|>\epsilon]\le2exp(-2\epsilon^2N) P[EinEout>ϵ]2exp(2ϵ2N)
也就是把hoeffdin不等式里面 ν \nu ν μ \mu μ替换掉了

再来看一个扔硬币的问题,如果让150个学生扔硬币,每个人扔5次,这150个人中,由一个得到5次头像的概率是 1 − ( 31 32 ) 150 > 99 % 1-(\frac {31} {32})^{150}>99\% 1(3231)150>99%,但是一个硬币正反面的概率应该都是0.5的。在使用机器学习算法的时候,我们通常会选择在 E i n E_{in} Ein上表现较好的模型。那么也就有很大可能会选到 E i n E_{in} Ein E o u t E_{out} Eout差很远的 h h h。这里人头像对应的是在训练集上跑正确,五个正面就是在训练集上全对。这5个正面的数据就是一次不好的抽样。

对于一个假设 h h h,抽到不好的抽样的概率是 P [ \mathbb P[ P[BAD D ] = ∑ a l l   p o s s i b l e   D P ( D ) ⋅ ⟦ \mathcal D]=\sum_{all\ possible\ \mathcal D}\mathbb P(\mathcal D)\cdot\llbracket D]=all possible DP(D)[[BAD D ⟧ \mathcal D\rrbracket D]],对于一个假设 h h h,取到坏样本的概率可以用hoeffding不等式来算上界
在这里插入图片描述
对于M个假设,只要其中一个 h h h对应的 D \mathcal D D是不好的,这个 D \mathcal D D就认为是不好的,那么不小心得到这样的抽样的概率是 P D [ B A D   D ] = P D [ B A D   D   f o r   h 1   O R   B A D   D   f o r   h 2 . . .   O R   B A D   D   f o r   h M ] ≤ 2 e x p ( − 2 ϵ 2 N ) + 2 e x p ( − 2 ϵ 2 N ) + . . . + 2 e x p ( − 2 ϵ 2 N ) = 2 M e x p ( − 2 ϵ 2 N ) \mathbb P_{\mathcal D}[BAD\ \mathcal D]=\\ \mathbb P_{\mathcal D}[{\color{red} BAD}\ \mathcal D\ for\ h_1\ {\bf OR}\ {\color{red} BAD}\ \mathcal D\ for\ h_2...\ {\bf OR}\ {\color{red} BAD}\ \mathcal D\ for\ h_M]\\ \le2exp(-2\epsilon^2N)+2exp(-2\epsilon^2N)+...+2exp(-2\epsilon^2N)\\ =2Mexp(-2\epsilon^2N) PD[BAD D]=PD[BAD D for h1 OR BAD D for h2... OR BAD D for hM]2exp(2ϵ2N)+2exp(2ϵ2N)+...+2exp(2ϵ2N)=2Mexp(2ϵ2N)
这个值也就是对于一个假设的集合, E i n ≠ E o u t E_{in}\ne E_{out} Ein=Eout的上界。

但是这里就留了一个问题,这里将M当作了一个有限值,但是实际上,比如PLA算法,画线的数量可以是无限大的,那么对无限的M这个仍然可以bound住这个值吗?

第五课

这几节课主要就围绕第四课里面M无限的问题。

第四课得到了一个不等式: P [ ∣ E i n − E o u t ∣ > ϵ ] ≤ 2 ⋅ M ⋅ e x p ( − 2 ϵ 2 N ) \mathbb P[|E_{in}-E_{out}|>\epsilon]\le2\cdot M\cdot exp(-2\epsilon^2N) P[EinEout>ϵ]2Mexp(2ϵ2N)
对于较小的M,可以得到训练集测试集结果很接近的概率很大,但是算法的选择就很少,很难将 E i n E_{in} Ein减小,对于较大的M,可以降低 E i n E_{in} Ein,但是很难保证训练和测试的结果接近
对于一个固定的假设集合 H \mathcal H H,尝试使用 m H m_{\mathcal H} mH来代替M,因此就得到了 P [ ∣ E i n − E o u t ∣ > ϵ ] ≤ ? 2 ⋅ m H ⋅ e x p ( − 2 ϵ 2 N ) \mathbb P[|E_{in}-E_{out}|>\epsilon]\overset{?}{\le}2\cdot m_{\mathcal H}\cdot exp(-2\epsilon^2N) P[EinEout>ϵ]?2mHexp(2ϵ2N)

B \mathscr B BAD evend B m : ∣ E i n ( h m ) − E o u t ( h m ) ∣ > ϵ \mathscr B_m:|E_{in}(h_m)-E_{out}(h_m)|>\epsilon Bm:Ein(hm)Eout(hm)>ϵ
引入M的过程是将所有的 H \mathcal H H中取union,使用了直接加和,这里就假设了所有的 B \mathscr B B全部没有重叠
在这里插入图片描述
如果将类似的hypotheses聚合起来,也就是将重叠删掉,有没有可能得到稍微紧一些的upper bound?

在PLA算法中,一个平面上的直线数量是无限大的,但是对于一个样本点,这些线能够划分的结果只是让这个点等于⚪或者×。也就是hypotheses set大小只有2。在一个平面上的两个点,可能有4中情况,3个点有8中情况,到了4个点的时候,就只有14中情况而不是16种了。这里所有情况有多少种都代表了hypothesis set的大小。
e f f e c t i v e ( N ) effective(N) effective(N)代替上面的 m H m_{\mathcal H} mH,得到 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 ) \mathbb P[|E_{in}(g)-E_{out}(g)|>\epsilon]\le 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,在不等式的右边一个远小于指数的函数除以一个指数函数,就可以得到bound了。
先来看几个简单例子

  1. positive rays:这是一条射线,取一个阈值a,大于a的取正号,小于1的取负号。即 h ( x ) = s i g n ( x − a ) h(x)=sign(x-a) h(x)=sign(xa)。这个例子中 m H ( N ) = N + 1 m_{\mathcal H}(N)=N+1 mH(N)=N+1
  2. Positive intervals在一个区间内是正号,以外是负号。 h ( x ) = { + 1 iff  x ∈ [ l , r ) − 1 otherwise h(x)=\begin{cases} +1& \text{iff}\ x\in [\mathscr l,r) \\ -1& \text{otherwise} \end{cases} h(x)={+11iff x[l,r)otherwise。这里 m H = 1 2 n 2 + 1 2 N + 1 m_{\mathcal H}=\frac 1 2 n^2 + \frac 12 N + 1 mH=21n2+21N+1
  3. convex sets:一种情况是N个点在一个圆上面,这时可以有 m H ( N ) = 2 N m_\mathcal H(N) =2^N mH(N)=2N

引入break point的概念,就是在某一个k的时候,保证 m H ( k ) < 2 k m_{\mathcal H}(k)<2^k mH(k)<2k最小的k
在这里插入图片描述

第六课

首先探讨break point的一些性质。如果break point为2时,一个点的时候应该有两种可能;两个点的时候应该有小于4种可能;在3个点时,应该保证任意两个点都不能有4种可能(因为如果有其中两个点有4种可能,那么去掉一个点,就一定有其中k>2了)

定义一个Bounding Function B ( N , K ) B(N,K) B(N,K),在break point为k时最大可能的 m H ( N ) m_{\mathcal H}(N) mH(N)
那么首先可以确定的是,k=1的时候, B ( N , K ) B(N,K) B(N,K)一定等于1,这是根据定义得到的。当 N < k N<k N<k时,一定有 B ( N , k ) = 2 k B(N,k)=2^k B(N,k)=2k,这也是根据定义得到的。在 N = k N=k N=k的时候,由于要保证 m H ( N ) < 2 k m_{\mathcal H}(N)<2^k mH(N)<2k,那么简单地-1即可,也就是从所有地组合中删除一种情况,就可以保证不回出现所有情况地组合了。剩下的内容就是填写当 N > k N>k N>k时候的表中的内容。

视频中推导的Bounding Function最终的表格是这样的:
在这里插入图片描述
这个bounding function也就是 m H ( N ) m_{\mathcal H}(N) mH(N)的上界

在使用hoefding不等式的时候,有 P [ ∃ h ∈ H s . t .   ∣ E i n ( h ) − E o u t ( h ) ∣ > ϵ ] ≤ 2 m H ( N ) ⋅ e x p ( − 2 ϵ 2 N ) \mathbb P[\exists h \in \mathcal H s.t.\ |E_{in}(h)-E_{out}(h)|>\epsilon]\le 2 {\color{orange} m_{\mathcal H}(N)}\cdot exp(-2\epsilon^2N) P[hHs.t. Ein(h)Eout(h)>ϵ]2mH(N)exp(2ϵ2N)
这里 E o u t ( h ) E_{out}(h) Eout(h)是一个样本无限的值,因为在前面的假设中罐子中球的数量是无限的。需要使用一个有限量 E i n ′ E'_{in} Ein代替。 E i n ′ E'_{in} Ein就相当于验证集。就是ppt 22页的step1。这里具体的理由没有看太懂。
因为在使用验证集的时候,默认验证集也有N个样本,就把hoefding不等式中的N变成了2N,就是step 2
step 3中代入hoeffding不等式中,就得到了 P [ ∃ h ∈   H s . t .   ∣ E i n ( h ) − E o u t ( h ) ∣ > ϵ ] ≤ 4 m H ( 2 N ) e x p ( − 1 8 ϵ 2 N ) \mathbb P[\exists h\in \mathcal\ H s.t.\ |E_{in}(h)-E_{out}(h)|>\epsilon]\le4m_{\mathcal H}(2N)exp(-\frac 1 8 \epsilon^2N) P[h Hs.t. Ein(h)Eout(h)>ϵ]4mH(2N)exp(81ϵ2N)
这个就是VC bound
(实际上这三步没怎么看懂)

第七课

在第六课中得到了一个不等式
m H ( N ) ≤ B ( N , k ) = ∑ i = 0 k − 1 ( N i ) ≤ N k − 1 m_{\mathcal H}(N)\le B(N,k)=\sum_{i=0}^{k-1}\tbinom{N}{i}\le N^{k-1} mH(N)B(N,k)=i=0k1(iN)Nk1
hoeffding不等式中的 m H ( 2 N ) m_{\mathcal H}(2N) mH(2N)就可以替换成 ( 2 N ) k − 1 (2N)^{k-1} (2N)k1
P D [ ∣ E i n ( g ) − E o u t ( g ) ∣ > ϵ ] ≤ P D [ ∃ h ∈ H   s . t .   ∣ E i n ( h ) − E o u t ( h ) ∣ > ϵ ] ≤ 4 m H ( 2 N ) e x p ( − 1 8 ϵ 2 N ) ≤ if k exists 4 ( 2 N ) k − 1 e x p ( − 1 8 ϵ 2 N ) \mathbb P_{\mathcal D}[|E_{in}(g)-E_{out}(g)|>\epsilon]\\ \le \mathbb P_{\mathbb D}[\exists h\in \mathcal H\ s.t.\ |E_{in}(h)-E{out}(h)|>\epsilon]\\ \le4m_{\mathcal H}(2N)exp(-\frac 1 8\epsilon^2N)\\ \overset{\text{\color{orange}if k exists}}{\le}4(2N)^{k-1}exp(-\frac 1 8 \epsilon^2 N) PD[Ein(g)Eout(g)>ϵ]PD[hH s.t. Ein(h)Eout(h)>ϵ]4mH(2N)exp(81ϵ2N)if k exists4(2N)k1exp(81ϵ2N)
根据这个公式,可以得到如果

  1. m H ( N ) m_{\mathcal H}(N) mH(N)有break point k,
  2. 并且N足够大保证 E i n E_{in} Ein E o u t E_{out} Eout大致相等,
  3. 学习算法 A \mathcal A A能够让 E i n E_{in} Ein足够小,

就有可能学到东西。

然后引入VC Dimension的概念。 H \mathcal H H的VC dimension用 d v c ( H ) d_{vc}(\mathcal H) dvc(H)表示,代表使 m H ( N ) = 2 N m_{\mathcal H}(N)=2^N mH(N)=2N最大的N。
从定义来看, d v c = ( m i n i m u m   k ) − 1 d_{vc}= (minimum\ k) -1 dvc=(minimum k)1

之前的四种hypothesis set的VC dimension是下图
在这里插入图片描述
这个VC dimension和学习算法无关,和数据分布无关,和最终得不到的那个目标函数无关,因此可以当作generalization过程中的最宽泛的bound

在2D perceptrons中, d v c = 3 d_{vc}=3 dvc=3,那在更高维度的感知机里面VC dimension是多少呢?
一个猜想是 d v c = ? d + 1 d_{vc}\overset{?}{=}d+1 dvc=?d+1,要证明这个东西,可以分成两步,先证明 d v c ≥ d + 1 d_{vc}\ge d+1 dvcd+1,再证明 d v c ≤ d + 1 d_{vc}\le d+1 dvcd+1

要证明 d v c ≥ d + 1 d_{vc}\ge d+1 dvcd+1只需要证明存在d+1个输入,能够找到 2 d + 1 2^{d+1} 2d+1种情况
在这里插入图片描述
要证明 d v c ≤ d + 1 d_{vc}\le d+1 dvcd+1,需要证明d+2个样本时所有的情况都不可以shatter
在这里插入图片描述
因为在构造的这个X里面,行数大于列数了,所以 x d + 2 x_{d+2} xd+2一定可以由其他的向量线性表示,假设线性表示时每个向量前面乘的系数就是 α i \alpha_i αi。然后等式两边同时乘以 w T w^T wT,一样应该成立。等式的右边就一定大于0。所以在这种情况下,如果满足了前d+1个样本,最后一个样本一定没法是×,也就无法构成 2 d + 2 2^{d+2} 2d+2种可能性。

这里的d+1实际上就是perceptron的维度。一个perceptron的权重向量w有d+1个维度,也就可以理解成模型中可以调节的变量的数量。vc dimension大致就可以认为是hypothesis中的自由度。大部分情况下, d v c ≈ #free parameters d_{vc}\approx \text{\#free parameters} dvc#free parameters,但是并不总对。
这里就可以使用 d v c d_{vc} dvc代替第五节课中的M。
P D [ ∣ E i n ( g ) − E o u t ( g ) ∣ > ϵ ] ≤ 4 ( 2 N ) d v c e x p ( − 1 8 ϵ 2 N ) \mathbb P_{\mathcal D}[|E_{in}(g)-E_{out}(g)|>\epsilon]\le4(2N)^{d_{vc}}exp(-\frac 1 8 \epsilon^2 N) PD[Ein(g)Eout(g)>ϵ]4(2N)dvcexp(81ϵ2N)
把不等式右边设为 δ \delta δ,可以得到 8 N l n ( 4 ( 2 N ) d v c δ ) = ϵ \sqrt{\frac 8 N ln(\frac {4(2N)^{d_{vc}}} \delta)}=\epsilon N8ln(δ4(2N)dvc) =ϵ
E i n ( g ) − ϵ ≤ E o u t ( g ) ≤ E i n ( g ) + ϵ E_{in}(g)-\epsilon\le E_{out}(g) \le E_{in}(g)+\epsilon Ein(g)ϵEout(g)Ein(g)+ϵ ϵ \epsilon ϵ也可以看作是对model complexity的惩罚,和N, H \mathcal H H以及 δ \delta δ有关
在这里插入图片描述
在理论上,大致需要10000倍的 d v c d_{vc} dvc才行,但是实际上会发现只需要10倍左右就够了。
造成这种差距的原因是在求VC Bound的时候采取了很多loosen的方法,首先hoeffding是针对任何分布,任何target function;使用成长函数 m H ( N ) m_{\mathcal H}(N) mH(N)代替 ∣ H ( x 1 , . . . , x N ) ∣ |\mathcal H(x_1,...,x_N)| H(x1,...,xN),确保任何数据都可以覆盖;使用多项式 N d v c N^{d_{vc}} Ndvc代替 m H ( N ) m_{\mathcal H}(N) mH(N)来做上限的上限的上限,来保证任何 d v c d_{vc} dvc的hypothesis都可以覆盖;使用union bound来保证算法 A \mathcal A A产生的任何选择都可以覆盖。

第八课

这一课主要是用来处理noise的情况。前面讨论中,全部都是线性可分且没有噪声。
之前有target function f f f,由于引入了噪声,可以认为 y ∼ i . i . d P ( y ∣ x ⃗ ) y\overset {i.i.d}{\sim} P(y|\vec x) yi.i.dP(yx )在这种情况下VC仍然是对的。

再后面讲了一些关于不同情况下对于错误处理的问题,比如CIA的门禁应当对false accept的惩罚大于false reject。
不同权重的惩罚可以通过将这种错误的样本重复很多次来达到目的。

总结

这门课主要介绍了机器学习的理论保证。
几个比较重要的符号、概念: m H m_{\mathcal H} mH,break point,VC,hoeffding不等式,Bounding Function B ( N , k ) B(N,k) B(N,k)

第八课作业超详细解答:
https://www.dazhuanlan.com/2019/12/20/5dfc1dec84521/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值