本节主要是我看了网易公开课上的Andrew Ng的机器学习公开课第四节所做的笔记加上自己的一些整理,将它发上来供参考,由于水平有限,可能有错误。

这节视频中,Andrew Ng主要讲了三个方面,分别是牛顿法,指数分布家族和广义线性回归(GLMS)。

本节介绍的指数分布函数主要是为广义线性回归所服务的。广义线性回归对回归值是随机变量(这主要是因为误差导致实际值y是随机变量)的情况下的建模提供了一种可行的建模方式。我认为,广义线性模型一个重要的应用就是对回归值是随机变量情况对回归值进行建模。


一 牛顿法

牛顿法与梯度法一样,是一种常见的迭代优化方法。牛顿法在接近收敛值时呈指数收敛,表现性质很优良,但是在远离收敛值的地方则收敛慢甚至不收敛。在二维矩阵下用Hessian矩阵的逆与梯度的乘积做变化步长。关于Hessian矩阵的理解,网上有很多,它也不是本节重点,这里不赘述了。


二 指数分布

指数分布家族是定义的一组分布式,伯努利分布及高斯分布等分布都可以看做指数分布的特殊形式。指数分布的公式如下:

p(y;η)=b(y)exp(ηTT(y)−a(η));

p(y;\eta) = b(y)exp(\eta^TT(y)-a(\eta));
p(y;η) p(y;\eta)表示y在 η \eta下概率,但是它不是条件概率,因为 η \eta不是随机变量。而对于 ηT \eta^T 我认为是转置的意思。上式还表示为:

p(y;η)=1Z(η)b(y)exp(ηTT(y)),其中a(η)=logZ(η)

p(y;\eta) = {1 \over Z(\eta)}b(y)exp(\eta^TT(y)),其中a(\eta) = logZ(\eta)

Z(η)=∫yb(y)exp[ηTT(y)]dy,(在y可以取到的空间内所有求积分,符号原因不好表示) Z(\eta) = \int_yb(y)exp[\eta ^TT(y)]dy,(在y可以取到的空间内所有求积分,符号原因不好表示) 表示归一化项。 T(y) T(y) 表示的是未知分布P的参数 y y的充分统计量。(统计量是样本数据的函数,充分统计量的意思是当且仅当T(y)T(y)可以提供 y y的全部信息。一般情况下,把统计值转化为统计量是会有一定的信息丢失的)常用的T(y)=yT(y) = y. 确定a,b,T就可以得到一种具体非分布。那么为什么要用这个指数分布家族的形式呢?

  • 指数家族是唯一的充分统计量是有限大小的分布家族
  • 指数家族是唯一存在共轭先验的分布家族
  • 指数家族为认为选定限制下作的假设最少的分布家族
  • 指数家族是广义线性模型的核心内容
  • 指数家族是变分推断(variational inference)的核心内容

下面,带入两个具体的例子(伯努利分布和高斯分布)

1.伯努利分布

首先,我们假设 p(y=1;ϕ)=ϕ;p(y=0;ϕ)=1−ϕ,这个就是定义。 p(y=1;\phi) = \phi;p(y=0;\phi) = 1-\phi,这个就是定义。

p(y;ϕ)=ϕy(1−ϕ)(1−y)=exp[ylnϕ+(1−y)ln(1−ϕ)]=exp[ylnϕ1−ϕ+ln(1−ϕ)]其中从定义来讲y=0||y=1(因为伯努利分布)

p(y;\phi)=\phi^y (1-\phi)^{(1-y)} \\=exp[yln\phi+(1-y)ln(1-\phi)]\\=exp[yln{\phi \over1-\phi}+ln(1-\phi)]\\其中从定义来讲 y=0 || y=1(因为伯努利分布)

那么我们做下列转化

令η=lnϕ(1−ϕ),ϕ=11+e−η

令\eta = ln{\phi \over(1-\phi)},\phi = {1\over1+e^{-\eta}}自然参数和均值参数之间的转化正好满足sigmoid函数

b(y)=1T(y)=ya(η)=−ln(1−ϕ)=−ln11+eη

b(y)=1\\T(y)=y\\a(\eta)=-ln(1-\phi)=-ln{1\over1+e^\eta}

最后,可以得到例子是:

p(y;η)=exp[ηy−ln11+eη]

