零基础入门机器学习

第一章《绪论》

2020-01-08  本文已影响0人  带刺的小花_ea97

PRML第一章《绪论》
本章一共七个小章节
1.1从一个例子多项式曲线拟合
1.2讲解了概率论基础,分为6个小章节,包括概率密度、期望与协方差、贝叶斯概率、高斯分布、重新考察曲线拟合问题以及贝叶斯曲线拟合
1.3模型选择
1.4维度灾难
1.5决策论,分为5个小章节,包括最小化错误分类率、最小化期望损失、拒绝选项、推断与决策以及回归问题的损失函数
1.6信息论,论述了相对熵与互信息
1.7练习

1.1从历史的角度

寻找数据中的模式的问题一直是分析和掌握规律的关键,比如行星运动规律和原子光谱规律,因此我们要研究的问题是利用计算机算法自动发现数据中的规律,并应用这些规律将数据进行分类。

例子:手写体识别,一张手写体识别图像,是由一定数量的像素构成的,我们怎么根据像素构成区分出0~9呢?

目标:构建一个机器,能够以向量x(28 \times 28像素的图像,即由784个实数组成的向量)作为输入,以数字0~9作为输出。

分析:可以通过人工编写规则,或者依据笔画的形状区分数字,但是实际中使用这种方法将带来规则数量的激增以及不符合规则的例外,并且效果不好。

解决方法:引入机器学习!

术语

注意:对于每个数字图像x只有一个目标向量t

总上:

本章是以一种非正式的形式介绍最重要的概念,并以例子的形式加以说明;并会介绍本书中使用的三个重要概念:概率论、决策论和信息论。

稍后在本书中,这些思想将以更复杂的模型形式重新出现,并可以用于真实世界中的模式识别应用中。

1.1 例子

人工生成的例子,可以知道生成数据的精确过程以及能够与我们学习到的模型进行比较。

例子的数据由sin(2 \pi x)产生,目标变量带有随机的噪声。

x = (x_1, ..., x_N)^T
t = (t_1, ..., t_N)^T

数据:

x_n均匀分布在区间[0,1]之间,目标数据t的获取方式是:首先计算sin(2 \pi x)的值,然后给每个点加上一个小的符合高斯分布的随机噪声,从而得到对应的t_n的值。


10个数据点组成的图像,蓝色圆圈代表数据,绿色曲线代表生成数据的函数,我们的目标是对于某些新的值,预测的值,而无需知道绿色曲线。

通过这种方式我们生成的数据具有了真实数据的特性:

它们拥有了一个内在规律,这个规律是我们想学习的,但是独自的观察被随机噪声干扰,这和噪声可能由一个本质上随机的过程产生,例如放射性衰变。

目标:

是利用这个训练集预测对于输入变量的新值\hat x的目标变量的值\hat t

困难:

概率论:

提供了一个框架,用来以精确的数学的形式描述以上这种不确定性。

多项式函数拟合数据:

y(w,x) = w_0 + w_1x + w_2x^2 + ... + w_Mx^M = \sum_{j=0}^{M} w_jx^j

其中,M是多项式的阶数,x^j表示xj次幂,多项式w_0, w_1,..., w_M整体记作向量w

求解

系数w的值可以通过调整多项式拟合训练数据的方式确定,即最小化误差函数方法。

引入平方误差函数

E(w) = \frac{1}{2} \sum_{n = 1}^{N}{y(x_n, w) - t_n}^2

其中\frac{1}{2}是为了方便数学计算加入的!

平方误差函数的性质

求解过程

因为平常误差函数是w的二次函数,所以误差函数的最小值有一个唯一解,记作w^*,可以用解析的方法求出。最终的多项式函数由函数y(x, w^*)给出。

多项式函数的阶数选择:模型对比与模型选择

不同阶数的多项式曲线(红色)

定量考查模型的泛化性与M的关系

考虑一个额外的测试集,这个测试集由100个数据点组成,生成方式与训练集的数据生成方式相同,但是包含的随机噪声值不同,对于每个M的选择,我们可以计算测试集的误差E(w^*),有时候使用均方根误差更方便:
E_{RMS} = \sqrt{2E(w^*) / N}

其中,除以N可以让我们以相同的基础对比不同大小的数据集,平方根确保了E_{RMS}与目标变量t使用相同的规模和单位进行度量。

训练集和测试集对于不同的M对应的均方根误差

选择:M=3~8

深刻思考

不同阶数的多项式的系数的值,随着多项式阶数的增加,系数的大小剧烈增大

发生了什么:

有着更大的M值的更灵活的多项式被过分地调参,使得多项式被调节成了与目标值的随机噪声相符。

当数据集规模变大了呢?

对于M=9的多项式在不同数据点下的表现

对于一个给定的模型复杂度,当数据集的规模增加时,过拟合问题变得不那么严重。

启发:

伏笔

贝叶斯HBB!

如何控制过拟合?

其中||w||^2 = w^Tw = w_0^2 + w_1^2 + ... + w_M^2,系数\lambda控制了正则化项相对于平方和误差项的重要性。

求解

