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

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

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

Bias/variance tradeoff

还是用这组图,学习算法追求的是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,这个定理显而易见

第二个是Hoeffding inequality

其实要表达的意思是, 当m足够大的时候,预估值 会逼近真实值
给个例子,Z满足bernoulli分布,最好的例子就是抛硬币,对于均匀的硬币,正面的概率是1/2

但是如果你抛10次,计算出现正面的概念可能不是1/2,但如果你抛100万次或更多,你抛的约多,那么得到正面的概念一定是趋向于1/2(bernoulli大数定理)

参考,机器学习物语(2):大数定理军团
Free Mind

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

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

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

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

这个算法的问题是,往往很难求解,并且是非凸的,而逻辑回归或SVM都可以看做是ERM的凸化的近似优化算法

但这里讨论学习理论,出于简单考虑,就以ERM为例子

上面的ERM是以为优化参数,其实一个就对应于一个h

所以从通用考虑,我们这里用h做为优化参数,这样更通用,因为h可以为任意函数,只要可以将input映射到{0,1}即可

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

The case of finite H

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


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

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

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

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

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

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

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

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

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

待续。。。

时间: 2024-10-22 11:30:30

Andrew Ng机器学习公开课笔记 -- 学习理论的相关文章

Andrew Ng机器学习公开课笔记 -- Mixtures of Gaussians and the EM algorithm

网易公开课,第12,13课 notes,7a, 7b,8 从这章开始,介绍无监督的算法 对于无监督,当然首先想到k means, 最典型也最简单,有需要直接看7a的讲义   Mixtures of Gaussians 如果要理解Mixtures of Gaussians,那先回去复习一下Gaussians Discriminant Analysis,高斯判别分析 首先高斯判别分析是生成算法, 所以不会直接拟合p(y|x), 而是拟合p(x|y)p(y), 即p(x,y) p(y)符合伯努力分布,

Andrew Ng机器学习公开课笔记–Reinforcement Learning and Control

网易公开课,第16课 notes,12 前面的supervised learning,对于一个指定的x可以明确告诉你,正确的y是什么 但某些sequential decision making问题,比如下棋或直升机自动驾驶 无法确切知道,下一步怎么样是正确的,因为这是一个连续和序列化的决策,比如直到最终直升机crash或下棋输了,你才知道之前的选择是不好的,但中间那么多步决策,到底是哪部分出了问题,可见这是个比较复杂的问题 强化学习,基本思路就是,既然不知道怎样是正确的,那就随便try,然后根据

Andrew Ng机器学习公开课笔记–Independent Components Analysis

网易公开课,第15课 notes,11 参考, PCA本质是旋转找到新的基(basis),即坐标轴,并且新的基的维数大大降低 ICA也是找到新的基,但是目的是完全不一样的,而且ICA是不会降维的 对于ICA,最经典的问题,"鸡尾酒会"问题 在鸡尾酒会,上很多人同时在说话,还有背景音乐,如果我们放若干个话筒进行声音采集 是否可以从采集到的数据中,分离出每个人独立的声音 假设有n个不同的人,m个时间采集点,一般会用和人数一样多的话筒,也是n个 is an n-dimensional vec

Andrew Ng机器学习公开课笔记–Principal Components Analysis (PCA)

网易公开课,第14课 notes,10 之前谈到的factor analysis,用EM算法找到潜在的因子变量,以达到降维的目的 这里介绍的是另外一种降维的方法,Principal Components Analysis (PCA), 比Factor Analysis更为直接,计算也简单些 主成分分析基于, 在现实中,对于高维的数据,其中有很多维都是扰动噪音,或有些维是冗余的,对描述数据特征没有作用 比如我们在描述汽车速度的时候,用不同的单位mph or kph作为两维,其实只需要其中一维即可

线性回归、梯度下降 - Andrew Ng机器学习公开课笔记1.1

实例 首先举个样例.如果我们有一个二手房交易记录的数据集.已知房屋面积.卧室数量和房屋的交易价格,例如以下表: 假如有一个房子要卖,我们希望通过上表中的数据估算这个房子的价格. 这个问题就是典型的回归问题,这边文章主要讲回归中的线性回归问题. 线性回归(Linear Regression) 首先要明确什么是回归. 回归的目的是通过几个已知数据来预測还有一个数值型数据的目标值. 如果特征和结果满足线性关系,即满足一个计算公式h(x).这个公式的自变量就是已知的数据x,函数值h(x)就是要预測的目标

广义线性模型 - Andrew Ng机器学习公开课笔记1.6

转载请注明出处:http://www.cnblogs.com/BYRans/ 前面的文章已经介绍了一个回归和一个分类的例子.在逻辑回归模型中我们假设: 在分类问题中我们假设: 他们都是广义线性模型中的一个例子,在理解广义线性模型之前需要先理解指数分布族. 指数分布族(The Exponential Family) 如果一个分布可以用如下公式表达,那么这个分布就属于指数分布族: 公式中y是随机变量:h(x)称为基础度量值(base measure): η称为分布的自然参数(natural para

损失函数 - Andrew Ng机器学习公开课笔记1.2

线性回归中提到最小二乘损失函数及其相关知识.对于这一部分知识不清楚的同学可以参考上一篇文章<线性回归.梯度下降>.本篇文章主要讲解使用最小二乘法法构建损失函数和最小化损失函数的方法. 最小二乘法构建损失函数 最小二乘法也一种优化方法,用于求得目标函数的最优值.简单的说就是:让我们的预测值与真实值总的拟合误差(即总残差)达到最小. 在线性回归中使用最小二乘法构建了损失函数: 上一篇文章<线性回归.梯度下降>中提到求解使损失函数J(θ)取最小的θ值有两种方法:梯度下降(gradient

局部加权回归、欠拟合、过拟合 - Andrew Ng机器学习公开课笔记1.3

本文主要讲解局部加权(线性)回归.在讲解局部加权线性回归之前,先讲解两个概念:欠拟合.过拟合,由此引出局部加权线性回归算法. 欠拟合.过拟合 如下图中三个拟合模型.第一个是一个线性模型,对训练数据拟合不够好,损失函数取值较大.如图中第二个模型,如果我们在线性模型上加一个新特征项,拟合结果就会好一些.图中第三个是一个包含5阶多项式的模型,对训练数据几乎完美拟合. 模型一没有很好的拟合训练数据,在训练数据以及在测试数据上都存在较大误差,这种情况称之为欠拟合(underfitting). 模型三对训练

牛顿方法 - Andrew Ng机器学习公开课笔记1.5

牛顿方法(Newton's method) 逻辑回归中利用Sigmoid函数g(z)和梯度上升来最大化?(θ).现在我们讨论另一个最大化?(θ)的算法----牛顿方法. 牛顿方法是使用迭代的方法寻找使f(θ)=0的θ值,在这里θ是一个真实的值,不是一个参数,只不过θ的真正取值不确定.牛顿方法数学表达式为: 牛顿方法简单的理解方式为:先随机选一个点,然后求出f在该点的切线,即f在该点的导数.该切线等于0的点,即该切线与x轴相交的点为下一次迭代的值.直至逼近f等于0的点.过程如下图: 牛顿方法最大化