p(y;\eta) = exp[\eta y-ln{1 \over 1+e^\eta}]

2.高斯分布

由于方差对我们最终选择的 θ和hθ(x) \theta和h_\theta(x)无影响,因此我们可以令方差为1。(此处是在之前最小二乘法与极大似然的推导中得证方差与结果无影响)

p(y;μ)=12π−−√exp[−(y−μ)2]=12π−−√exp(−12y2)exp(μy−12μ2)

p(y;\mu) = {1 \over \sqrt{2\pi}}exp[-(y-\mu)^2]\\={1 \over \sqrt{2\pi}}exp(-\frac12 y^2)exp(\mu y-\frac12\mu^2)

还是套公式,可以得到转化的方程

b(y)=12π−−√exp(−12y2)η=μT(y)=ya(η)=12μ2=12η2故:p(y;η)=12π−−√exp(−12y2)exp(ηy−12η2)

b(y)={1 \over \sqrt{2\pi}}exp(-\frac12 y^2)\\\eta = \mu\\T(y)=y\\a(\eta)=\frac12\mu^2=\frac12\eta^2\\故:p(y;\eta)={1 \over \sqrt{2\pi}}exp(-\frac12 y^2)exp(\eta y-\frac12\eta^2)


三 广义线性模型

广义线性模型是把自变量的线性预测函数当做因变量的预测值,在机器学习中被广泛应用。广义线性模型是基于指数分布家族的。
下面做出三个设计(是针对这个模型的设计而不是假设呢):
(1) y|x;θ ExpFamily(η) y|x;\theta ~ ExpFamily(\eta)
(2)给定x,目标函数是输出T(y)的期望值,即 h(x)=E[T(y)|x] h(x)=E[T(y)|x]
(3) η=θTx当η是实数时采有意义,否则是ηi=θTix \eta=\theta^Tx当\eta是实数时采有意义,否则是\eta_i=\theta_i^Tx,
基于广义线性模型,我们可以推导出很多优美的分布。假设预测值y是连续的,假设给定x和参数,y的分布和对应模型如下:

分布 模型
y服从高斯分布 Linear model
y服从二项分布 Logistic model
y服从多项分布(就是有k个取值可能性) Softmax

对于给定输入x和要参数 θ(就是我们建模后所求的参数,它是固定的非随机变量) \theta(就是我们建模后所求的参数,它是固定的非随机变量),y服从高斯分布、二项分布的情况下,我们直接就采用了线性回归模型和逻辑斯特模型对y建立模型。选择这几种方式建模是应该有理论依据的,广义线性模型正是提供了这种理论依据。广义线性模型对确定模型后的种种处理无影响,主要用于确定模型。(我们可以认为正是广义线性模型证明了上述表格建模方式的科学性,就是为什么要选取这种方式建模。)

则,根据指数分布家族,对于高斯分布:

hθ(x)=E[y|x;θ]=μ=η=θTx

h_\theta(x)=E[y|x;\theta]\\=\mu\\=\eta\\=\theta^Tx
可以看出预测值的期望与 θTx \theta^Tx呈线性关系,基于这个基础,我们采用了线性回归进行建模。(比如前面那个预测房价的例子)
对于伯努利分布,就是逻辑回归模型

hθ(x)=E[y|x;θ]=ϕ=11+e−η=11+e−θTx

h_\theta(x)=E[y|x;\theta]\\=\phi\\={1 \over 1+e^{-\eta}}\\={1 \over 1+e^{-\theta^Tx}}
这里我们称 g(η)=E[T(y);η] g(\eta)=E[T(y);\eta]为正则响应函数; g−1 g^{-1}为正则关联函数。
对于多项式分布,服从softmax回归。(这里由于第一次接触这个分布,我去查了一些关于这个分布的资料,对softmax分布做个简短的介绍)

softmax模型可以看做逻辑回归模型在多元选择上的推广。对于给定输入x,我们想估计x在每一种分类结果出现的概率,因此我们的假设函数应该输出一个k维向量来估计(向量元素的和为1)来表示这k个估计的值。(software函数是得出不愿意损失小的概率的事件)

首先,我们应该证明多项式分布属于指数分布族,然后再用广义线性模型来拟合这个多项分布,由广义线性模型推导出所需要的函数。