上式也可以通过解析的方法求出最小值

选择不同的\lambda下的结果对比:

采用不同lambda下的结果对比

分析:

对于ln\lambda = -18,过拟合现象被压制,我们可以得到关于本质函数sin(2\pi x)的一个更好的模拟。但是如果我们把\lambda选择的过大,我们又得到了一个不好的结果,如图1.7所示的ln\lambda= 0的情形。

对于M = 9的多项式,随着lambda的增大,系数的大小逐渐变小

因此:

在效果上,\lambda控制了模型的复杂性,因此决定了过拟合的程度。

总结:

1.2 概率论

还记得我们上一节中提出数据的不确定性问题, 它可能是由于测量的误差引起的,也可能由于数据集的有限大小引起。

why

例子

两个盒子, 苹果与橘子

假设

我们在40%的时间中选择了红盒子,60%的时间中选择了蓝盒子,并且我们选择盒子中的水果时是等可能选择的。

参数

已知概率:

选择红盒子:\frac{4}{10},记作:p(B=r) =\frac{4}{10}
选择蓝盒子:\frac{6}{10},记作:p(B=b) =\frac{6}{10}

性质:

问题来了:

选择苹果的整体概率是多少?
假设我们选择了橘子,我们选择的是盒子是蓝盒子的概率是多少?

两大规则的推导

在这个例子中,涉及到两个随机变量XY,我们假设X可以取到任意的x_i,其中i = 0, ..., M,并且y可以取任意的y_j,其中j = 1, ..., L,考虑N次实验,其中我们对XY都取样,把X= x_iY=y_j的实验的数量记作n_{ij}

考虑两个随机变量X和Y

术语

p(X= x_i, Y = y_j) = \frac{n_{ij}}{N}
p(X = x_i) = \frac{c_i}{N}
p(Y = y_j) = \frac{r_j}{N}

c_i = \sum_{j = 1}^{L} n_{ij}

综合上式:

p(X= x_i) = \sum_{j = 1}^{L}p(X= x_i, Y = y_j)

这就是概率的加和规则!

综上:
p(X = x_i, Y = y_j) = \frac{n_{ij}}{N} = \frac{n_{ij}}{c_i} · \frac{c_i}{N} = p(Y = y_j|X = x_i)p(X = x_i)

这成为概率的乘积规则。

两大规则:加和规则和乘积规则

sum rule

p(X) = \sum_{Y} p(X, Y)

prodcut rule

p(X,Y) = p(Y|X) · p(X)

理解:

p(X,Y)是联合概率,可以表述为:XY的概率。
p(Y|X)是条件概率,可以表述为:给定X的条件下Y的概率。
p(X)是边缘概率,可以表述为:X的概率。

贝叶斯定理:

根据乘积规则,以及对称性p(X,Y) = p(Y,X),立即得到:
p(Y|X) = \frac{p(X|Y) p(Y)}{p(X)}

如果使用加和规则,贝叶斯定理中的分母可以用出现在分子中的项表示:
p(X) = \sum_{Y}p(X|Y)p(Y)

我们可以把贝叶斯定理的分母看作归一化常数,用来确保上式左侧的条件概率对于所有的Y的取值之和为1。

两个变量X和Y上的概率分布的一个例子

回到盒子水果问题,选择苹果的整体概率是多少?

p(B = r) = \frac{4}{10}
p(B = b) = \frac{6}{10}

p(B = r) + p(B = b) = 1

给定盒子颜色情况下水果种类的全部四个概率:
p(F = a|B = r) = \frac{1}{4}
p(F = o|B = r) = \frac{3}{4}
p(F = a|B = b) = \frac{3}{4}
p(F = o|B = b) = \frac{1}{4}


p(F = a|B = r) + p(F = o|B = r) = 1
p(F = a|B = b) + p(F = o|B = b) = 1

现在使用加和规则和乘积规则来计算选择一个苹果的概率:
p(F = a) = p(F = a|B = r)P(B=r) + p(F = a|B = b)p(B = b)

= \frac{11}{20}

利用加和规则:p(F = o) = \frac{9}{20}

假设我们选择了橘子,我们选择的是盒子是蓝盒子的概率是多少?

贝叶斯定理:
p(B = r|F = o) = \frac{p(F = o|B = r)P(B = r)}{p(F = o)} = \frac{2}{3}

根据加和规则:
p(B = b|F = o) = \frac{1}{3}

换种方式表述贝叶斯定理:

分析:

在先验概率下,我们更有可能选择蓝盒子(6),但是一旦我们知道拿到的是橘子,发现更可能选择红盒子,因为红盒子中的橘子更多,提供给了我们更强的证据去选择红盒子。

事实上,这个证据已经相当强,已经超过了先验假设,使得红盒子被选中的概率大于蓝盒子。

最后

如果两个变量的联合分布可以分解为两个边缘概率分布的乘积,即p(X, Y) = p(X)p(Y),那么我们就说XY相互独立。

那么p(Y|X) = p(Y),即对于给定X的条件下Y的条件分布实际上独立于X的值。

1.2.1 概率密度PDF

