模式识别与机器学习(一)——绪论、多项式拟合例子

1.1 绪论

内容对应PRML书1.1节部分。

多项式拟合例子

在这个例子中,假设我们有两个变量x, t,它们满足如下关系:
t=sin(2\pi x)+\epsilon
其中\epsilon是一个均值为0、标准差为0.3的高斯噪声。我们首先在[0,1]区间内等间距地产生了10个点\mathbf{x}=(x_1,...,x_{10})^T,接着根据如上的关系为这10个点得到一组对应的目标函数值 \mathbf{t}=(t_1,...,t_{10})^T

这种数据产生方式符合大部分现实世界中的数据集的性质,即产生样本时既包含潜在的规律,又伴随着随机噪声。这些随机噪声的产生原因可能是某种内在的随机性,也可能是某种未被观测到的因素。我们的目标是根据这 10 个点构成的训练集 \mathcal{D}=\{(x_1,t_1),...,(x_{10},t_{10})\} 调整模型的参数来拟合目标函数sin(2\pi x),然后用学习到的模型对新的样本 \hat{x} 预测其对应的 \hat{t}

任务

线性模型

在这个问题中,我们将使用一个多项式曲线来拟合真实目标函数:
y(x,\mathbf{w})=\sum_{j=0}^Mw_jx^j
其中 \mathbf{w}=\{w_0,...,w_M\}称为该多项式的系数,x^j 表示 xj 次幂,M称为多项式的阶。线性模型的优点是既可以表示复杂的曲线,又具有解析解。
我们引入一个误差函数(error function)来衡量模型在一个数据集上的表现,通过最小化训练误差函数来找到线性模型的最佳参数值。线性回归问题中,最常用的误差函数就是平方和误差(sum of squares error)
E(\mathbf{w})=\frac{1}{2}\sum_{n=1}^N \{y(x_n,\mathbf{w})-t_n\}^2

模型复杂度

在确定了模型的参数后,我们还需要确定多项式的阶 M,有时我们也把它叫做模型复杂度(model complexity)。M 的值越小,可以表示的曲线越简单,拟合能力也越弱;M 的值越大,可以表示的曲线就越丰富,拟合能力也越强。那么 M 是不是越大越好呢?我们来看下面几张图:

模型复杂度

从图中我们看到,当 M=0M=1 时多项式变为直线,不足以刻画训练集中的非线性关系,这种现象称为欠拟合(under-fitting);当 M=9 时,我们发现拟合曲线恰好经过训练集的所有点,虽然此时训练集上的误差为0,但是曲线剧烈震荡,泛化性很差,这种现象称为过拟合(over-fitting);当 M=3 时,我们发现曲线的拟合效果是最好的。因此,模型复杂度并不是越高越好,针对一个问题我们要选择合适的模型复杂度以获得良好的泛化能力,选择适宜模型复杂度的过程称为模型选择(model selection)

泛化能力定量评估

由于我们事先知道数据是如何产生的,因此我们可以额外再生成若干个样本点作为测试集来定量描述M的变化对于模型泛化能力的影响。当数据规模 N 增加时,平方和误差 E(\mathbf{w}) 也随之增加,这为公平比较不同规模数据集的误差带来了难度。为了便于比较不同规模数据集上的误差,我们定义均方根误差(root-mean-square error,RMSE):
E_{RMS}=\sqrt{2E(\mathbf{w})/N}
通过求平均,我们可以在同一基准比较不同的数据集上的误差;开根号后的值可以理解为目标变量的平均偏差。 具体地,我们将产生100个测试样本点,并计算当 M 取不同的值时,测试集上的误差。

泛化能力

从图中我们可以看出,当 M 的取值范围为 02 时,测试集的误差较高,这是因为此时的模型还不够灵活,不足以刻画 sin(2\pi x) 这种非线性关系;当 M 的取值范围为 38 时,测试集误差较低,泛化能力最好;当 M=9 时,我们发现训练集上的误差为0,这是因为我们的模型刚好有10个自由度 \{w_0,w_1,...,w_{9}\},因此可以被调整到刚好经过这 10 个点,但这也导致了模型参数被过度调整以拟合样本中的噪声,作为后果,模型在测试集上的误差与训练集上的表现相去甚远,此时模型发生了过拟合。我们可以输出 M 为不同值时的模型参数:

参数

可以看到,正是由于系数的数量级很高引起了曲线的剧烈震荡。

防止过拟合

过拟合是机器学习中普遍存在的问题,如何解决过拟合就成了机器学习的一个重要的研究热点。这里介绍两种结局过拟合的方法,第一种方法是增加训练数据量,第二种方法是正则化(regularization)。

增加数据量

增加数据量可以有效防止过拟合。从下图我们可以看到,对已⼀个给定的模型复杂度,当数据集的规模增加时,过拟合问题变得不那么严重。另⼀种表述⽅式是,数据集规模越⼤,我们能够⽤来拟合数据的模型就应该越复杂 。

数据规模

但是实际中我们不得不根据可得到的训练集的规模限制参数的数量,即根据待解决的问题的复杂性来选择模型的复杂性 。
在后来我们会看到,寻找模型参数的最⼩平⽅⽅法代表了最⼤似然(maximum likelihood),并且过拟合问题可以被理解为最⼤似然的⼀个通⽤属性。通过使⽤⼀种贝叶斯(Bayesian)⽅法,过拟合问题可以被避免。我们将会看到,从贝叶斯的观点来看,对于模型参数的数量超过数据点数量的情形,没有任何难解之处。实际上,⼀个贝叶斯模型中,参数的有效(effective)数量会⾃动根据数据集的规模调节。但是现在,继续使⽤当前的⽅法还是很有⽤的。继续来看。

正则化

当我们没办法获取更多的数据时,就需要限制模型的复杂度了。具体的做法是给目标函数E(\mathbf{w})加上一个L2罚项以限制系数的数量级:
\widetilde{E}(\mathbf{w})=\frac{1}{2}\sum_{n=1}^N \{y(x_n,\mathbf{w})-t_n\}^2+\frac{\lambda}{2} \mathbf{w}^T\mathbf{w}

其中 \mathbf{w}^T\mathbf{w}=w_0^2+w_1^2+...+w_M^2\lambda>0 用于控制平方和误差与正则项的相对重要性。一般来说我们会把正则项中的 w_0^2 去掉,这样做的原因是使得结果不依赖于目标变量的原点。这样的技术在统计学中称为shrinkage,上面的目标函数是其中的一种特殊情况,称为岭回归(ridge regression),在神经网络中这样的技术被叫作权重衰减(weight decay)。下面几张图分别为我们展示了正则项系数 \lambda 的不同取值对结果曲线的影响:

正则化

对于 M=9 时,不同的 \lambda 影响如下:

正则化系数的影响

\ln\ \lambda=-\infty 时,即 \lambda=0 ,对应没有正则化的线性回归,我们可以发现输出的模型参数与线性回归基本一致;当ln\ \lambda = -18时,过拟合现象减轻了许多;而当\ln \ \lambda=0时,\lambda=1 在本例中这个正则化系数太大,导致模型欠拟合。总的来说,随着正则系数的增加,参数的数量级逐渐衰减,直至趋近于0。

参考文献

B站机器学习白板推导
贝叶斯派理论例子
GithubMachineLearningNotes/tsyw

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268