首先 p(y=i;ϕ)=ϕi,∑ki=1(i=1...k−1) p(y=i;\phi)=\phi_i,\sum_i^k=1(i=1...k-1),在这里我们把T(y)设置成k-1维的向量。

然后应该套指数分布家族的公式:

p(y;ϕ)=ϕ1(y=1)1ϕ1(y=2)2...ϕ1(y=k)k=ϕT(y)11ϕT(y)22...ϕ1−∑k−1iT(y)ik=exp((T(y))1log(ϕ1)+(T(y))2log(ϕ2)+...+(1−∑i=1k−1T(y))1log(ϕk))=exp((T(y))1log(ϕ1ϕk)+(T(y))2log(ϕ2ϕk)+...+(T(y))k−1log(ϕk−1ϕk)+log(ϕk))=b(y)exp(ηTT(y)−a(η))

p(y;\phi) = \phi_1^{1{(y=1)}}\phi_2^{1{(y=2)}}...\phi_k^{1{(y=k)}}\\=\phi_1^{T(y)_1}\phi_2^{T(y)_2}...\phi_k^{1-\sum_i^{k-1}T(y)_i}\\=exp((T(y))_1log(\phi_1)+(T(y))_2log(\phi_2)+...+(1-\sum_{i=1}^{k-1}T(y))_1log(\phi_k))\\=exp((T(y))_1log({\phi_1 \over \phi_k})+(T(y))_2log({\phi_2 \over \phi_k})+...+(T(y))_{k-1}log({\phi_{k-1} \over \phi_k})+log(\phi_k))\\=b(y)exp(\eta^TT(y)-a(\eta))

我们可以得出其符合指数分布家族的形式,且

η=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢log(ϕ1ϕk)log(ϕ2ϕk)⋮log(ϕk−1ϕk)⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥a(η)=−log(ϕk)b(y)=1

\eta = \begin{bmatrix}log({\phi_1 \over \phi_k})\\log({\phi_2 \over \phi_k})\\\vdots\\log({\phi_{k-1} \over \phi_k})\end{bmatrix}\\a(\eta)=-log(\phi_k)\\b(y)=1
反解可以得到:

ϕi=eηi∑kj=1eηjp(y=i|x,θ)=ϕi=eθTjx∑kj=1eθTjx

\phi_i={e^\eta_i \over \sum_{j=1}^ke^{\eta_j}}\\p(y=i|x,\theta)=\phi_i\\={e^{\theta_j^Tx} \over \sum_{j=1}^ke^{\theta_j^Tx}}
因此,我们的假设函数(就是取充分统计量T(y)的期望,见广义分布家族设计第二条):

hθ(x)=E[T(y)|x;θ]=E⎡⎣⎢⎢⎢⎢⎢ϕ1ϕ2⋮ϕk−1⎤⎦⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢eθT1x∑kj=1eθTjxeθT2x∑kj=1eθTjx⋮eθTk−1x∑kj=1eθTjx⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

h_\theta(x)=E[T(y)|x;\theta]\\=E\begin{bmatrix}\phi_1\\\phi_2\\\vdots\\\phi_{k-1}\end{bmatrix}\\=\begin{bmatrix}{e^{\theta_1^Tx} \over \sum_{j=1}^ke^{\theta_j^Tx}}\\{e^{\theta_2^Tx} \over \sum_{j=1}^ke^{\theta_j^Tx}}\\\vdots\\{e^{\theta_{k-1}^Tx} \over \sum_{j=1}^ke^{\theta_j^Tx}}\end{bmatrix}

故多项分布采用softmax建模,建模后具体求参数 θ \theta 采用极大似然估计法,将 hθ(x) h_\theta(x) 的矩阵中每一项相乘,取对数得到似然函数求解。

