本节主要是我看了网易公开课上的Andrew Ng的机器学习公开课第四节所做的笔记加上自己的一些整理,将它发上来供参考,由于水平有限,可能有错误。
这节视频中,Andrew Ng主要讲了三个方面,分别是牛顿法,指数分布家族和广义线性回归(GLMS)。
本节介绍的指数分布函数主要是为广义线性回归所服务的。广义线性回归对回归值是随机变量(这主要是因为误差导致实际值y是随机变量)的情况下的建模提供了一种可行的建模方式。我认为,广义线性模型一个重要的应用就是对回归值是随机变量情况对回归值进行建模。
牛顿法与梯度法一样,是一种常见的迭代优化方法。牛顿法在接近收敛值时呈指数收敛,表现性质很优良,但是在远离收敛值的地方则收敛慢甚至不收敛。在二维矩阵下用Hessian矩阵的逆与梯度的乘积做变化步长。关于Hessian矩阵的理解,网上有很多,它也不是本节重点,这里不赘述了。
指数分布家族是定义的一组分布式,伯努利分布及高斯分布等分布都可以看做指数分布的特殊形式。指数分布的公式如下:
p(y;η)=b(y)exp(ηTT(y)−a(η));
p(y;η) 表示y在 η 下概率,但是它不是条件概率,因为 η 不是随机变量。而对于 ηT 我认为是转置的意思。上式还表示为:
p(y;η)=1Z(η)b(y)exp(ηTT(y)),其中a(η)=logZ(η)
Z(η)=∫yb(y)exp[ηTT(y)]dy,(在y可以取到的空间内所有求积分,符号原因不好表示) 表示归一化项。 T(y) 表示的是未知分布P的参数 y 的充分统计量。(统计量是样本数据的函数,充分统计量的意思是当且仅当 T(y) 可以提供 y 的全部信息。一般情况下,把统计值转化为统计量是会有一定的信息丢失的)常用的 T(y)=y . 确定a,b,T就可以得到一种具体非分布。那么为什么要用这个指数分布家族的形式呢?
下面,带入两个具体的例子(伯努利分布和高斯分布)
首先,我们假设 p(y=1;ϕ)=ϕ;p(y=0;ϕ)=1−ϕ,这个就是定义。
p(y;ϕ)=ϕy(1−ϕ)(1−y)=exp[ylnϕ+(1−y)ln(1−ϕ)]=exp[ylnϕ1−ϕ+ln(1−ϕ)]其中从定义来讲y=0||y=1(因为伯努利分布)
那么我们做下列转化
令η=lnϕ(1−ϕ),ϕ=11+e−η自然参数和均值参数之间的转化正好满足sigmoid函数b(y)=1T(y)=ya(η)=−ln(1−ϕ)=−ln11+eη
最后,可以得到例子是:
p(y;η)=exp[ηy−ln11+eη]
由于方差对我们最终选择的 θ和hθ(x) 无影响,因此我们可以令方差为1。(此处是在之前最小二乘法与极大似然的推导中得证方差与结果无影响)
p(y;μ)=12π−−√exp[−(y−μ)2]=12π−−√exp(−12y2)exp(μy−12μ2)
还是套公式,可以得到转化的方程
b(y)=12π−−√exp(−12y2)η=μT(y)=ya(η)=12μ2=12η2故:p(y;η)=12π−−√exp(−12y2)exp(ηy−12η2)
广义线性模型是把自变量的线性预测函数当做因变量的预测值,在机器学习中被广泛应用。广义线性模型是基于指数分布家族的。
下面做出三个设计(是针对这个模型的设计而不是假设呢):
(1) y|x;θ ExpFamily(η)
(2)给定x,目标函数是输出T(y)的期望值,即 h(x)=E[T(y)|x]
(3) η=θTx当η是实数时采有意义,否则是ηi=θTix ,
基于广义线性模型,我们可以推导出很多优美的分布。假设预测值y是连续的,假设给定x和参数,y的分布和对应模型如下:
分布 | 模型 |
---|---|
y服从高斯分布 | Linear model |
y服从二项分布 | Logistic model |
y服从多项分布(就是有k个取值可能性) | Softmax |
对于给定输入x和要参数 θ(就是我们建模后所求的参数,它是固定的非随机变量) ,y服从高斯分布、二项分布的情况下,我们直接就采用了线性回归模型和逻辑斯特模型对y建立模型。选择这几种方式建模是应该有理论依据的,广义线性模型正是提供了这种理论依据。广义线性模型对确定模型后的种种处理无影响,主要用于确定模型。(我们可以认为正是广义线性模型证明了上述表格建模方式的科学性,就是为什么要选取这种方式建模。)
则,根据指数分布家族,对于高斯分布:
softmax模型可以看做逻辑回归模型在多元选择上的推广。对于给定输入x,我们想估计x在每一种分类结果出现的概率,因此我们的假设函数应该输出一个k维向量来估计(向量元素的和为1)来表示这k个估计的值。(software函数是得出不愿意损失小的概率的事件)
首先,我们应该证明多项式分布属于指数分布族,然后再用广义线性模型来拟合这个多项分布,由广义线性模型推导出所需要的函数。
首先 p(y=i;ϕ)=ϕi,∑ki=1(i=1...k−1) ,在这里我们把T(y)设置成k-1维的向量。
然后应该套指数分布家族的公式:
我们可以得出其符合指数分布家族的形式,且
故多项分布采用softmax建模,建模后具体求参数 θ 采用极大似然估计法,将 hθ(x) 的矩阵中每一项相乘,取对数得到似然函数求解。