第一课:学习的问题
机器学习三个条件:有潜在的模式可以学习,潜在的模式无法用规则来表达出来,有数据
定义符号:
符号 |
含义 |
x∈X,y∈Y |
输入和输出 |
f:X→Y |
未知的真实函数,需要学习的结果尽可能拟合这个函数 |
D={(x1,y1),(x2,y2),...,(xn,yn)} |
数据集、训练集 |
g:X→Y |
学习到的假设 |
H={hk} |
所有假设的集合,g∈H
|
第二课
简单的学习算法:PLA
在有噪声的情况下:pochet algorithm
第三课
classification、regression、structured
supervised、un/semi-supervised、reinforcement
batch、online、active
concrete、raw、abstract
第四课
no free lunch定理:如果没有具体问题,就学不到东西
罐子中抽小球的问题:假设罐子中有无限的黄球和绿球,抽出来一批样本,黄色比例是ν,罐子中黄球的真实比例是μ,可不可以用ν估计μ
hoeffdings’s inequality:P[∣ν−μ∣>ϵ]≤2exp(−2ϵ2N)
由hoeffdings不等式可以得到“ν=μ”是probably approximately correct(PAC),当样本量N足够大的时候,可以认为μ=ν
将罐子里抽小球的问题对应到机器学习问题:
|
|
μ |
fixed hupothesis h(x)=?f(x)
|
罐子中的小球 |
样本x∈X
|
黄球 |
KaTeX parse error: Undefined control sequence: \nef at position 5: h(x)\̲n̲e̲f̲(x) |
绿球 |
h(x)=f(x) |
N个iid抽样 |
在数据集D={(xn,yn)}上检查h,满足iid |
对于确定的h,可以概率上通过已知的Ein(h)=N1∑n=1N[[h(x)=f(x)]]去推断unknown Eout(h)=x∼Pϵ[[h(x)=f(x)]],Ein就是抽样得到的小球,即训练样本,Eout是罐子中的小球,即真实的f
根据hoeffding不等式,可以得到P[∣Ein−Eout∣>ϵ]≤2exp(−2ϵ2N)
也就是把hoeffdin不等式里面ν和μ替换掉了
再来看一个扔硬币的问题,如果让150个学生扔硬币,每个人扔5次,这150个人中,由一个得到5次头像的概率是1−(3231)150>99%,但是一个硬币正反面的概率应该都是0.5的。在使用机器学习算法的时候,我们通常会选择在Ein上表现较好的模型。那么也就有很大可能会选到Ein和Eout差很远的h。这里人头像对应的是在训练集上跑正确,五个正面就是在训练集上全对。这5个正面的数据就是一次不好的抽样。
对于一个假设h,抽到不好的抽样的概率是P[BAD D]=∑all possible DP(D)⋅[[BAD D]],对于一个假设h,取到坏样本的概率可以用hoeffding不等式来算上界
对于M个假设,只要其中一个h对应的D是不好的,这个D就认为是不好的,那么不小心得到这样的抽样的概率是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)
这个值也就是对于一个假设的集合,Ein=Eout的上界。
但是这里就留了一个问题,这里将M当作了一个有限值,但是实际上,比如PLA算法,画线的数量可以是无限大的,那么对无限的M这个仍然可以bound住这个值吗?
第五课
这几节课主要就围绕第四课里面M无限的问题。
第四课得到了一个不等式:P[∣Ein−Eout∣>ϵ]≤2⋅M⋅exp(−2ϵ2N)
对于较小的M,可以得到训练集测试集结果很接近的概率很大,但是算法的选择就很少,很难将Ein减小,对于较大的M,可以降低Ein,但是很难保证训练和测试的结果接近
对于一个固定的假设集合H,尝试使用mH来代替M,因此就得到了P[∣Ein−Eout∣>ϵ]≤?2⋅mH⋅exp(−2ϵ2N)
BAD evendBm:∣Ein(hm)−Eout(hm)∣>ϵ
引入M的过程是将所有的H中取union,使用了直接加和,这里就假设了所有的B全部没有重叠
如果将类似的hypotheses聚合起来,也就是将重叠删掉,有没有可能得到稍微紧一些的upper bound?
在PLA算法中,一个平面上的直线数量是无限大的,但是对于一个样本点,这些线能够划分的结果只是让这个点等于⚪或者×。也就是hypotheses set大小只有2。在一个平面上的两个点,可能有4中情况,3个点有8中情况,到了4个点的时候,就只有14中情况而不是16种了。这里所有情况有多少种都代表了hypothesis set的大小。
以effective(N)代替上面的mH,得到P[∣Ein(g)−Eout(g)∣>ϵ]≤2⋅effective(N)⋅exp(−2ϵ2N)
如果effective(N)<<2N,在不等式的右边一个远小于指数的函数除以一个指数函数,就可以得到bound了。
先来看几个简单例子
- positive rays:这是一条射线,取一个阈值a,大于a的取正号,小于1的取负号。即h(x)=sign(x−a)。这个例子中mH(N)=N+1
- Positive intervals在一个区间内是正号,以外是负号。h(x)={+1−1iff x∈[l,r)otherwise。这里mH=21n2+21N+1
- convex sets:一种情况是N个点在一个圆上面,这时可以有mH(N)=2N
引入break point的概念,就是在某一个k的时候,保证mH(k)<2k最小的k
第六课
首先探讨break point的一些性质。如果break point为2时,一个点的时候应该有两种可能;两个点的时候应该有小于4种可能;在3个点时,应该保证任意两个点都不能有4种可能(因为如果有其中两个点有4种可能,那么去掉一个点,就一定有其中k>2了)
定义一个Bounding Function B(N,K),在break point为k时最大可能的mH(N)
那么首先可以确定的是,k=1的时候,B(N,K)一定等于1,这是根据定义得到的。当N<k时,一定有B(N,k)=2k,这也是根据定义得到的。在N=k的时候,由于要保证mH(N)<2k,那么简单地-1即可,也就是从所有地组合中删除一种情况,就可以保证不回出现所有情况地组合了。剩下的内容就是填写当N>k时候的表中的内容。
视频中推导的Bounding Function最终的表格是这样的:
这个bounding function也就是mH(N)的上界
在使用hoefding不等式的时候,有P[∃h∈Hs.t. ∣Ein(h)−Eout(h)∣>ϵ]≤2mH(N)⋅exp(−2ϵ2N)
这里Eout(h)是一个样本无限的值,因为在前面的假设中罐子中球的数量是无限的。需要使用一个有限量Ein′代替。Ein′就相当于验证集。就是ppt 22页的step1。这里具体的理由没有看太懂。
因为在使用验证集的时候,默认验证集也有N个样本,就把hoefding不等式中的N变成了2N,就是step 2
step 3中代入hoeffding不等式中,就得到了P[∃h∈ Hs.t. ∣Ein(h)−Eout(h)∣>ϵ]≤4mH(2N)exp(−81ϵ2N)
这个就是VC bound
(实际上这三步没怎么看懂)
第七课
在第六课中得到了一个不等式
mH(N)≤B(N,k)=i=0∑k−1(iN)≤Nk−1
hoeffding不等式中的mH(2N)就可以替换成(2N)k−1
PD[∣Ein(g)−Eout(g)∣>ϵ]≤PD[∃h∈H s.t. ∣Ein(h)−Eout(h)∣>ϵ]≤4mH(2N)exp(−81ϵ2N)≤if k exists4(2N)k−1exp(−81ϵ2N)
根据这个公式,可以得到如果
-
mH(N)有break point k,
- 并且N足够大保证Ein和Eout大致相等,
- 学习算法A能够让Ein足够小,
就有可能学到东西。
然后引入VC Dimension的概念。H的VC dimension用dvc(H)表示,代表使mH(N)=2N最大的N。
从定义来看,dvc=(minimum k)−1
之前的四种hypothesis set的VC dimension是下图
这个VC dimension和学习算法无关,和数据分布无关,和最终得不到的那个目标函数无关,因此可以当作generalization过程中的最宽泛的bound
在2D perceptrons中,dvc=3,那在更高维度的感知机里面VC dimension是多少呢?
一个猜想是dvc=?d+1,要证明这个东西,可以分成两步,先证明dvc≥d+1,再证明dvc≤d+1。
要证明dvc≥d+1只需要证明存在d+1个输入,能够找到2d+1种情况
要证明dvc≤d+1,需要证明d+2个样本时所有的情况都不可以shatter。
因为在构造的这个X里面,行数大于列数了,所以xd+2一定可以由其他的向量线性表示,假设线性表示时每个向量前面乘的系数就是αi。然后等式两边同时乘以wT,一样应该成立。等式的右边就一定大于0。所以在这种情况下,如果满足了前d+1个样本,最后一个样本一定没法是×,也就无法构成2d+2种可能性。
这里的d+1实际上就是perceptron的维度。一个perceptron的权重向量w有d+1个维度,也就可以理解成模型中可以调节的变量的数量。vc dimension大致就可以认为是hypothesis中的*度。大部分情况下,dvc≈#free parameters,但是并不总对。
这里就可以使用dvc代替第五节课中的M。
PD[∣Ein(g)−Eout(g)∣>ϵ]≤4(2N)dvcexp(−81ϵ2N)
把不等式右边设为δ,可以得到N8ln(δ4(2N)dvc)=ϵ
即Ein(g)−ϵ≤Eout(g)≤Ein(g)+ϵ,ϵ也可以看作是对model complexity的惩罚,和N,H以及δ有关
在理论上,大致需要10000倍的dvc才行,但是实际上会发现只需要10倍左右就够了。
造成这种差距的原因是在求VC Bound的时候采取了很多loosen的方法,首先hoeffding是针对任何分布,任何target function;使用成长函数mH(N)代替∣H(x1,...,xN)∣,确保任何数据都可以覆盖;使用多项式Ndvc代替mH(N)来做上限的上限的上限,来保证任何dvc的hypothesis都可以覆盖;使用union bound来保证算法A产生的任何选择都可以覆盖。
第八课
这一课主要是用来处理noise的情况。前面讨论中,全部都是线性可分且没有噪声。
之前有target function f,由于引入了噪声,可以认为y∼i.i.dP(y∣x)在这种情况下VC仍然是对的。
再后面讲了一些关于不同情况下对于错误处理的问题,比如CIA的门禁应当对false accept的惩罚大于false reject。
不同权重的惩罚可以通过将这种错误的样本重复很多次来达到目的。
总结
这门课主要介绍了机器学习的理论保证。
几个比较重要的符号、概念:mH,break point,VC,hoeffding不等式,Bounding Function B(N,k)。
第八课作业超详细解答:
https://www.dazhuanlan.com/2019/12/20/5dfc1dec84521/