码迷,mamicode.com
首页 > 其他好文 > 详细

Andrew Ng机器学习公开课笔记 -- 学习理论

时间:2014-06-11 12:21:15      阅读:445      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   com   width   

网易公开课,第9课
notes,http://cs229.stanford.edu/notes/cs229-notes4.pdf

这章要讨论的问题是,如何去评价和选择学习算法

 

Bias/variance tradeoff

bubuko.com,布布扣

还是用这组图,学习算法追求的是generalization error(对未知数据的预测误差),而不是training error(只是对训练集)

最左边,underfit,我们说这种学习算法有较大的bias
Informally, we define the bias of a model to be the expected generalization error even if we were to fit it to a very (say, infinitely) large training set.
即在用足够多的训练集的情况下,仍然有较大的generalization error

最右边,overfit, 我们说这种学习算法有较大的variance
在比较小或有限的训练集的情况下,更容易发生

所以对于学习算法,我们需要tradeoff bias VS. variance,避免过于简单或复杂的学习模型

 

Preliminaries

在这章为了达到评价和选择算法的目的,我们需要解决下面几个问题,

First, can we make formal the bias/variance tradeoff that was just discussed? The will also eventually lead us to talk about model selection methods, which can, for instance, automatically decide what order polynomial to fit to a training set.
是否可以形式化bias/variance,因为这样的话,我们就可以对每个学习模型计算出bias/variance ,从而可以自动选择模型

Second, in machine learning it’s really generalization error that we care about, but most learning algorithms fit their models to the training set. Why should doing well on the training set tell us anything about generalization error? Specifically, can we relate error on the training set to generalization error?
对于学习算法,我们真正关心的是generalization error,而我们之前都是用training error来作为优化目标
这样想当然应该是合理的,但是有理论依据吗?我们真的可以用training error来近似generalization error吗?他们之间有怎样的关系?
这是我们下面首先要讨论的问题

Third and finally, are there conditions under which we can actually prove that learning algorithms will work well?
结论性的问题,在满足什么样的条件下,我们就可以证明这个学习算法是work well的?

 

在讨论上面问题之前,先介绍两个lemma,后面会用到,
第一个是union bound,这个定理显而易见

bubuko.com,布布扣

第二个是Hoeffding inequality
bubuko.com,布布扣

其实要表达的意思是, 当m足够大的时候,预估值bubuko.com,布布扣 会逼近真实值bubuko.com,布布扣
给个例子,Z满足bernoulli分布,最好的例子就是抛硬币,对于均匀的硬币,正面的概率是1/2
但是如果你抛10次,计算出现正面的概念可能不是1/2,但如果你抛100万次或更多,你抛的约多,那么得到正面的概念一定是趋向于1/2(bernoulli大数定理)
参考,机器学习物语(2):大数定理军团 Free Mind

 

下面开始定义我们的问题,即上面提到的第二问题,

定义实验误差bubuko.com,布布扣 ,对于训练集S,m个数据点
实验误差,实验值不等于真实值的个数/m,很容易理解
前面定义过bubuko.com,布布扣 ,成立为1,不成立为0

bubuko.com,布布扣

定义真实误差bubuko.com,布布扣 ,即给出一个新的满足D分布的点(x,y),预测出的h不等于真实值y的概率

bubuko.com,布布扣

现在为了阐述简单,假设h为线性分类函数
bubuko.com,布布扣 
那么最简单的最基本的学习算法是,Empirical risk minimization (ERM),即以最小化training error为目标去求得最优参数bubuko.com,布布扣

bubuko.com,布布扣

这个算法的问题是,往往很难求解,并且是非凸的,而逻辑回归或SVM都可以看做是ERM的凸化的近似优化算法
但这里讨论学习理论,出于简单考虑,就以ERM为例子

上面的ERM是以bubuko.com,布布扣为优化参数,其实一个bubuko.com,布布扣就对应于一个h
所以从通用考虑,我们这里用h做为优化参数,这样更通用,因为h可以为任意函数,只要可以将input映射到{0,1}即可

bubuko.com,布布扣

所以上面的ERM就表示成这样,容易理解吗?

bubuko.com,布布扣

 

The case of finite H

下面先讨论的case是,H用的h函数为有限个,我们要从有限个h中找到最优的h

bubuko.com,布布扣
好,然后这节的内容就是想证明,对于有限个,这里假设k个h,training error是对于generalization error的可靠的estimate

 bubuko.com,布布扣

其实,我觉得的基于Hoeffding inequality,这个证明是显然的呵呵,当然下面的证明关键是可以给出formal的形式

对于bubuko.com,布布扣 ,我们定义,bubuko.com,布布扣
那么就有,只是把上面公式中的换成Z

bubuko.com,布布扣

然后我们的目标是,证明对于H中的所有h都满足,bubuko.com,布布扣 是有个上届的,所以可以用后者来近似的预估后者

首先,H中存在h满足bubuko.com,布布扣 的概念如下,存在即或,所以可以用union bound

bubuko.com,布布扣

并把Hoeffding inequality代入的到一个不等式

然后关键的一步,两边取反
存在h使bubuko.com,布布扣,取反就是对于所有的h满足bubuko.com,布布扣 ,这个的概率是bubuko.com,布布扣
bubuko.com,布布扣

这个说明什么,即bubuko.com,布布扣是有个上界bubuko.com,布布扣 ,这个事件发生的概率当m足够大的时候是趋于1的,即必定发生,即完成证明

这个结果称为uniform convergence result,一致性收敛结果

 

待续。。。

Andrew Ng机器学习公开课笔记 -- 学习理论,布布扣,bubuko.com

Andrew Ng机器学习公开课笔记 -- 学习理论

标签:style   blog   http   color   com   width   

原文地址:http://www.cnblogs.com/fxjwind/p/3772535.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!