您的位置:首页 > 其它

Pattern Recognition and Machine Learning 第一章学习小记

2016-12-13 23:32 429 查看
标签: 机器学习

一直没有勇气看这本书的英文,直到翻译了一篇论文以后,发现看英文其实只要抓关键词理解就可以明白个大概。再次感谢扇贝帮助我复习词汇,以及PRML中文翻译的PDF……

前言

第一章作为绪论部分,对机器学习需要的基础知识作了铺垫,从课后的习题来看,需要用到高等数学、数学分析、概率与统计等一大波数学知识,这本书在做题时会引导性地给出证明过程,很友好。

以这些知识为基础,主要介绍了概率论、决策论、信息论在机器学习中的应用。

以一组观测数据的拟合作为目标,套了各种理论都能自洽,从而自圆其说。

示例部分

类似于高中物理实验,测出一系列数据,描点连线,算出系数。当然,以前的规律我们都事先推导出来了,做实验只是为了验证。现在如果不知道任何提示,如何知晓当中的规律(懒人最希望计算机来做这件事),便是机器学习要完成的事。

目标

学习数据内在的规律

要点

1. 规定误差函数(采用了方差),验证最小值是唯一的;

2. 影响误差的因素:训练集(越大越好,不够大就交叉验证)、阶数(有最适宜的中间值)、λ(避免参数过拟合引入,有最适宜的中间值)

后面的理论中会反复出现示例的重解,一方面验证了初始方法的合理性,另一方面又说明了各个理论是相通的。

概率论部分

概率论中经常出现的概念有:随机变量、边缘化、条件概率。这三者对应了对象、加法和乘法。所以概率论还是数学界的成员。在乘法和加法的作用下,可以推出贝叶斯定理,作为全书的灵魂定理,与之相关的概念为:先验、后验、似然

由于变量维度不同,从单维到多维概率密度、期望、方差、协方差需要稍作改动,基本的运算还是类似的。也可以当作单维是多维退化到最简单的情况吧。

贝叶斯的看法

经典的概率论和贝叶斯概率论在一些观点上存在区别,比如经典概率论是基于可多次重复的实验,给出一些固定参数来描述规律,而贝叶斯则认为参数是不固定的,参数的选择有一个概率分布。

比如在实验开始之前,可能会有好几套不同的参数θi对应不同模型,因此到底选择哪个模型,我们给出选择某个参数的概率p(θi),称为先验。在做了实验以后得到了数据集D,知道了各个参数能产生这样的数据的概率为p(D|θi),即似然。数据的指认使得每个参数的可靠度发生了变化(证人的指证让某些犯罪嫌疑人具有更高的可疑性),选择某个参数的概率p(θi|D),称为后验。

由著名的贝叶斯定理,有p(θi|D)=p(θi)·p(D|θi)p(D)其中p(D)跟真实的参数有关(无从得知真实参数),是一个常量,因此可以得到p(θi|D)∝p(θi)·p(D|θi)即后验∝先验×似然所以需要不断地加入数据来训练参数。

高斯分布

作为自然界最常见的分布,实验室也摆脱不了高斯分布,即正态分布(从高中数学老师分析成绩的时候,就开始知道这种分布了吧……)在复习它的归一化、期望、方差的时候,就是纯粹的数学积分式了,感觉单纯从头积分比较耗时1

样本估计时,需满足数据是独立同分布的(i.i.d),似然为Πp(xi|μ,σ2)求最大似然得到参数,分别对μ,σ2求偏导为零,可得到真实的均值和方差与样本均值和方差的关系。要注意的是,样本方差总是比真实方差略小。为了得到无偏估计,还要乘NN−1,但是仍会造成偏移,反而会过拟合。当样本数量足够大,则离真实越接近。

回顾示例

重新对一开始的例子进行拟合,目标是对于新的输入x,给出合适的输出t。这里假设输出t服从高斯分布,而不是一个固定的值,即N(t|μ,σ2),设μ=y(x,w),σ2=β−1。

过程如下:

1. 由数据集给出似然函数ln p(t|x,w,β)表达式

2. 求出最大似然的参数wML,βML

3. 给出目标函数表达式,可以得到x与t的关系

上面给出了最大似然估计(Maximum likelihood estimator),抽象的公式表示如下:

Likelihood L(θ)=P(D|θ)=ΠiP(xi|θ)θ∗=argmax L(θ)=argmax log L(θ)=argmax Πilog P(xi|θ)