指数分布族 和 广义线性模型相关推荐

  1. 牛顿方法、指数分布族、广义线性模型—斯坦福ML公开课笔记4

    转载请注明:http://blog.csdn.net/xinzhangyanxiang/article/details/9207047 最近在看Ng的机器学习公开课,Ng的讲法循循善诱,感觉提高了不少 ...

  2. 指数分布族函数与广义线性模型(Generalized Linear Models,GLM)

    目录 1 综述 2 指数分布族 3 广义线性模型 3.1 定义 3.2 为什么引入GLM 3.3 连接函数的获取 4 常见连接函数求解及对应回归 4.1 伯努利分布 > Logistics回归 ...

  3. AI实践之路:线性/逻辑回归背后的广义线性模型与最大似然估计

    写上一篇文章的过程中,讲到逻辑回归是如何利用Sigmoid函数将线性回归的数值转换为概率时,才意识到自己对逻辑回归的理解十分浅显,为什么是Sigmoid函数?它一个就说是概率了?数学原理是什么?为了增 ...

  4. 线性模型(一)--广义线性模型(GLM)简介

    我们从初中开始接触线性方程,线性关系是变量间最简单的关系,所以我打算从线性模型入手开始介绍机器学习的基本算法.广义线性模型(General Linear Model,GLM)是线性回归模型的推广形式, ...

  5. 统计学习II.7 广义线性模型1 指数分布族

    统计学习II.7 广义线性模型1 指数分布族 指数分布族的定义 指数分布族的例子 Bernoulli分布 Multinoulli分布 指数分布族的性质 指数分布族的MLE 指数分布族的贝叶斯方法 这一 ...

  6. 广义线性模型与指数分布族

    在机器学习领域,很多模型都是属于广义线性模型(Generalized Linear Model,GLM),如线性回归,逻辑回归,Softmax回归等.这篇文章广义线性模型,并由它推导出线性回归,逻辑回 ...

  7. UA MATH571A 多元线性回归IV 广义线性模型

    UA MATH571A 多元线性回归IV 广义线性模型 广义线性模型 二值被解释变量 Probit模型 Logit模型 系数的最大似然估计 系数的推断 Wald检验 似然比检验 二项回归 拟合优度检验 ...

  8. stats | 广义线性模型(二)——泊松回归

    本篇介绍一种常见的广义线性模型:泊松回归.泊松分布是离散型分布,它的概率分布函数如下: 写成指数族分布的形式如下: 对照指数族分布的通式: 可得, 广义线性模型假设与解释变量存在线性关系,即 又因为泊 ...

  9. 系统学习机器学习之线性判别式(三)--广义线性模型(Generalized Linear Models)

    转自:https://www.cnblogs.com/czdbest/p/5769326.html 在线性回归问题中,我们假设,而在分类问题中,我们假设,它们都是广义线性模型的例子,而广义线性模型就是 ...

最新文章

  1. 基于 MongoDB 的 python 日志功能
  2. arraylist是如何扩容的?_ArrayList的源码分析
  3. C++ Primer 5th笔记(chap 19 特殊工具与技术)类成员指针
  4. python 接口测试多线程_python多线程测试接口性能,就是这么简单
  5. 阿里P8架构师谈:什么是缓存雪崩?服务器雪崩的场景与解决方案
  6. 【C语言】(数组)C语言字符串中的小写字母转换为大写字母
  7. 软链接文件和硬链接文件
  8. hive中实现行转列_Hive之行转列lateral view用法
  9. Neutron中的网络I/O虚拟化
  10. can not find Artifact XXX 的原因
  11. 知识竞赛时,竞赛活动主题及环节主题如何修改?
  12. MySQL分组求和GROUP BY
  13. Linux内核子系统---内存管理子系统、进程管理子系统
  14. 60个超实用的网络技能学习平台
  15. [渝粤教育] 徐州工业职业技术学院 橡胶原材料 参考 资料
  16. python bunch制作可导入数据_Python bunch包_程序模块 - PyPI - Python中文网
  17. 打造一支有服务能力的销售队伍
  18. Liunx磁盘管理——LVM
  19. Amesim(一):amesim简介
  20. 卷积神经网络CNN常用的几个模型

热门文章

  1. Go语言连接数据库驱动安装和示例
  2. 如何成长为一名架构师
  3. 中国电动压缩机行业市场研究与预测报告(2023版)
  4. java 字符串转哈希_从哈希字符串转换字节,java与python
  5. 正则表达式判断是否mac地址 java_使用正则表达式判断字符串是否为MAC地址
  6. 关于svn的那些事:'xxx\xxx' is already locked。 或者 run 'cleanup' if it was interrupted。
  7. c++ 制作低配扫雷游戏
  8. Wi-Fi 6 网卡周期性卡顿问题解决方案AX201 160MHz和AX1650x 160MHz
  9. Android - Error: quot;java.io.IOException: setDataSource failed.: status=0x80000000quot;
  10. KEGG Pathway Anonatation