我们已经考虑了定义在离散数据点上的概率,我们希望进一步考虑连续变量的概率。

概率密度函数:

如果一个实值变量x的概率落在区间(x, x + \delta x)的概率由p(x)\delta x给出(\delta x \rightarrow 0),那么p(x)叫作x的概率密度。

x位于区间(a, b)的概率由下式给出:
p(x \in (a, b)) = \int_{a}^{b} p(x)dx

概率密度函数满足的性质:

由于概率是非负的,并且x的值一定位于实数轴的某个位置,因此:

p(x) \geqslant 0

\int_{-\infty}^{\infty} p(x)dx = 1

概率密度最大值的概念取决于变量的选择

在变量以非线性的形式变化的情况下,概率密度函数通过Jacobian因子变换为与简单的函数不同的形式。

Jacobian因子变换

因此:
p_y(y) = p_x(X)|\frac{dx}{dy}| = p_x(g(y))|g'(y)|

这里我的理解是:
对于概率密度函数而言,他取得是该变量某个点对应的导数,因此任意一个函数只要在某点与变量X的分布曲线斜率相同,就可以取其为变量X的概率密度函数。

位于区间(-\infty, z)x的概率由累积分布函数(cumulative distribution function)给出。定义为:

p(z) = \int_{-\infty}^{z}p(x)dx

满足:P'(x) = p(x)

概率密度可以表示为累计密度函数P(x)的导数。

补充一点概率论知识

pi=P(X=ai)(i=1,2,3,4,5,6)
在这个函数里,自变量X是随机变量的取值,因变量pi是取值的概率。
从公式上来看,概率函数一次只能表示一个取值的概率。比如P(X=1)=1/6,这代表用概率函数的形式来表示,当随机变量取值为1的概率为1/6,一次只能代表一个随机变量的取值。

发现概率分布函数的秘密了吗?它其实根本不是个新事物,它就是概率函数取值的累加结果!所以它又叫累积概率函数!

连续型随机变量也有它的“概率函数”和“概率分布函数”,但是连续型随机变量的“概率函数”换了一个名字,叫做“概率密度函数”!



概率密度函数用数学公式表示就是一个定积分的函数,定积分在数学中是用来求面积的,而在这里,你就把概率表示为面积即可!

多变量概率密度:

如果我们有几个连续的变量x_1, ..., x_D,整体记作向量x,那么我们可以定义联合概率密度p(x) = p(x_1, ..., x_D),使得x落在包含x的无穷小的体积\delta x的概率由p(x)\delta x给出,且多变量概率密度必须满足:

p(x) \geqslant 0

\int_{}^{}p(x)dx = 1

其中,积分必须在整个x空间上进行。我们也可以考虑离散变量和连续变量相结合的联合概率
分布。

概率质量函数

注意:如果x是一个离散变量,那么p(x)有时也被称为概率质量函数。

最后

概率的加和规则和乘积规则以及贝叶斯规则,同样可以应用到概率密度函数的情形,也可以应用于离散变量和连续变量结合的情形:

p(x) = \int p(x, y)dy

p(x, y) = p(y|x)p(x)

证明略

1.2.2 期望和协方差

涉及到概率的一个重要操作是寻找函数的加权平均值,在概率分布p(x)下,函数f(x)的平均值被称为f(x)的期望,记作E[f]

对于一个离散变量:

它的定义为:
E[f] = \sum_x p(x)f(x)

在连续变量的情况下:

期望以对应概率密度的积分的形式表示:
E[f] = \int p(x)f(x)dx

两种情形下,如果我们给定有限数量的N个点,这些点满足某个概率分布或者概率密度函数,那么期望可以通过求和的形式给出:

E[f] = \frac{1}{N} \sum_{n = 1}^{N}f(x_n)
N \rightarrow \infty时,上式的估计就会变得精确。

多变量函数的期望:

使用下标来表明被平均的是哪个变量,例如:
E_x[f(x, y)]表示函数f(x,y)关于x的分布的平均,注意,E_x[f(x, y)]是关于y的一个函数。

条件分布的期望:

E_x[f|y] = \sum_x p(x|y) f(x)

f(x)的方差,它度量了f(x)在均值E[f(x)]附近变化性的大小:

var[f] = E[(f(x) - E[f(x)])^2]

方差的其他形式:

var[f] = E[f(x)^2] - E[f(x)]^2

var[x] = E[x^2] - E[x]^2

协方差(两个随机变量xy):

cov[x, y] = E_{x, y}[{x - E[x]} {y - E[y] } ] = E_{x, y}[xy] - E[x]E[y]
它表示多大程度上xy会共同变化,如果xy相互独立,那么它们的协方差为0