根据贝叶斯理论,参数不应该是固定的,也服从概率分布N(w|μ′,σ′2),设μ′=0,σ′2=α−1I,用α控制w的大小,避免过拟合,对原来的过程作修改。最大化参数后验(MAP)求出参数的大小。由后验∝先验×似然由于概率值一般都很小,N很大的时候这个连乘的结果非常小,容易造成浮点数下溢。所以我们通常取对数,即得到ln(后验)∝ln(先验)+ln(似然)因此仍旧可以用到改进前最大似然的参数。

该过程的表达式和前面提到的误差函数是等价的,说明贝叶斯的这套理论很正常。

书上还给丧心病狂地出了不需要wML,βML的表达式,直接从训练集到目标函数建立了函数关系,实际计算起来数据量比较大吧……

维度灾难

高维下建模的参数数目正比于维数次方,难以计算。且单位球体积中,最外层球壳密度在不断变大,球密度最大处也在不断外移2

数学渣难以理解的是高维下“球”、“立方体”的积分,所以难以推出高维空间概率密度。

解决高维问题,方法有:

1. 降维到低维数据来解决

2. 变化量用差值分析

目前还是表示懵逼……

决策论部分

在概率论的帮助下进行决策,一般是为了解决分类问题。后面虽然讨论了回归问题,但套得有点生硬。

分类问题要先划分多个决策区域Ci和边界,当存在k使得任意的j都满足p(Ci|x)≤p(Cj|x)时,就将x划分到Cj,同时x真实的类别是到Rk,当k=j时表示分类正确,反之则分类错误,产生代价Lkj,作为对应分类概率的权重。总损失的期望为E[L]=∑k∑jLkjp(x,Ck)dx要使得上式最小,即要使∑kLkjp(x,Ck)dx最小。为了防止模棱两可的情况被误判,设定阈值θ,当max p(Ck|x)≤θ时,重新判断。

对于多变量,当两个输入xI,xB相独立时,可得到p(Ck|xI,xB)∝p(Ck|xI)p(Ck|xB)p(Ck)

采用决策论分类时,也是要先推断(即训练学习)再做决策。有三种方法得到决策:

1. 生成式法:∑p(x,Ck)→p(x)→p(x|Ck)→p(Ck|x)

2. 判别式发,直接从数据求p(Ck|x)

3. 判别函数,不用概率,直接进行分类

看到这里概念比较多,主要是因为太多说明而没有公式……套到回归问题上的时候也比较诡异哦?使得损失函数最小有两种方法:

1. 直接求关于y(x)的偏导为零

2. 平方项进行错位加减后拆项3

嫌平方项不够普遍的,直接上Minkovski损失

信息论部分

信息来自小概率事件,大概率事件因为太普遍而没有信息价值。早期定义了事件x发生的信息量h(x)=−log2p(x)为H[x]=−∑xp(x)log2p(x)应用于编码当中,使得高频信息用较短编码来编,提高了传输效率。

在平衡热力学中,波尔兹曼也推出了熵,记得高中物理是有微观下的推导,同时作了Stirling近似(疑问4),这里H[p]=−∑ip(xi)ln p(xi)对于离散变量,由Lagrange乘数法得最大熵分布是均分布,且H[p]≤ln M;对于连续变量,用Lagrange乘数法解决带限制的最大化问题,且熵改写到积分形式,称作微分熵H[x]=−∫p(x)ln p(x)dx≤12{1+ln(2πσ)}求得高斯分布是最大熵分布。求解过程中涉及到变分法求极值5

和概率论中的条件概率相对应,有条件熵H[y|x]=−∫∫p(y,x)ln p(y|x)dy dx

衡量假设的分布q与真实分布p的关系,有相对熵,也称为散度,反应了额外的信息量KL(p||q)=−∫p(x)lnq(x)p(x)dx恒大于等于零,当散度为零时,即p和q完全一样。

借助散度的概念,令I[x,y]=KL(p(x,y)||p(x)p(y))作为互信息,当为0时,表示p(x,y)=p(x)p(y),即x与y相互独立。

这部分的推导难点在于Lagrange乘数法,以及多重积分。

课后题还是值得一做的,做了对公式理解更深了。

不知道用Laplace变换是否更快更强?
听说这可以用来理解过拟合的现象?
积分式子也是rio玄妙,一处化为零消了,两处未变?
在微观推导熵的过程中,有用到Stirling近似的地方,要求N趋于无穷大。但如何保证放入每个盒子的ni也趋于无穷大呢?越是小的ni,越是不能趋于无穷,但是信息量越大,在熵里不能被忽略,这样到底能不能近似?
泛函分析的内容,对于函数求微分,不同于一般变量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