协方差矩阵(两个随机向量xh和y

cov[x, y] = E_{x, y}[{x - E[x]} {y^T - E[y]^T } ] = E_{x, y}[xy^T] - E[x]E[y^t]

如果我么考虑向量x各个分量之间的协方差,那么我们可以将记号稍微简化一些:
cov[x] = cov[x, x]

补充概率论知识:

协方差(Covariance)在[概率论]和[统计学]中用于衡量两个变量的总体[误差]。而[方差]是协方差的一种特殊情况,即当两个变量是相同的情况。

协方差表示的是两个变量的总体的[误差],这与只表示一个变量误差的[方差]不同。** 如果两个[变量]的变化趋势一致,也就是说如果其中一个大于自身的期望值,另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值如果两个变量的变化趋势相反,即其中一个大于自身的期望值,另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。**

1.2.3 贝叶斯定概率——频率提供了不确定性的一个定量化描述

我们希望定量地描述不确定性,并且根据少量新的证据对不起确定性进行精确地修改,对接下来的行动进行修改,或者对最终的决策进行修改。

回忆一下,在水果盒子中,水果种类的观察提供了相应的信息,改变了选择红盒子的概率,在那个例子中,贝叶斯定理通过将观察到的数据融合,来把先验概率转化为后验概率,因此在多项式拟合中,我们队参数w的数量进行推断时,可以采用一个类似的方法,在观察到数据前,我们有一些关于参数w的假设,这以先验概率p(w)表示。观测数据D ={t_1, ..., t_N}的效果可以通过条件概率p(D|w)表达,即贝叶斯定理的形式为:
p(w|D) = \frac{p(D|w)p(w)}{p(D)}
它能够让我们通过后验概率p(w|D),在观测到D之后估计w的不确定性。

似然函数:

贝叶斯定理右侧的量p(D|w)由观测数据集D来估计,可以看成参数向量w的函数,被称为似然函数。他表达了在不同的参数向量w下,观测数据出现的可能性的大小。注意,似然函数不是w的概率分布,并且它关于w的积分并不(一定)等于1。

posterior \propto likelihood \times prior
其中所有的量都是关于w的函数。


后验概率(新信息出现后A发生的概率)=先验概率(A发生的概率)x可能性函数(新信息带出现来的调整)

贝叶斯定理的应用:

全概率公式
这个公式的作用是计算贝叶斯定理中的P(B)

假定样本空间S,由两个事件AA'组成的和。例如下图中,红色部分是事件A,绿色部分是事件A',它们共同构成了样本空间S


这时候来了个事件,如下图:

全概率公式:

它的含义是,如果AA'构成一个问题的全部(全部的样本空间),那么事件B的概率,就等于AA'的概率分别乘以B对这两个事件的条件概率之和。

分母

p(D)是一个归一化常数,确保了左侧的后验概率分布是一个合理的概率密度,积分为1。

积分

p(D) = \int p(D|w)p(w)dw

对于给定的似然函数,如果我们选择加入参数的先验信息,则必须使用允许上述积分可以进行计算。

分析

在贝叶斯观点和频率学家观点中,似然函数p(D|w)都起着重要的作用,但是对其使用的方式有着本质不同。

最大似然估计:

贝叶斯估计:

1.2.4 高斯分布

对于一元实值变量,高斯分布的定义:

N(x|\mu, \sigma^2) = \frac{1}{(2\pi\sigma^2)^{\frac{1}{2}}}exp{-\frac{1}{2\sigma^2}(x - \mu)^2}

一元高斯分布的图像

定义:

高斯分布满足:

D维向量x的高斯分布定义:

N(x|\mu, \sum) = \frac{1}{(2\pi)^{\frac{D}{2}}} \frac{1}{|\sum|^{\frac{1}{2}}}exp \left\{ \frac{1}{2}(x- \mu)^T\sum^{-1}(x - \mu) \right\}

-量\mu

对于独立同分布的从高斯分布中抽取的数据集的概率:

p(x|\mu, \sigma^2) = \prod_{n = 1}^{N}N(x_n|\mu, \sigma^2)

高斯分布的似然函数,红色曲线表示

通过最大化似然函数来确定高斯分布中未知的参数\mu\sigma^2

取对数为了计算方便,将连乘转化为连加:
lnp(x|\mu, \sigma^2) = \frac{1}{2\sigma^2} \sum_{n=1}^{N}(x_n - \mu)^2 - \frac{N}{2}ln\sigma^2 - \frac{N}{2}ln(2\pi)

推导过程

样本均值:
\mu_{ML} = \frac{1}{N}\sum_{n=1}^{N}x_n

方差:
\sigma_{ML}^2 = \frac{1}{N}\sum_{n=1}^{N}(x_n - \mu_{ML})^2

易证:
E[\mu_{ML}] = \mu

E[\sigma_{ML}^2] = (\frac{N-1}{N})\sigma^2

结论:

最大似然估计的平均值将会得到正确的均值,但是会低估方差,因子为\frac{N-1}{N}

这背后的直觉:


因为它是相对样本均值进行测量的,而不是相对真实的均值进行测量

无偏估计

\hat \sigma^2 = \frac{N}{N-1} \sigma_{ML}^2 = \frac{1}{N-1} \sum_{n=1}^{N}(x_n - \mu_{ML})^2

1.2.5 重新考察曲线拟合问题

让我们回到曲线拟合的问题,这一次,我不用误差最小化,这一次我要从概率的角度,更加深刻的认识误差函数和正则化,并且从贝叶斯的角度看下这个问题:

用概率分布来表达关于目标变量的不确定性:

p(t|x, w, \beta) = N(t|y(x, w, \beta^{-1})),其中,\beta是精度参数,它对应于分布方差的倒数

给定x条件下,t的高斯分布条件概率分布,其中均值是y(x,w),精度由参数\beta给出,它是方差的倒数

用训练数据{x,t},通过最大似然方法,来决定未知参数w\beta的值

首先写出似然函数:
p(t|x,w,\beta) = \prod_{n=1}^{N}N(t_n|y(x_n,w),\beta^{-1})

对数似然函数:
lnp(t|x,w,\beta) = -\frac{\beta}{2} \sum_{n=1}{N} \left \{ y(x_n, w) - t_n \right \}^2 + \frac{N}{2}ln{\beta} - \frac{N}{2}ln{(2\pi)}

求解:

得到:
\frac{1}{\beta_{ML}} =\frac{1}{N}\sum_{n=1}^{N} \left \{ y(x_n, w_{ML}) - t_n\right\}^2

我们又一次首先确定控制均值的参数向量w_{ML},然后使用这个结果来寻找精度\beta_{ML}。这与简单高斯分布时的情形相同。

已经确定了参数w\beta,我们可以对新的x进行预测,由于我们现在已经有了一个新的概率模型,预测可以通过给出t的概率分布的预测分布来表示,预测分布通过将最大似然参数代入公式:
p(t|x, w_{ML}, \beta_{ML}) = N(t|y(x, w_{ML}, \beta_{ML}^{-1}))

朝着贝叶斯方法前进一步:

最大化后验概率就是最小化下式:
\frac{\beta}{2} \sum_{n = 1}^{N} \left\{ y(x_n, w) - t_n\right\}^2 + \frac{\alpha}{2}w^Tw

bingo!

我们看到最大化后验概率就等价于最小化正则化的平方和误差函数,正则化参数\lambda = \frac{\alpha}{\beta}

1.2.6 贝叶斯曲线拟合

回到曲线拟合问题:

因此我们想估计预测分布p(t |x, x, t),这里我们要假设参数\alpha\beta是固定的,事先知道的。

使用概率的加和规则和乘积规则。因此预测概率可以写成下面的形式:
p(t|x, x, t) = \int p(t|x, w)p(w|x, t)dw

求解:

因此:

预测分布由高斯的形式给出:
p(t|x,x,t) = N(t|m(x), s^2(x))

其中均值和方差分别为:
m(x) = \beta \phi(x)^TS\sum_{n = 1}^{N} \phi(x_n)t_n
s^2(x) = \beta^{-1} + \phi(x)^TS\phi(x)

这里,矩阵S由下式给出:
S^{-1} = \alpha I + \beta\sum_{n=1}^{N} \phi(x_n) \phi(x_n)^T,其中,I是单位矩阵,向量\phi_i(x) = x^i(i = 0, ..., M)

总结:

s^2(x) = \beta^{-1} + \phi(x)^TS\phi(x)

下图说明了正弦曲线的回归问题。


贝叶斯方法处理多项式拟合问题得到的预测分布的结果

1.3 模型选择

交叉验证法:

参数为S的交叉验证方法

交叉验证法图解

以能够得到的数据为输出,将其划分为S组(最简单的情况下,等于数据的个数)。然后,S-1组数据被用于训练一组模型,然后在剩余的一组上进行评估。然后对于所有S的可能选择重复进行这一步骤,使用剩余的一组进行评估,这里用红色标记出来。之后,对S轮运行结果的表现得分求平均值。王哥,哒哒哒哒哒哒,我想买加特林!

留一法

这种方法能够让可得到数据的\frac{S-1}{S}用于训练,同时使用所有的数据来评估表现。当数据相当稀疏的时候,考虑S = N的情况很合适,其中N是数据点的总数。这种技术叫做“留一法”(leave-one-out)。

缺点:

信息准则:

lnp(D|w_{ML}) - M

这里,p(D|w_{ML})是最合适的对数似然函数,M是模型中可调节参数的数量,这个量的一种变体,被称为贝叶斯信息准则(Bayesian information criterion),或者简称为BIC,后面会提到,但是,这种准则没有考虑模型参数的不确定性,在实际应用中它们倾向于选择过于简单的模型。

1.4 维度灾难

例子:


缺点:

当需要处理的问题有很多输出数据,并且对应于高维的输出空间时,有一个问题就变得尤为突出。

单元格的数量会随着空间的维数以指数的形式增大!

更深刻的讨论一下高维空间中出现的问题:

如果我们有D个输入变量,那么一个三阶多项式就可以写成:
y(x,w) = w_0 + \sum_{i = 1}^{D} w_ix_i + \sum_{i = 1}^{D} w_{ij}x_ix_j + \sum_{i = 1}^{D} \sum_{j = 1}^{D} \sum_{k = 1}^{D} w_{ijk}x_ix_jx_k

结论

这种放法会迅速变得很笨重,因此在实际应用中很受限。

我们在三维空间的几何直觉在高维空间将会失效!

例如,考虑D维空间的一个半径r = 1的球体,请问,位于半径r = 1- ϵ和半径r = 1之间的部分占球的总体积的百分比是多少?

对于不同的D,位于r =1-ϵ和r=1之间的部分与球的体积比

结论:因此,在高维空间中,一个球体的大部分体积都聚集在表面附近的薄球壳上!

对于大的D值,高斯分布的概率质量集中在薄球壳处。

维度灾难固然存在,但是不能阻止我们寻找应用到高维空间的有效技术:

没看懂,没问题,看个例子:考虑制造业中的一个应用。

这个应用中,照相机拍摄了传送带上的相同的平面物体,目标是判断它们的方向。每一张图片都是三维空间中的一个点。高维空间的维数由像素的数量决定。由于物体会出现在图片的不同位置,并且方向不同,因此图像之间有3个自由度,并且一组图片将会处在高维空间的一个三维流形中。由于物体的位置或方向与像素灰度值的关系很复杂,因此流形一定是高度非线性的。如果目标是学习一个模型,这个模型能够以图片作为输入,然后输出物体的方向,与位置无关,那么这个流形中就只有一个自由度了。这很有意义。

1.5 决策论

当决策论与概率论结合的时候,我们能够在涉及到不确定性的情况下做出最优的决策。这在模式识别中经常遇到。

理解标签,采取行动

但是在一个实际应用中,我们经常必须对t的值做出具体的预测,或者更一般地,根据我们对于t的可能取值的理解,采取一个具体的动作。这一方面就是决策论的主题。

形式化的考虑一下概率论如何在做决策时起作用:

p(C_k|x) = \frac{p(x|C_k)p(C_k)}{p(x)}

注意:出现在贝叶斯定理中的任意一个量都可以从联合分布p(x, C_k)中得到,要么积分,要么通过关于某个合适的变量求条件概率。

我们现在把p(C_k)称为类C_k的先验概率,把p(C_k|x)称为对应的后验概率,因此此p(C1)表示在我们拍X光之前,一个人患癌症的概率。p(C_1|x)表示使用X光中包含的信息通过贝叶斯定理修改之后的对应的后验概率。

如果我们的目标是最小化把x分到错误类别中的可能性,那么根据直觉,我们要选择有最大后验概率的类别。我们现在要证明,这种直觉是正确的,并且我们还会讨论进⾏决策的更加通用的标准。

1.5.1 最小化错误分类率

错误分类率:
p(mistake) = p(x \in R_1, C_2) + p(x \in R_2, C_1) = \int_{R_1}{}p(x, C_2)dx + \int_{R_2}{}p(x, C_1)dx

分析

因此, 如果对于给定的x值,如果p(x, C_1) > p(x, C_2),那么我们就把x分到类别C_1中。根据概率的乘积规则,我们有p(x, C_k) = p(C_k | x)p(x)。由于因子p(x)对于两项都相同,因此我们可以这样表述:

如果我们把每个x分配到后验概率p(C_k|x)最大的类别中,那么我们分类错误的概率就会最小。

两个类别的联合概率分布p(x, C_k)与x的关系,以及决策边界x =\hat x

对于更一般的K类的情形,最大化正确率会稍微简单一些,即最大化下式:

p(correct) = \sum_{k=1}^{K} p(x \in R_k,C_k) = \sum_{k = 1}^{K}\int_{R_k}{}p(x, C_k)dx

当区域R_k的选择使得每个x都被分到使p(x, C_k)最大的类别中时,上式取得最大值。再一次使用乘积规则p(x, C_k) = p(C_k|x)p(x),并且注意到因子p(x)对于所有项都相同,我们可以看到每个x都应该被分到有着最大后验概率p(C_k | x)的类别中。

1.5.2 最小化期望损失

损失函数也被称为代价函数(cost function),是对于所有可能的决策或者动作可能产生的损失的一种整体的度量。我们的目标是最小化整体的损失。

我们将不同程度的损失,记作L_kj,它可以看成损失矩阵(loss matrix)的第k, j个元素。

癌症诊断问题的损失矩阵的例子

平均损失根据这个联合概率分布计算,定义为:

E[L] = \sum_{k}\sum{i} \int_{R_j} L_{kj}p(x, C_k)dx

1.5.3 拒绝选项

在有些区域中,类别的归属相对不确定。在某些应用中,对于这种困难的情况,避免做出决策是更合适的选择。这样会使得模型的分类错误率降低。

拒绝选项的例子

注意,令\theta = 1会使所有的样本都被拒绝,而如果有K个类别,那么令\theta < \frac{1}{K}将会确保没有样本被拒绝。因此被拒绝的样本比例由\theta的值控制。

1.5.4 推断和决策

判别函数:另一种可能的方法是,同时解决两个问题,即简单地学习一个函数,将输入x直接映射为决策。这样的函数被称为判别函数。

三种决策问题:
(a)首先对于每个类别C_k,独立地确定类条件密度p(x|C_k)。这是一个推断问题。然后,推
断先验类概率p(C_k)。之后,使用贝叶斯定理 :

p(C_k|x) = \frac{p(x|C_k)p(C_k)}{p(x)}

求出后验概率p(C_k|x),和往常一样,贝叶斯定理的分母可以用分子中的项表示:

p(x) = \sum_{k}p(x|C_k)p(C_k)

等价地,我们可以直接对联合概率分布p(x, C_k)建模,然后归一化,得到后验概率。得到后验概率之后,我们可以使用决策论来确定每个新的输入x的类别。

显式地或者隐式地对输入以及输出进行建模的方法被称为生成式模型(generative model)。

(b)首先解决确定后验类密度p(C_k| x)这一推断问题,接下来使用决策论来对新的输入x进行分类。这种直接对后验概率建模的方法被称为判别式模型(discriminative models)。

(c)找到一个函数f(x),被称为判别函数。这个函数把每个输入直接映射为类别标签。例如,在二分类问题中,f(·)可能是一个二元的数值,f = 0表示类别C_1f =1表示类别C_2。这种情况下,概率不起作用。

对比:

方法(a)

缺点:
需要求解的东西最多,因为它涉及到寻找在xC_k上的联合概率分布。对于许多应用,x的维度很高,这会导致我们需要大量的训练数据才能在合理的精度下确定类条件概率密度。

优点:
它能够通过公式求出数据的边缘概率密度p(x),这对于检测模型中具有低概率的新数据点很有用。

然而,如果我们只是想进行决策,那么这种方法会浪费计算资源。并且,实际上我们只是想求出后验概率p(C_k|x)。但是为了求出它,这种方法需要大量的数据来寻找联合概率p(x, C_k)。事实上,类条件密度可能包含很多对于后验概率几乎没有影响的结构,如下图所示。

具有一元输入变量x的两个类别的类条件概率密度(左图)以及对应的后验概率密度(右图)

方法(c):
我们不在能够接触到后验概率p(C_k|x)。有很多强烈的理由需要计算后验概率,即使我们接下来要使用后验概率来进行决策。

1.5.5 回归问题的损失函数

期望损失:

E[L] = \int \int L(t, y(x))p(x, t)dxdt

平方损失:

E[L] = \int \int \left\{ y(x) - t \right\}^2p(x, t)dxdt

求解(推导略):

y(x) = E_t[t|x]

最小化了期望平方损失的回归函数y(x)由条件概率分布p(t|x)的均值给出

最优解是条件均值y(x) = E_t[t|x]

稍微不同的方式推导结果

继而损失函数:
E[L] = \int \left\{ y(x) - E[t|x]\right\}^2p(x)dx + \int var[t|x]p(x)dx

我们寻找的函数y(x)只出现在第一项中。当y(x)等于E[t|x]时第一项取得最小值,这时第一项会被消去。这正是我们之前推导的结果,表明最优的最小平芳预测由条件均值给出。第二项是t的分布的方差,在x上进行了平均。它表示目标数据内在的变化性,可以被看成噪声。由于它与y(x)无关,因此它表示损失函数的不可减小的最小值。

与分类问题相同,我们可以确定合适的概率然后使用这些概率做出最优的决策,或者我们可
以建立直接决策的模型。

(a) 首先解决确定联合概率密度p(x, t)的推断问题。之后,计算条件概率密度p(t|x)。最
后,使用公式y(x) = E_t[t|x]积分,求出条件均值。
(b) 首先解决确定条件概率密度p(t|x)的推断问题。之后使用y(x) = E_t[t|x]计算条件均值。
(c) 直接从训练数据中寻找一个回归函数y(x)

平方损失的一种推广:闵可夫斯基损失函数

q = 2时,这个函数就变成了平方损失函数的期望。上图给出了不同q值下,函数|y-t|^q关于y-t的图像。当q = 2时,E[L_q]的最小值是条件均值。当q = 1时,E[L_q]的最小值是条件中位数。当q \rightarrow 0时,E[L_q]的最小值是条件众数。

1.6 信息论

信息量可以被看成在学习x的值的时候的“惊讶程度”。

h(·)的形式可以这样寻找:如果我们有两个不相关的事件xy,那么我们观察到两个事件同时发生时获得的信息应该等于观察到事件各自发生时获得的信息之和,即h(x,y) = h(x) +h(y)。两个不相关事件是统计独立的,因此p(x, y) = p(x)p(y)。根据这两个关系,很容易看出h(x)一定与p(x)的对数有关。因此,我们有:

h(x) = -log_2p(x),其中,负号确保了信息一定是正数或者是零。

现在假设一个发送者想传输一个随机变量的值给接收者。这个过程中,他们传输的平均信息量:

H[x] = - \sum_{x}p(x)log_2p(x)

这个重要的量被叫做随机变量x的熵(entropy)。注意,lim_{p\rightarrow 0} p log_2 p = 0,因此只要我们遇到一个x使得p(x) = 0,那么我们就应该令p(x) log_2 p(x) = 0

非均匀分布比均匀分布的熵要小

我们可以这样理解熵的这种含义:考虑一个集合,包含N个完全相同的物体,这些物体要被分到若干个箱子中,使得第i个箱子中n_i个物体。考虑把物体分配到箱子中的不同方案的数量。

N种方式选择第一个物体,有(N-1)种方式选择第二个物体,以此类推。因此总共N!种方式把N个物体分配到箱子中,其中N!表示乘积N \times (N - 1) \times...\times2\times1。然而,我们不想区分每个箱子内部物体的重新排列。在第i个箱子中,有ni!种方式对物体重新排序,因此把N个物体分配到箱子中的总方案数量为:

这被称为乘数(multiplicity)。熵被定义为通过适当的参数放缩后的对数乘数,即:

我们现在考虑极限N \rightarrow \infty,并且保持比值\frac{n_i}{N}固定,使用Stirling的估计:


可以得到:

推导时我们使用了\sum{}_in_i = N。这里,pi = lim_{N\rightarrow \infty}(\frac{n_i}{N})是一个物体被分配到第i个箱子的概率。使用物理学的术语,箱子中物体的具体分配方案被称为微观状态(microstate),整体的占领数的分布,表示为比值\frac{n_i}{N},被称为宏观状态(macrostate)。乘数W也被称为宏观状态的权重(weight)。

我们可以把箱子表述成离散随机变量X的状态x_i,其中p(X = xi) = pi。这样,随机变
量X的熵就是:


由于0 \leq pi \leq 1,因此熵是非负的。当pi = 1且所有其他的p_{j \not\equiv i} = 0时,熵取得最小值0。在概率归一化的限制下,使用拉格朗日乘数法可以找到熵的最大值。因此,我们要最大化:

....一系列计算求解过程

条件熵满足下面的关系:


其中,是的微分熵,是边缘分布的微分熵。

因此

描述xy所需的信息是描述x自己所需的信息,加上给定x的情况下具体化y所需的额外信息。

1.6.1 相对熵和互信息

本节目前为止,我们已经介绍了信息论的许多概念,包括熵的关键思想。我们现在开始把这些思想关联到模式识别的问题中。

考虑某个未知的分布p(x),假定我们已经使用一个近似的分布q(x)对它进行了建模。如果我们使用q(x)来建立一个编码体系,用来把x的值传给接收者,那么,由于我们使用了q(x)而不是真实分布p(x),因此在具体化x的值(假定我们选择了一个高效的编码系统)时,我们需要一些附加的信息。

我们需要的平均的附加信息量(单位是nat)为:

这被称为分布p(x)和分布q(x)之间的相对熵或者KL散度。

如果一个函数具有如下性质:每条弦都位于函数图像或其上方(如图1.31所示),那么我们说这个函数是凸函数。位于x = ax = b之间的任何一个x值都可以写成\lambda + (1 - \lambda )b的形式,其中0\leq \lambda \leq1。弦上的对应点可以写成\lambda f(a)+ (1 - \lambda)f(b),函数的对应值为f(\lambda a +(1 - \lambda)b)。这样,凸函数的性质就可以表示为:

这等价于要求函数的一阶导数处处为正。

如果等号只在\lambda = 0\lambda= 1处取得,我们就说这个函数是严格凸函数(strictly convex function)。如果一个函数具有相反的性质,即每条弦都位于函数图像或其下方,那么这个函数被称为凹函数(concave function)。对应地,也有严格凹函数(strictly concave function)的定义。如果f(x)是凸函数,那么-f(x)就是凹函数。

凸函数f(x)满足:

其中,对于任意点集{x_i},都有\lambda_i \geq 0\sum {}_i \lambda_i = 1

上式被称为Jensen不等式(Jensen's inequality)。

如果我们把\lambda_i看成取值为{x_i}的离散变量x的概率分布,那么上式就可以写成:

其中,E[·]表示期望。对于连续变量,Jensen不等式的形式为:

将KL散度和Jensen不等式结合:

这被称为变量x和变量y之间的互信息(mutual information)。

使用概率的加和规则和乘积规则,我们看到互信息和条件熵之间的关系为:


因此我们可以把**互信息看成由于知道y值而造成的x的不确定性的减小(反之亦然)。从贝叶斯的观点来看,我们可以把p(x)看成x的先验概率分布,把p(x|y)看成我们观察到新数据y之后的后验概率分布。因此互信息表示一个新的观测y造成的x的不确定性的减小。

呼,概率论,我的心好痛!第一章就这吧!
1.1多项式拟合引出误差函数,并对比了不同模型复杂度下的表现
1.2讲解了PDF,期望,协方差,通过边缘概率密度和联合概率密度分布,引出了贝叶斯定理,提出了高斯分布,并从贝叶斯的角度推导了如何得到误差函数,以及正则化的原因
1.3讲解了模型选择的方法,包括交叉验证法等数据处理手段
1.4通过高维球体体积分析引出了高维存在缺陷,但是由于低维数据相比于高维更复杂,还是有必要研究高维下的数据转化
1.5决策论,即计算了后验概率后如何行动,讲解了三种方法,并讲解了回归问题的损失函数与分类问题的区别
1.6提出了熵,并进行了熵值最大化
1.7将熵和信息进行综述,提出了相对熵和互信息

loading...

上一篇下一篇

猜你喜欢

热点阅读