├── README.md ├── notes ├── Chapter 9 │ ├── 6.png │ ├── 7.png │ ├── 8.png │ └── Chapter 9.md ├── ch5_note.md ├── note_1.md ├── note_10.md └── note_2.md └── pdf ├── ch10_BayesianNetworks.pdf ├── ch1_and_ch2.pdf ├── ch5_note.pdf ├── ch5_slide.pdf ├── ch9_note.pdf ├── ch9_slide.pdf ├── note_1.pdf ├── note_2.pdf └── note_chap10.pdf /README.md: -------------------------------------------------------------------------------- 1 | # MLaPP 2 | 某中学CIS实验室2016年MLaPP读书会 3 | 4 | ## Schedule Table 5 | 讨论班秋季学期暂时安排如下: 6 | 7 | | 章节 | 人员安排 | 内容 | 8 | | :---: | :---: | :---: | 9 | | 引论,第1、2章 | Sun Kangming | Introduction & Probability | 10 | | 第3章 | Huang Chao| Generative models for discrete data | 11 | | 第4章 | Chen Chaoxing | Gaussian models | 12 | | 第5章 | Wu Xiaohui | Bayesian statistics | 13 | | 第6章 | Wang Peifeng | Frequentist statistics | 14 | | 第7章 | Wang Heng | Linear regression | 15 | | 第8章 | Lin Dayong | Logistic regression | 16 | | 第9章 | Zeng Hongsheng | Generalized linear models and the exponential family | 17 | | 第10章 | Zhang Xiaobin | Directed graphical models (Bayes nets) | 18 | | 第11章 | He Jiabin | Mixture models and the EM algorithm | 19 | | 第12章 | Bo Aofeng | Latent linear models | 20 | | 第13章 | Yao Renlong | Sparse linear models | 21 | | 第14章 | Yang Peng | Kernels | 22 | | 第15章 | Jiang Libin | Gaussian Process | 23 | 24 | ## Notes 25 | 26 | 实验室讨论班后会留存 notes,建议可以用 [作业部落编辑器](https://www.zybuluo.com/mdeditor),支持 markdown, Latex, 流程图等。 27 | -------------------------------------------------------------------------------- /notes/Chapter 9/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CIS2016/MLaPP/b4fbb73988cf9afcc1d7fb733499509ae06340fc/notes/Chapter 9/6.png -------------------------------------------------------------------------------- /notes/Chapter 9/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CIS2016/MLaPP/b4fbb73988cf9afcc1d7fb733499509ae06340fc/notes/Chapter 9/7.png -------------------------------------------------------------------------------- /notes/Chapter 9/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CIS2016/MLaPP/b4fbb73988cf9afcc1d7fb733499509ae06340fc/notes/Chapter 9/8.png -------------------------------------------------------------------------------- /notes/Chapter 9/Chapter 9.md: -------------------------------------------------------------------------------- 1 | #Chapter 9 2 | @(MLaPP)[MLapp] 3 | 4 | [TOC] 5 | 6 | --- 7 | 8 | --- 9 | 10 | --- 11 | 12 | ## 参考资料 13 | - [Sufficient Statistics and Exponential Family](http://people.missouristate.edu/songfengzheng/Teaching/MTH541/Lecture%20notes/Sufficient.pdf) 14 | - [CS229 machine learning](http://open.163.com/movie/2008/1/E/D/M6SGF6VB4_M6SGHKAED.html) 15 | 16 | ## 9.1 Introduction 17 | 我们之前见到的很多概率分布,例如:高斯分布、伯努利分布和伽马分布、泊松分布等,都是一个更广泛分布的成员,这个分布就是**指数家族**。这章将会介绍这类分布的特性、运用等。(*均匀分布、学生t分布不属于指数家族*) 18 | - 我们可以运用指数家族里的任何一个成员作为我们之前提到的生成模型的类条件密度(class-conditional density) 19 | - 另外,我们在这章也会讨论怎么建立一个判别模型,模型的反应变量 (response variable)具有一个指数家族分布,这个分布的均值是输入的一个线性函数,这种模型叫做**广义线性模型**,之前章节提到的 linear regression 和 logistic regression 都属于 GLMs。 20 | 21 | > 所以,这章的主要是将之前提到的分布或模型进行一般化,建立一个统一的表达形式,这样的好处就是对于通用分布/模型推导出的性质或MLE 求解形式等,这些具体的分布/模型写成通用形式后,都可以直接套用。 22 | 23 | ## 9.2 The exponential family 24 | 定义指数家族之前,先说说指数家族为什么重要: 25 | - 在一定正则条件下,指数家族是唯一具有有限数量充分统计量的分布家族,意味着可以将数据压缩成有限大小的表示,但不会损失信息。 26 | > 充分统计量:将样本加工为统计量时,信息无损失,则称此统计量为充分统计量。数学化表达: 27 | - 随机样本 $X = \{X_1, ..., X_n\}$是从分布 $f(x|\theta)$ 产生的,这个分布依赖于未知参数 $\theta$, 而我们需要从这随机样本中估计参数 $\theta$ 28 | - 统计量:样本观测的任意实值函数 $T(x) = r(X_1,...,X_n)$,例如 $E(X), max(X), median(X)$ 29 | - 充分统计量:吸收了样本关于 $\theta$ 的所有有效信息,即 $p(\theta|X) = p(\theta|T(x))$ 30 | - 例如,对于高斯分布 $\mathcal{N}(\mu, \sigma^2)$ 所生成的样本 $X$ ,其充分统计量是 $(E(X), S^2)$ 31 | *其实,在很多问题上,$\hat{\theta}$ 的 MLE 就是一个充分统计量* 32 | 33 | - 指数家族是一个共轭先验存在的家族(原文不严谨,说是唯一一个,但有一些非指数家族其实也存在共轭先验) 34 | - 在满足用户给定的约束条件下,指数家族是做出最少假设的分布。 35 | - 指数家族是广义线性模型的核心。 36 | - 指数家族是变分推断的核心。 37 | 38 | ### 指数家族定义 39 | 对于$x=(x_1,...,x_m)\in\mathcal{X}^m$ 和 $\theta \in \Theta \subseteq \mathbb{R}^d$,分布的 pdf 或 pmf 满足以下形式的即为指数家族: 40 | \begin{aligned} 41 | p(x|\theta)\ &= \frac{1}{Z(\theta)}h(x)exp[\theta^T\phi(x)]\\ 42 | &= h(x)exp[\theta^T\phi(x) - A(\theta)] 43 | \end{aligned} 44 | 其中,$Z(\theta) = \int_{\mathcal{X}_m}h(x)exp[\theta^T\phi(x)]dx$ 是归一化因子,$A(\theta) = \text{log}Z(\theta)$ 45 | - $\theta$ 被称为自然参数 (natural parameters) 或正则参数 (canonical parameters) 46 | - $\phi(x) \in \mathbb{R}^d$ 被称为充分统计量的一个向量 47 | - $Z(\theta)$ 被称为归一化函数(partition function) 48 | - $A(\theta)$ 被称为对数归一化函数(log partition function),或累积量函数(cumulant function) 49 | - h(x)是一个缩放常量,通常为1 50 | 51 | > 更一般化的写法: 52 | $$p(x|\theta)\ = h(x)exp[\eta(\theta)^T\phi(x) - A(\eta(\theta))]$$ 53 | 其中 $\eta$ 是将参数 $\theta$ 映射成自然参数 $\eta = \eta(\theta)$ 54 | - 如果$dim(\theta) < dim(\eta(\theta))$,意味着充分统计量个数比参数多,这被称为曲指数家族(curved exponential family) 55 | - 如果$dim(\theta) = dim(\eta(\theta))$,称为正则形式(canonical form), 在这本书里默认模型都是正则形式。 56 | 57 | ### 指数家族的例子 58 | - 伯努利分布 59 | 对于 $x \in \{0,1\}$,可以写成如下指数家族形式: 60 | \begin{aligned} 61 | \text{Ber}(x|\mu) &= \mu^x(1-\mu)^{(1-x)} = \text{exp}[x\text{log}(\mu) + (1-x)\text{log}(1-\mu)] \\ 62 | &= \text{exp}[\phi(x)^T\theta] 63 | \end{aligned} 64 | 其中$\phi(x) = [\mathbb{I}(x=0), \mathbb{I}(x=1)]$和$\theta = [\text{log}(\mu), \text{log}(1-\mu)]$ 65 | 但是这种表示方式是过于完备的(over-complete),因为特征之间是线性相关的: 66 | $$\mathbb{I}(x=0) + \mathbb{I}(x=1) = 1$$ 67 | 因此,$\theta$ 不是唯一可识别的,但一般要求指数家族的表达形式是最小的(minimal),意味着有唯一的 $\theta$ 对应着这个分布。 68 | 所以可以将伯努利分布写成最小形式: 69 | $$\text{Ber}(x|\mu) = (1-\mu)\text{exp}\Big[x\text{log}\big(\frac{\mu}{1-\mu}\big)\Big]$$ 70 | 所以有$\phi(x) = x, \theta=\text{log}(\frac{\mu}{1-\mu})$ 和 $Z = 1/(1-\mu)$ 71 | $A(\theta) = \text{log}Z(\theta) = \text{log}(1+e^\theta)$ 72 | 可以从自然参数 $\theta$ 还原均值参数 $\mu$: 73 | $$\mu = sigm(\theta)=\frac{1}{1+e^{-\theta}}$$ 74 | > 扩展: 75 | 一般指数家族的表达式中的充分统计量向量 $\phi(x)$ 是最小充分统计量向量时,即可得到最小的指数家族表达形式。 76 | **最小充分统计量**: 对于最小充分统计量 $S = T(X)$, 对于其他充分统计量 $T'(X)$,$T(X)$ 是 $T'(X)$ 的一个函数。 77 | *一般,参数的MLE估计就是最小充分统计量* 78 | 79 | - 单变量高斯分布 80 | 单变量高斯分布可以写成如下指数家族形式: 81 | \begin{aligned} 82 | \mathcal{N}(x|\mu, \sigma^2) &= \frac{1}{(2\pi\sigma^2)^{\frac{1}{2}}}\text{exp}[-\frac{1}{2\sigma^2}(x-\mu)^2]\\ 83 | &= \frac{1}{(2\pi\sigma^2)^{\frac{1}{2}}}\text{exp}[-\frac{1}{2\sigma^2}x^2+\frac{\mu}{\sigma^2}x - \frac{1}{2\sigma^2}\mu^2]\\ 84 | &=\frac{1}{Z(\theta)}\text{exp}(\theta^T\phi(x)) 85 | \end{aligned} 86 | 其中: 87 | $\theta = [\frac{\mu}{\sigma^2}, \frac{-1}{2\sigma^2}]^{T}$ 88 | $\phi(x)=[x, x^2]^T$ 89 | $Z(\mu, \sigma^2)=\sqrt{2\pi}\sigma\text{ exp}[\frac{\mu^2}{2\sigma^2}]$ 90 | $A(\theta) = \frac{-\theta_1^2}{4\theta_2} - \frac{1}{2}\text{log}(-2\theta_2) - \frac{1}{2}\text{log}(2\pi)$ 91 | 92 | >非指数家族例子 93 | - 均值分布,因为它的样本空间依赖于参数 94 | - 学生t分布,不能写成指数家族的表达形式 95 | 96 | ### 对数归一化函数 97 | 指数家族的一个重要性质就是对数归一化函数 $A(\theta)$ 的导数可以用来生成充分统计量的累积量 (cumulants),所以 $A(\theta)$ 也被称为累积量函数。 98 | > 补充说明 99 | 一个分布的第一和第二累计量分布是充分统计量的均值 $\mathbb{E}[X]$ 和方差 $\text{var}[X]$,而第一和第二矩 (moments) 是他们的均值 $\mathbb{E}[X]$ 和 $\mathbb{E}[X^2]$ 100 | 101 | - $A(\theta)$ 的一阶导 102 | \begin{aligned} 103 | \frac{dA}{d\theta} &= \frac{d}{d\theta}\Big(log\int \text{exp}(\theta\phi(x))h(x)dx\Big) \\ 104 | &= \frac{\frac{d}{d\theta}\int \text{exp}(\theta\phi(x))h(x)dx}{\int\text{exp}(\theta\phi(x))h(x)dx} \quad\#链式求导,先对\text{log}求导\\ 105 | &= \frac{\int\phi(x)\text{exp}(\theta\phi(x))h(x)dx}{\text{exp}(A(\theta))} \quad\#分子对\theta求导\\ 106 | &=\int\phi(x)\text{exp}(\theta\phi(x) - A(\theta))h(x)dx\\ 107 | &=\int\phi(x)p(x)dx\\ 108 | &=\mathbb{E}[\phi(x)] 109 | \end{aligned} 110 | 111 | - $A(\theta)$ 的二阶导 112 | \begin{aligned} 113 | \frac{d^2A}{d\theta^2} &= \frac{d}{d\theta}\int\phi(x)\text{exp}(\theta\phi(x)-A(\theta))h(x)dx \\ 114 | &=\int\phi(x)\text{exp}(\theta\phi(x)-A(\theta))h(x)(\phi(x)-A'(\theta))dx\\ 115 | &=\int\phi(x)p(x)(\phi(x) - A'(\theta))dx\\ 116 | &=\int\phi^2(x)p(x)dx-A'(\theta)\int\phi(x)p(x)dx \\ 117 | &= \mathbb{E}[\phi^2(x)] - \mathbb{E}[\phi(x)]^2\\ 118 | &= \text{var}[\phi(x)] 119 | \end{aligned} 120 | 121 | - 多变量情况下 122 | 可以推导出 $\triangledown^2A(\theta) = \text{cov}[\phi(x)]$ 123 | 因为协方差矩阵是正定矩阵,所以 $A(\theta)$ 是凸函数 124 | 125 | - 例子:伯努利分布 126 | 从上面可知,$A(\theta) = 1 + e^\theta$ 127 | 而伯努利分布的充分统计量向量$\phi(x) = x$ 128 | 所以均值 $\mathbb{E}(x) = \frac{dA}{d\theta} = \frac{e^{\theta}}{1+e^{\theta}} = \frac{1}{1 + e^{-\theta}} = \text{sigm}(\theta) = \mu$ 129 | 方差 $\text{var}(x) = \frac{d}{d\theta}(1+e^{-\theta})^{-1} = (1+e^{-\theta})^{-2}e^{-\theta} = (1-\mu)\mu$ 130 | 131 | ### 指数家族的MLE 132 | - 指数家族模型的似然: 133 | \begin{aligned} 134 | p(\mathcal{D}|\theta) &= \prod\limits_{i=1}^{N}p(x_i|\theta)\\ 135 | &=\Big[\prod\limits_{i=1}^Nh(x_i)\Big]g(\theta)^N\text{exp}\Big(\eta(\theta)^T[\sum\limits_{i=1}^N\phi(x_i)]\Big) 136 | \end{aligned} 137 | 其中 $g(\theta) = \frac{1}{Z(\theta)}$ 138 | 可以看出模型的充分统计量是 $N$ 和 139 | $$\phi(\mathcal{D}) = [\sum\limits_{i=1}^N\phi_1(x_i),...,\sum\limits_{i=1}^N\phi_K(x_i)]$$ 140 | 其中,$K$ 表示分布有 $K$ 个充分统计量 141 | 例如:对于伯努利模型,$\phi = [\sum_i\mathbb{I}(x_i = 1)]$,对于单变量高斯模型,$\phi = [\sum_ix_i, \sum_ix_i^2]$ (同时,我们也需要知道样本大小,$N$) 142 | 143 | > Pitman-Koopman-Darmois theorem 144 | 在一定正则条件下,指数家族是唯一一个具有有限充分统计量的分布家族,这里的有限指充分统计量的数量和样本集大小是独立的。 145 | 这个定理要求的其中一个条件就是分布的样本空间不依赖于参数(书中拿均匀分布作为例子,虽然均匀分布具有有限的充分统计量,但是它不是指数家族,因为它的样本空间依赖于参数) 146 | 147 | - 计算**正则**指数家族的模型的MLE 148 | 对于给定 $N$ 个服从 iid 的数据集 $\mathcal{D} = (x_1, ..., x_N)$ , 它的对数似然是: 149 | $$\text{log}p(\mathcal{D}|\theta) = \theta^T\phi(\mathcal{D}) - NA(\theta)$$ 150 | 可以看出这里令 $h(x) = 1$ 151 | 因为前面说过 $A(\theta)$ 是凸函数,所以 $-A(\theta)$ 是凹函数,$\theta^T\phi(\mathcal{D})$ 是 $\theta$ 的一个线性函数,所以对数似然是凹函数,因此,具有一个唯一的全局最大值。 152 | 所以进行求导: 153 | \begin{aligned} 154 | \triangledown_\theta\text{log}p(\mathcal{D}|\theta) &= \phi(\mathcal{D}) - NA'(\theta) \\ 155 | &=\phi(\mathcal{D}) - N\mathbb{E}[\phi(X)] 156 | \end{aligned} 157 | 让导数等于零,求解MLE估计: 158 | $$\mathbb{E}[\phi(X)] = \frac{1}{N}\sum\limits_{i=1}^{N}\phi(x_i)$$ 159 | 因此,在指数家族的MLE估计中,充分统计量的经验均值必须等于模型充分统计量的理论期望。这被称为矩匹配 (moment matching) 160 | 例如:在伯努利分布中,$\phi(X)=\mathbb{I}(X=1)$,所以MLE满足: 161 | $$\mathbb{E}[\phi(X)] = p(X=1) = \hat{\mu} = \frac{1}{N}\sum\limits_{i=1}^N\mathbb{I}(x_i = 1)$$ 162 | 163 | ### 指数家族的贝叶斯 * 164 | 书中说只有指数家族具有共轭先验(这里可能不是很严谨,例如均匀分布也有共轭先验:Pareto distribution) 165 | - Likelihood 166 | $$p(\mathcal{D}|\theta) \propto g(\theta)^N\text{exp}(\eta(\theta)^Ts_N)$$ 167 | 其中$s_N=\sum_{i=1}^Ns(x_i)$,另外,这里应该是假设 $h(x) = 1$ 168 | 用正则参数来表示的形式: 169 | $$p(\mathcal{D}|\eta)\propto\text{exp}(N\eta^T\bar{s} - NA(\eta))$$ 170 | 这里$\bar{s} = \frac{1}{N}s_N$ 171 | - Prior 172 | 自然共轭先验形式: 173 | $$p(\theta|\nu_0, \tau_0) \propto g(\theta)^{\nu_0}\text{exp}(\eta(\theta)^T\tau_0)$$ 174 | 可以令 $\tau_0 = \nu_0\bar{\tau}_0$,将先验伪数据的大小 $\nu_0$和伪数据充分统计量的均值$\bar{\tau}_0$分开。所以,写成正则形式是: 175 | $$p(\eta|\nu_0, \bar{\tau}_0) \propto \text{exp}(\nu_0\eta^T\bar{\tau}_0 - \nu_0A(\eta))$$ 176 | - Posterior 177 | $$p(\theta|\mathcal{D}) = p(\theta|\nu_N, \tau_N) = p(\theta|\nu_0+N, \tau_0 + s_N)$$ 178 | 因为先验是共轭的,所以我们只需要对先验和似然的超参进行叠加。写成正则形式,如下: 179 | \begin{aligned} 180 | p(\eta|\mathcal{D}) &\propto \text{exp}(\eta^T(\nu_0\bar{\tau_0} + N\bar{s})-(\nu_0+N)A(\eta))\\ 181 | &=p(\eta|\nu_0+N, \frac{\nu_0\bar{\tau}_0 + N\bar{s}}{\nu_0+N}) 182 | \end{aligned} 183 | - Posterior predictive density 184 | 这节主要讲当给定过去数据 $\mathcal{D} = (x_1,...,x_N)$, 推导未来观测值 $\mathcal{D}'= (\tilde{x}_1,...,\tilde{x}_{N'})$的通用表示。 185 | 为了符号表示的简介,我们将充分统计量和数据大小结合在一起: 186 | $\tilde{\tau}_0 = (\nu_0, \tau_0), \tilde{s}(\mathcal{D}) = (N,s(\mathcal{D})),\tilde{s}(\mathcal{D'}) = (N', s(\mathcal{D'}))$ 187 | 所以先验形式为: 188 | $$p(\theta|\tilde{\tau}_0) = \frac{1}{Z(\tilde{\tau}_0)}g(\theta)^{\nu_0}\text{exp}(\eta(\theta)^T\tau_0)$$ 189 | 这里$Z(\tilde{\tau}_0)$是归一化因子常数,之前先验表达方式是用正比符号($\propto$),意味着是未归一化的。和之前定义的指数家族表达形式对比可知,这里的$\frac{1}{Z(\tilde{\tau}_0)}$ 等同于 $h(x)$。 190 | 似然和后验的形式类似,因此 191 | \begin{aligned} 192 | p(\mathcal{D'}|\mathcal{D}) &= \int p(\mathcal{D'}|\theta)p(\theta|\mathcal{D})d\theta\\ 193 | &=\int\Big[\prod\limits_{i=1}^{N'}h(\tilde{x}_i)\Big]g(\theta)^{N'}\text{exp}(\eta(\theta)^Ts(D'))\\ 194 | &\quad * \frac{1}{Z(\tilde{\tau}_0 + \tilde{s}(\mathcal{D}))}g(\theta)^{\nu_0+N}\text{exp}(\eta(\theta)^T(\tau_0 + s(\mathcal{D})))d\theta\\ 195 | &=\Big[\prod\limits_{i=1}^{N'}h(\tilde{x}_i)\Big]\frac{1}{Z(\tilde{\tau}_0 + \tilde{s}(\mathcal{D}))}\\ 196 | &\quad*\int g(\theta)^{N' + \nu_0+N}\text{exp}(\eta(\theta)^T(s(\mathcal{D'}) + \tau_0 + s(\mathcal{D})))d\theta\\ 197 | &=\Big[\prod\limits_{i=1}^{N'}h(\tilde{x}_i)\Big]\frac{Z(\tilde{\tau}_0 + \tilde{s}(\mathcal{D}) + \tilde{s}(\mathcal{D'})}{Z(\tilde{\tau}_0 + \tilde{s}(\mathcal{D}))}\\ 198 | \end{aligned} 199 | 200 | 如果 $N=0$, 上面等于 $\mathcal{D'}$ 的边界似然 $p(\mathcal{D'})$,表达形式简化成第5章中的公式(5.18): 201 | $$p(\mathcal{D}) = \frac{Z_N}{Z_0Z_\ell}$$ 202 | 203 | ### 最大熵的指数家族推导 * 204 | > 熵(Entropy): $H(P) = -\sum_xp(x)\text{log}p(x)$ 205 | 熵,指对不确定性的度量;在信息论中,熵也代表着根据信息的概率分布对信息编码所需要的最短平均编码长度。 206 | 207 | > 最大熵(Maximum Entropy)原理:给定关于一个分布 $P$ 的一些约束(先验信息),我们考虑所有满足约束条件的分布,且信息熵最大的分布 $P$ 208 | 209 | 下面我们会推导出在给定一些特定约束条件下,做出最少关于数据的假设,即满足最大熵的分布也是属于指数家族的。 210 | - Step 1 211 | 假设我们所知道的是一些特征或函数的期望。(先验信息) 212 | $$\sum\limits_{x}f_k(x)p(x) = F_k$$ 213 | 其中,$F_k$ 是已知常数,$f_k(x)$ 是一个任意函数 214 | - Step 2 215 | 转化成带约束优化问题,目标函数是熵 $H(P)$,约束条件有上面的等式、$p(x) \geq 0$ 和 $\sum_xp(x) = 1$,用拉格朗日乘子法求解: 216 | $$J(p,\lambda)=-\sum\limits_{x}p(x)\text{log}p(x) + \lambda_0(1-\sum\limits_{x}p(x)) + \sum\limits_{k}\lambda_k(F_k-\sum\limits_xp(x)f_k(x))$$ 217 | - Step 3 218 | 进行求导: 219 | \begin{aligned} 220 | \frac{\partial J}{\partial p(x)} = -\text{log}p(x) - 1 - \lambda_0 - \sum\limits_k\lambda_kf_k(x) 221 | \end{aligned} 222 | - Step4 223 | 令导数为零: 224 | $$\text{log}p(x) = -1 - \lambda_0 - \sum\limits_k\lambda_kf_k(x)$$ 225 | $$p(x) = \text{exp}(-1-\lambda_0)\text{exp}(-\sum\limits_k\lambda_kf_k(x))$$ 226 | $$p(x) = \frac{1}{Z}\text{exp}(-\sum\limits_k\lambda_kf_k(x))$$ 227 | 其中 $Z$ 是归一化常数,根据 $\sum\limits_xp(x) = 1$,可以推出 $Z = \sum\limits_x\text{exp}(-\sum\limits_k\lambda_kf_k(x))$ 228 | 最后,可以看出满足最大熵的分布 $p(x)$ 是指数家族形式的分布,称为Gibbs分布。 229 | 230 | ## 9.3 Generalized linear models (GLMs) 231 | ### 定义 232 | 广义线性模型的定义如下: 233 | - 反应(输出)变量是服从指数家族分布,即 $p(y|x;w) \sim \text{ExpFamily}(\theta)$ 234 | - 这个分布的均值参数是输入的一个线性组合,可能通过一个非线性函数,即 $\mu = \mathbb{E}(y) = \eta(w^Tx)$ 235 | *备注:在cs229课程中,Ng说这里 $\mathbb{E}(y)$ 应该是充分统计量均值 $\mathbb{E}(\phi(y))$, 但因为考虑到一般 $\phi(y) = y$* 236 | 237 | ### 构建表达式 238 | >*备注:为了符号简便,本章主要讨论输出是标量的情况(这排除了multinomial logistic regression)* 239 | 240 | 我们先考虑标量输出的、没有限制的 GLMs 表达式: 241 | $$p(y_i|\theta,\sigma^2) = \text{exp}\Big[\frac{y_i\theta-A(\theta)}{\sigma^2}\Big]+c(y_i,\sigma^2)$$ 242 | - $\sigma^2$ 是离散参数(dispersion parameter), 经常设为1 243 | - $\theta$ 是自然参数, 即对应指数家族分布的$\theta$ 244 | - $A$ 是归一化函数 (partition function),即对应指数家族分布的 $A(\theta)$ 245 | - $c$ 是一个归一化常量 246 | 247 | ### 参数定义和转换 248 | --- 249 | 250 | 1. 用函数 $\psi$ 将均值参数转化成自然参数,即 251 | $$\theta = \psi(\mu)$$ 252 | 这个函数由指数家族分布的形式唯一确定。事实上,这个函数是可逆的,所以有 253 | $$\mu = \psi^{-1}(\theta) = A'(\theta)$$ 254 | 2. 考虑输入,定义一个输入的线性函数: 255 | $$\eta_i = w^Tx_i$$ 256 | 3. 现在让分布的均值参数等于上面线性组合的某个可逆单调函数,这个函数被称为均值函数 (mean function),写成 $g^{-1}$,故: 257 | $$u_i = g^{-1}(\eta_i) = g^{-1}(w^Tx_i)$$ 258 | 均值函数的逆函数 $g()$,被称为联结函数 (link function): 259 | $$\eta_i = g(\mu_i)$$ 260 | 我们可以自由选择任意函数 $g$,只要它是可逆的,并且 $g^{-1}$ 具有一个合适的取值区间(*这里只要考虑 $y$ 的取值区间*)。以 logistic regression 为例,我们令 $\mu_i = g^{-1}(\eta_i) = sigm(\eta_i) = sigm(w^Tx)$ 261 | 262 | 参数之间的转换关系如下图: 263 | ![Alt text](./6.png) 264 | 265 | --- 266 | ### 正则联结函数 267 | 联结函数的一个相当简单的形式就是 $g = \psi$,这被称为正则联结函数 (canonical link function),在这种情况下,因为 $\mu = \psi^{-1}(\theta) = g^{-1}(\eta_i)$, 所以 $\theta_i = \eta_i = w^Tx_i$,故GLMs 的表达式可以写成: 268 | $$p(y_i|x_i,w,\sigma^2) = \text{exp}\Big[\frac{y_iw^Tx_i-A(w^Tx_i)}{\sigma^2} + c(y_i, \sigma^2)\Big]$$ 269 | 270 | 下面列出了一些分布的正则联结函数: 271 | |分布|联结函数 $g(\mu)$|$\theta = \psi(\mu)$|$\mu = \psi^{-1}(\theta) = \mathbb{E}[y]$| 272 | |:---|:---|:---|:---| 273 | |$\mathcal{N}(\mu, \sigma^2)$|identity|$\theta=\mu$|$\mu = \theta$| 274 | |$\text{Bin}(N, \mu)$|logit|$\theta = \text{log}(\frac{\mu}{1-\mu})$|$\mu = \text{sigm}(\theta)$| 275 | |$\text{Poi}(\mu)$|log|$\theta = \text{log}(\mu)$|$\mu = e^\theta$| 276 | 277 | ### 输出变量的均值和方差 278 | 从指数家族部分可知: 279 | $\mathbb{E}[y|x_i, w, \sigma^2] = \mu_i = A'(\theta_i)$ 280 | $\text{var}[y|x_i, w, \sigma^2] = \sigma_i^2 = A''(\theta_i)\sigma^2$ 281 | 282 | 下面用具体例子进行验证: 283 | - 对于 linear regression, 使用正则联结函数,则 $\theta_i = u_i$,所以GLMs: 284 | \begin{aligned} 285 | p(y_i|x_i,w,\sigma^2)\ &= \frac{1}{(2\pi\sigma^2)^{\frac{1}{2}}}\text{exp}[-\frac{1}{2\sigma^2}(y_i-\mu_i)^2]\\ 286 | &=\text{exp}\Big[\frac{-\frac{1}{2}y_i^2+\mu_iy_i - \frac{1}{2}\mu_i^2}{\sigma^2} + \text{log}\big(\frac{1}{(2\pi\sigma^2)^{\frac{1}{2}}}\big)\Big]\\ 287 | &=\text{exp}\Big[\frac{\mu_iy_i - \frac{1}{2}\mu_i^2}{\sigma^2} - \frac{1}{2}\big(\frac{y_i^2}{\sigma^2} + \text{log}(2\pi\sigma^2)\big)\Big]\\ 288 | \end{aligned} 289 | 其中 $\theta_i = \mu_i = w^Tx_i$ 290 | 因为 $A(\theta) = \frac{1}{2}\theta^2$,所以 $\mathbb{E}[y_i] =A'(\theta_i) = \mu_i$, $\text{var}[y_i] = A''(\theta_i)\sigma^2 = \sigma^2$ 291 | 292 | - 书中还有binomial regression 和 poisson regression两个例子,这里就不推理了。 293 | 294 | ### MLE 和 MAP 估计 295 | **GLMs 的一个极好的属性就是我们可以用拟合(估计参数) logistic regression 一样的方法去拟合 GLMs 模型。** 296 | 297 | 1. 写出GLMs 的对数似然如下: 298 | $$\ell(w) = \text{log}p(\mathcal{D}|w) = \frac{1}{\sigma^2}\sum\limits_{i=1}^N\ell_i$$ 299 | 其中 300 | $$\ell_i \triangleq \theta_iy_i - A(\theta_i)$$ 301 | 另外,因为 $c(y, \sigma^2)$ 是归一化常量,所以这里省去。 302 | 2. 求梯度向量 303 | 我们用首先用链式法则求解单个样本的梯度向量: 304 | \begin{aligned} 305 | \frac{d\ell_i}{dw_j} \ &= \frac{d\ell_i}{d\theta_i}\frac{d\theta_i}{d\mu_i}\frac{d\mu_i}{d\eta_i}\frac{d\eta_i}{dw_j}\\ 306 | &= (y_i - A'(\theta_i))\frac{d\theta_i}{d\mu_i}\frac{d\mu_i}{d\eta_i}x_{ij} \\ 307 | &= (y_i - \mu_i)\frac{d\theta_i}{d\mu_i}\frac{d\mu_i}{d\eta_i}x_{ij} 308 | \end{aligned} 309 | 如果我们使用正则联结函数,则 $\theta_i = \eta_i$,有: 310 | $$\frac{d\theta_i}{d\mu_i}\frac{d\mu_i}{d\eta_i} =\frac{d\theta_i}{d\mu_i}\frac{d\mu_i}{d\theta_i} = 1$$ 311 | 所以简化成: 312 | $$\frac{d\ell_i}{dw_j} = (y_i - \mu_i)x_{ij}$$ 313 | 所以对于整个样本集的对数似然梯度如下: 314 | $$\triangledown_w\ell(w) = \frac{1}{\sigma^2}\sum\limits_{i=1}^N(y_i-\mu_i)x_i$$ 315 | 求解完梯度后我们就可以用梯度下降等方法来拟合模型,但是,我们一般会使用二阶导来提高效率。 316 | 3. 求二阶导 317 | 如果我们用正则联结函数,则单个样本二阶导如下: 318 | \begin{aligned} 319 | \frac{d^2\ell_i}{dw_j^2} \ &= \frac{d(y_i-\mu_i)x_{ij}}{dw_j}\\ 320 | &= -\frac{du_ix_{ij}}{dw_j}\\ 321 | &= -(\frac{du_i}{dw_j}x_{ij} + u_i\frac{dx_{ij}}{dw_j})\\ 322 | &= -(\frac{du_i}{d\eta_i}\frac{d\eta_i}{dw_j}x_{ij} + 0)\\ 323 | &= -\frac{du_i}{d\eta_i}x_{ij}x_{ij}\\ 324 | &= -\frac{du_i}{d\theta_i}x_{ij}x_{ij}\\ 325 | \end{aligned} 326 | 故整个样本集求导得到的海森矩阵如下: 327 | $$H = -\frac{1}{\sigma^2}\sum\limits_{i=1}^N\frac{d\mu_i}{d\theta_i}x_ix_i^T = -\frac{1}{\sigma^2}X^TSX$$ 328 | 其中 $S = \text{diag}(\frac{d\mu_1}{d\theta_1}, ..., \frac{d\mu_N}{d\theta_N})$ 是对角权重矩阵。 329 | 求出海森矩阵后,我们就可以用 8.3.4 节提到的 IRLS 算法来求解 GLMs 的MLE,具体的牛顿更新公式如下: 330 | $$w_{t+1} = (X^TS_tX)^{-1}X^TS_tz_t$$ 331 | 其中,$z_t = \theta_t + S_t^{-1}(y-\mu_t)$ 332 | 333 | > 扩展:对于不是使用正则联结函数的模型,得到的海森矩阵是另外一种表达式,但是,期望海森矩阵 (known as the Fisher information matrix) 是一样的形式,所以我们可以用期望海森矩阵来替代真实海森矩阵,这种方法叫做 Fisher scoring method 334 | 335 | 4. 对于 MAP 估计,我们可以直接加入高斯先验,然后只需要简单修改目标函数、梯度和海森矩阵,就像 8.3.6 节我们在logistic regression 模型中加入 $\ell_2$ 正则项。 336 | 337 | ### 贝叶斯估计 338 | GLMs 模型的贝叶斯估计通常使用MCMC,也可能使用Gaussian approximation等方法。 339 | 340 | >**总结:** 341 | 用 GLMs 模型解决问题的一般步骤: 342 | - 根据具体问题类型,选择指数家族中的合适分布 343 | - 根据 y 的取值范围选择联结函数 $g$,或使用正则联结函数 344 | - 进行 MLE 或 MAP 估计,直接代入通用的梯度或海森矩阵表达式,用迭代方法进行参数估计 345 | 346 | ## 9.4 Probit regression 347 | 在 logistic regression 中,我们构建了 $p(y=1|x_i, w) = \text{sigm}(w^Tx_i)$ 的模型,其实我们可以写成 $p(y = 1, x_i, w) = g^{-1}(w^Tx_i)$,均值函数 $g^{-1}$ 可以是任意函数,只要它将 $[+\infty, -\infty]$ 映射成 [0,1],下表列举了一些可能的均值函数。 348 | |Name|Formula| 349 | |:---|:---| 350 | |Logistic|$g^{-1}(\eta) = \text{sigm}(\eta) = \frac{e^\eta}{1+e^\eta}$| 351 | |Probit|$g^{-1}(\eta) = \Phi(\eta)$| 352 | |Log-log|$g^{-1}(\eta)=\text{exp}(-\text{exp}(-\eta))$| 353 | |Complementary log-log|$g^{-1}(\eta) = 1 - \text{exp}(-\text{exp}(\eta))$| 354 | 在这一节,我们主要考虑 $g^{-1}(\eta) = \Phi(\eta)$ 的情况,其中 $\Phi(\eta)$ 是正态分布的cdf,这也被称为 Probit regression。probit 函数和logistic 函数很相似,如下图,但这个模型比 logistic 模型有一些更好的优势。 355 | ![Alt text](./7.png) 356 | 357 | ### 基于梯度优化的 MLE/MAP 估计 358 | - 构建模型 359 | 符号声明:$\Phi$ 是正态分布的cdf;$\phi$ 是正态分布的pdf,是 $\Phi$ 的导数 360 | 令 $\mu_i = w^Tx_i$,$\tilde{y_i} \in \{-1,1\}$,则有: 361 | $$p(\tilde{y} = 1|w^Tx_i) = \Phi(w^Tx_i) = \Phi(\mu_i)$$ 362 | $$p(\tilde{y} = -1|w^Tx_i) = 1 - \Phi(w^Tx_i) = 1 - \Phi(\mu_i) = \Phi(-\mu_i)$$ 363 | 合并上面两个等式,可得: 364 | $$p(\tilde{y}|w^Tx_i) = \Phi(\tilde{y}w^Tx_i) = \Phi(\tilde{y}\mu_i)$$ 365 | - 所以对于一个样本的对数似然的梯度表达式是: 366 | \begin{aligned} 367 | g_i \ &\triangleq \frac{d}{dw}\text{log}p(\tilde{y}_i|w^Tx_i)\\ 368 | &= \frac{d}{dw}\text{log}\Phi(\tilde{y}_i\mu_i)\\ 369 | &= \frac{d\mu_i}{dw}\frac{d}{d\mu_i}\text{log}\Phi(\tilde{y}_i\mu_i)\\ 370 | &=x_i\frac{\tilde{y}_i\phi(\tilde{y}_i\mu_i)}{\Phi(\tilde{y}_i\mu_i)}\quad\quad\#\ \phi(-\mu_i) = \phi(\mu_i)\\ 371 | &=x_i\frac{\tilde{y}_i\phi(\mu_i)}{\Phi(\tilde{y}_i\mu_i)} 372 | \end{aligned} 373 | - 类似地,单个样本的海森矩阵如下: 374 | $$H_{i} = \frac{d}{dw^2}\text{log}p(\tilde{y_i}|w^Tx_i) = -x_i\Big(\frac{\phi(\mu_i)^2}{\Phi(\tilde{y}_i\mu_i)^2}+\frac{\tilde{y}_i\mu_i\phi(\mu_i)}{\Phi(\tilde{y}_i\mu_i)}\Big)x_i^T$$ 375 | - 对于 MAP 估计,我们只需要直接简单地修改表达式即可。具体地,如果我们使用高斯先验 $p(w) = \mathcal{N}(0, V_0)$,则正则化对数似然的梯度和海森矩阵的形式分别为 $\sum_ig_i + 2V_0^{-1}w$ 和 $\sum_iH_i + 2V_0^{-1}$,这些表达形式都可以使用基于梯度的优化求解方法。 376 | 377 | ### 隐变量解读 (Latent variable interpretation) 378 | 我们可以用以下的方式解读 probit 和 logistic 模型,首先让每个样本 $x_i$ 都关联两个潜在效用 (latent utilities),$u_{0i}$ 和 $u_{1i}$,分别对应着 $y_i = 0$ 和 $y_i = 1$ 的可能选择。然后我们假定输出选择取决于那个输出具有更大的效用 (utility),具体如下: 379 | $$u_{0i} \triangleq w_0^Tx_i + \delta_{0i}$$ 380 | $$u_{1i} \triangleq w_1^Tx_i + \delta_{1i}$$ 381 | $$y_i = \mathbb{I}(u_{1i} > u_{0i})$$ 382 | 其中 $\delta$ 是误差项,这个被称为随机效能模型 (random utility model, RUM) 383 | 定义 $z_i = w_1^Tx_i - w_0^Tx_i + \epsilon_i$,其中 $\epsilon_i = \delta_{1i} - \delta_{0i}$ 384 | 如果 $\delta$ 服从高斯分布,则 $\epsilon$ 也服从,所以有: 385 | $$z_i\triangleq w^Tx_i + \epsilon_i$$ 386 | $$\epsilon_i \sim \mathcal{N}(0,1)$$ 387 | $$y_i = 1 = \mathbb{I}(z_i \geq 0)$$ 388 | 这被称为变种RUM (difference RUM, dRUM) 389 | 我们可以边缘化 $z_i$, 从而得到 probit 模型: 390 | \begin{aligned} 391 | p(y_i=1|x_i, w)\ &=p(\mathbb{I}(z_i \geq 0)|x_i, w)\\ 392 | &= \int\mathbb{I}(z_i \geq 0)\mathcal{N}(z_i|w^Tx_i, 1)dz_i\\ 393 | &= p(z_i \geq 0)\\ 394 | &= p(w^Tx_i + \epsilon \geq 0)\\ 395 | &= p(\epsilon \geq -w^Tx_i)\\ 396 | &=1 - \Phi(-w^Tx_i)\\ 397 | &=\Phi(w^Tx_i) 398 | \end{aligned} 399 | 这种隐变量的解读方式提供了另外一种拟合模型的方法,具体会在 11.4.6 讨论。 400 | **如果我们对 $\delta$ 使用一个耿贝尔分布 (Gumbel distribution),我们将会推出 $\epsilon$ 服从 logistic 分布,模型将会变成 logistic regression** 401 | 402 | ### Ordinal probit regression 403 | Probit regressiion 的隐变量解读方式的一个好处就是可以方便地扩展到响应变量是有序的情况(即响应变量可以取 C 个离散值,这些离散值是可以用某种方式进行排序的,例如:低,中,高)。这被称为有序回归 (ordinal regression)。 404 | >思考:其实我们可以直接用无序的方式构建模型(多分类模型),来解决这个有序问题,但这样在训练数据时会丢失 label 之间的顺序信息。 405 | 例如,当你真实 label 是 “低”时,在无序模型里它可能输出“中”和“高”是一样概率的,但在有序模型里,输出“中”的概率是要比“高”要大的。 406 | 407 | 基本思路如下,我们引入 $C+1$ 个阈值 $\gamma_j$,然后令: 408 | $$y_i = j \quad\text{if}\quad \gamma_{j-1} < z_i \le \gamma_{j}$$ 409 | 其中,$\gamma_0 \leq \cdots \leq \gamma_C$,基于易于辨识的原因,我们令 $\gamma_0 = -\infty, \gamma_1 = 0, \gamma_C = \infty$ 410 | 例如,如果 $C = 2$ ,这就简化成标准的二元 Probit 模型,$z_i \leq 0$ 产生 $y_i =0$,$z_i > 0$ 产生 $y_i = 1$ 411 | 如果 $C = 3$,我们将实线分成3个区间:$(-\infty, 0], (0, \gamma_2], (\gamma_2, \infty)$,我们可以让 $\gamma_2$ 取不同的值来使得对应标签的概率密度落在相应的区间里。 412 | 413 | 对有序 probit 模型进行MLE估计会比二元 probit 模型更加困难,因为我们需要优化参数 $w$ 和 $\gamma$,而且 $\gamma$ 还需要满足有序的约束条件。可以采用一种基于EM的算法或Gibbs采样算法等。 414 | 415 | ## 9.5 Multi-task learning 416 | 有时候,我们需要拟合一些相关的分类或回归问题。通常可以合理地假设这些不同的模型有一个相似的输入输出映射,所以我们可以通过同时拟合所有的参数来达到更好地效果。(例如,我们需要预测每个学校的学生成绩分布,我们可以对所有学校的参数进行一起拟合)。在机器学习里,这一般称为多任务学习 (multi-task learning),迁移学习 (transfer learning),Learning to learn。在统计学中,这通常使用层次贝叶斯 (Hierarchical Bayesian) 进行求解,我们下面将会详细讨论。 417 | 418 | ### 多任务学习的层次贝叶斯 419 | 令 $y_{ij}$ 是第 $i$ 个物体在 $j$ 群组的输出变量,其中 $i = 1:N_j$ 且 $j = 1:J$,例如 $j$ 可以是学校的索引,$i$ 可以是一个学校当中的学生索引,$y_{ij}$ 可以是测试分数。 420 | 令 $x_{ij}$ 是和 $y_{ij}$ 关联的特征向量。我们的目的就是拟合模型 $p(y_j|x_j)$ 对于所有的 $j$ 421 | > 思路:尽管有一些群组具有很多数据,但可能大多数群组只有很少数据,所以我们不能可靠地对群组分别去拟合不同的模型,但我们也不想使用对所有群组使用同一个模型。所以,作为折中,我们可以对每个群组分别拟合一个模型,但鼓励所有的模型具有一个相似的参数。 422 | 423 | 具体地,假定 $\mathbb{E}[y_{ij}|x_{ij}] = g(x^T_{ij}\beta_j)$,其中 $g$ 是 GLM 的联结函数,然后,假定 $\beta_j \sim \mathcal{N}(\beta_*, \sigma^2_j\text{I})$ 和 $\beta_*\sim \mathcal{N}(\mu, \sigma^2_*\text{I})$,在这个模型中,数据量小的群组可以借用数据量大的统计强度,因为所有 $\beta_j$ 通过隐藏共同上级 $\beta_*$ 而关联在一起。其中 $\sigma^2_j$ 控制群组 $j$ 依赖于共同上级的程度,$\sigma^2_*$ 控制总体先验的强度。 424 | 425 | 为了简化,假定 $\mu = 0$ 且 $\sigma_j^2$ 和 $\sigma_*^2$ 是已知的,则整个对数概率如下: 426 | $$\text{log }p(\mathcal{D}|\beta) + \text{log }p(\beta) = \sum\limits_j\Big[\text{log }p(\mathcal{D_j|\beta_j}) - \frac{||\beta_j - \beta_*||^2}{2\sigma^2_j}\Big] - \frac{||\beta_*||^2}{2\sigma^2_*}$$ 427 | 直观上理解,$\frac{||\beta_j - \beta_*||^2}{2\sigma^2_j}$ 是为了让所有 $\beta_j$ 相似的正则项,$\frac{||\beta_*||^2}{2\sigma^2_*}$是整体的 $\ell_2$ 正则项,会鼓励 $\beta_*$ 趋近于0,同时通过前面的正则项,也会使得所有 $\beta_j$ 趋近于0 428 | 429 | 我们可以使用标准的梯度方法来进行 $\beta = (\beta_{1:J, }\beta_*)$ 的 MAP 估计。另外,也可以使用一种反复优化机制,交替优化 $\beta_j$ 和 $\beta_*$,因为似然和先验都是凸的,所以能保证收敛到全局最优。 430 | > 一旦我们训练好模型后,我们就可以丢弃 $\beta_*$ ,分别使用每个模型。 431 | 432 | ### 运用到个人垃圾邮件过滤 433 | 多任务学习的一个有趣运用是个人垃圾邮件。假定我们想要对每个用户拟合一个分类器,$\beta_j$。因为大多数用户都没有标注自己那些邮件是垃圾邮件,那些不是,所以很难独立地拟合这些模型。所以,我们让 $\beta_j$ 有一个共同的先验 $\beta_*$,代表通用用户的参数。 434 | 435 | 在这种情况下,我们可以使用一个简单的 trick 来模拟上面的模型,我们将每个特征都拷贝两份,一个关联用户id,另一个不关联。所以我们将学习到如下的预测器的表达形式: 436 | $$\mathbb{E}[y_i|x_i,\mu] = (\beta_*,w_1,\cdots,w_J)^T[x_i,\mathbb{I}(u=1)x_i,\cdots,\mathbb{I}(u=J)x_i]$$ 437 | 其中 $u$ 是用户id,也就是说: 438 | $$\mathbb{E}[y_i|x_i,u=j] = (\beta_*^T + w_j)^Tx_i$$ 439 | 其中 $\beta_*$ 将会利用每个人邮件中来估计,而 $w_j$ 则只会利用用户 $j$ 中的邮件来估计。 440 | 为了发现和上面提到的层次贝叶斯的关系,我们定义 $w_j = \beta_j - \beta_*$,则模型的对数概率可以写成如下形式: 441 | $$\sum\limits_j\Big[\text{log }p(\mathcal{D}_j|\beta_* + w_j) - \frac{||w_j||^2}{2\sigma_j^2}\Big] - \frac{||\beta_*||^2}{2\sigma^2_*}$$ 442 | 443 | ### 运用到领域自适应 444 | **领域自适应**:基于不同领域的数据训练一些不同的分类器,是多任务学习的一个特例,但它的不同任务只是领域有区别而已。 445 | 例如,NLP 中的命名实体识别,我们需要在不同领域的数据构建不同的实体分类模型,例如,在外国电影领域中,“夏洛特烦恼”中的“夏洛特”应该被识别为一个姓名,而在中国电影领域里,“夏洛”应该被识别为姓名。 446 | > 思路:跟多任务学习模型类似,会构建一个上层通用参数,然后再在每个领域构建一个领域特定参数。 447 | 训练时,每个领域的数据都会影响到上层通用参数。 448 | 预测时,当上层通用参数的证据很自信,而领域特定参数的证据只有一点自信或没有时,则预测值由上层通用参数决定;当上层通用参数和领域特定参数的证据都很自信时,由领域特定参数决定预测值。 449 | 450 | ## 9.7 Learning to rank * 451 | 这节主要讨论学习排名(learning to rank, LETOR) 问题。(*书中说这节可能跟 GLMs 没太大关系,但因为没有更好的地方放这一节内容,所以就放这了。。。*) 452 | Learning to rank 就是要学习一个可以对一些事物进行排序的函数 (ranking 模型)。最常见的运用就是信息检索 (Information retrieval),信息检索的一般流程如下: 453 | ```flow 454 | st=>start: query 455 | e=>end: 返回前k个文档给用户 456 | op1=>operation: 寻找跟query可能相关文档集(例如包含query字符串的文档) 457 | op2=>operation: 用训练好的 ranking 模型对文档集进行相关性降序排序 458 | 459 | st->op1->op2->e 460 | ``` 461 | > 462 | - 传统的 rangking 模型是不需要训练的 (例如,可以通过统计文档 $d_j$ 中出现query词汇的个数) 463 | - 但现在流行用机器学习的方法来自动构建 ranking 模型,因为现在有越来越多的特征信号可以用来代表相关性,例如 文档相似度、PageRank、query在文档出现位置等,所以需要学习一个以这些相关性特征作为输入,自动输出排名的模型。 464 | 465 | 在这些计算相关性的方法中,一个标准的方法来测量一个文档 $d$ 相对于查询 $q$ 的相关性方法是使用一个基于词袋模型的概率语言模型 (probabilistic language model)。 466 | 具体地,定义 $sim(q,d) \triangleq p(q|d) = \prod_{i=1}^np(q_i|d)$,其中 $q_i$ 是查询的第 $i$ 个词语。而对于 $p(q_i|d)$ 我们可以用下面表达式进行估计: 467 | $$p(t|d) = (1-\lambda)\frac{\text{TF}(t,d)}{\text{LEN}(d)} + \lambda p(t|\text{background})$$ 468 | - $\text{TF}(t,d)$ 是词语 $t$ 在文档 $d$ 出现的频率 469 | - $\text{LEN}(d)$ 是文档的不同词汇数量 470 | - $p(t|\text{background})$ 是平滑项,关于词汇 $t$ 的先验知识。 471 | - $0 < \lambda < 1$ 是平滑参数 472 | 473 | --- 474 | > 475 | 下面我们将会讨论如何学习组合这些所有的相关性信号,即有了这些相关性特征后,我们怎么构建、训练模型。 476 | 477 | ### 逐点方法 (The pointwise approach) 478 | - 符号定义 479 | 假定我们收集了一些训练数据,对应每个查询的一些文档集的相关性。具体地,对于每个查询 $q$,假定我们检索出 $m$ 个可能的相关文档 $d_j, \text{for } j = 1:m$。对于每个查询和文档对,我们定义一个特征向量 $x(q,d)$,例如这可能包含了查询和文档的相似度分数和PageRank分数等。假定我们有 label 集合 $y_j$,代表文档 $d_j$ 相对于查询 $q$ 的相关性度数。这些标签可以是二元(相关/不相关),也可以是多元的,代表相关性的程度(非常相关,相关,不相关)。这些标签可以从查询日志得到,对于给定一个查询,可以根据文档的点击次数来划分标签。 480 | - 构建模型 481 | - 对于二元相关标签,我们可以用标准的二元分类机制来估计 $p(y=1|x(q,d))$ 482 | - 对于有序相关性标签,我们可以使用有序回归来预测排名,$p(y=r|x(q,d))$ 483 | 对于这两种情况,我们都可以通过概率大小对文档进行排序。这被叫做 LETOR 的逐点方法,因为比较简单,所以具有广泛运用。 484 | - 缺点: 485 | - 没有考虑每个文档在相关性列表中的位置,例如在训练时,两个文档都被标注为相关,但是它们相关性程度的不同的信息被丢失了。 486 | - 训练数据噪声会比较大。例如对于罕见的查询,它排在前面的一些文档可能都没什么相关性,但对于常见的查询,它排在后面的一些文档可能都具有很大的相关性。 487 | - 预测一个query的复杂度:$O(m)$ 488 | ### 成对方法 (The pairwise approach) 489 | - 构建模型 490 | 有证据表明:相对于一个事物的绝对相关性,人们能更好地判断两个事物的相对相关性。因此,数据更可能告诉我们对于一个查询,文档 $d_j$ 比文档 $d_k$ 更相关,或相反。我们可以用一个形式为 $p(y_{jk}|x(q,d_j), x(q,d_k)$二元分类器来对这类数据进行建模,其中 $y_{jk} = 1$ 如果 $\text{rel}(d_j,q) > \text{rel}(d_k, q)$,否则 $y_{jk} = 0$,一个具体的建模方式如下: 491 | $$p(y_{jk} = 1|x_j, x_k) = \text{sigm}(f(x_j) - f(x_k))$$ 492 | 其中,$f(x)$ 是一个评分函数,经常设为线性函数,即 $f(x) = w^Tx$ 493 | 这是一种特殊的神经网络,称为 RankNet 494 | - MLE 估计 495 | 我们可以通过最大化对数似然进行参数 $w$ 的 MLE 估计,即等价于最小化交叉熵,其表达式如下: 496 | $$L = \sum\limits_{i=1}^{N}\sum\limits_{j=1}^{m_i}\sum\limits_{k=j+1}^{m_i}L_{ijk}$$ 497 | \begin{aligned} 498 | -L_{ijk} =\ &\mathbb{I}(y_{ijk} = 1)\text{log}p(y_{ijk} = 1|x_{ij}, x_{ik}, w)\\ 499 | &+\mathbb{I}(y_{ijk} = 0)\text{log}p(y_{ijk} = 0|x_{ij}, x_{ik}, w)\\ 500 | \end{aligned} 501 | 可以用梯度下降的方法进行优化。RankNet 的一个变种被运用到微软的 Bing 搜索引擎中。 502 | - 缺点 503 | 决策是只基于成对相关性的比较,但没有考虑整个列表的排序。 504 | - 预测一个 query 的复杂度:$O(m^2)$ 505 | ### 成列方法 (The listwise approach) 506 | 成列方法是训练时同时将整个文档列表一起考虑。 507 | - 构建模型 508 | 定义 $\pi$ 是文档列表的某一排序顺序,为了对 $\pi$ 的不确定性建模,我们用 $Plackett-Luce$ 分布,其形式如下: 509 | $$p(\pi|s) = \prod\limits_{j=1}^m\frac{s_j}{\sum_{u=j}^ms_u}$$ 510 | 其中 $s_j = s(\pi^{-1}(j))$ 是排在第 $j$ 位置文档的相关性分数 511 | 为了更好地理解上式,我们举个例子,例如 $\pi = (A,B,C)$,则 512 | $p(\pi)$ = ($A$ 排在第一位的概率) * (给定 $A$ 排在第一位, $B$ 排在第二位的概率) * (给定 $A$ 、$B$ 分别排在第一位和第二位,$C$ 排在第三位的概率) 513 | $$p(\pi|s) = \frac{s_A}{s_A + s_B + s_C}*\frac{s_B}{s_B + s_C}*\frac{s_C}{s_C}$$ 514 | >*我们可以很容易看出当 $\pi$ 是按照相关性分数 $s$ 进行降序排序时, $p(\pi)$ 最大* 515 | 516 | 为了考虑进特征,我们可以定义 $s(d) = f(x(q,d))$,我们经常定义 $f$ 是一个线性函数,$f(x) = w^Tx$,这被称为 ListNet 模型。 517 | - 模型参数估计 518 | 为了训练模型,我们可以让 $y_i$ 是对于查询 $q$ 的真实相关性分数,然后用最小化交叉熵: 519 | $$-\sum\limits_i\sum\limits_\pi p(\pi|y_i)\text{log}(\pi|s_i)$$ 520 | 但是显然这是不可计算,因为第 $i$ 个query 需要 $m_i!$ 的排列数。所以,我们可以只考虑top $k$ 位置的排列: 521 | $$p(\pi_{1:k}|s_{1:m}) = \prod\limits_{j=1}^k\frac{s_j}{\sum_{u=1}^ms_u}$$ 522 | 这样我们就只需要 $m!/(m-k)!$ 个排列数 523 | - 缺点 524 | 复杂度比较高。 525 | - 预测一个query的复杂度:$O(m!/(m-k)!)$ 526 | 527 | ### Loss function for ranking 528 | 下面我们将会讨论评价一个ranking系统的一些方法 529 | - Mean reciprocal rank (MRR) 平均倒数排名 530 | 对于一个查询 $q$ ,我们定义 $r(q)$ 是出现第一个相关文档的位置。所以平均倒数排名即如下,这是一个相当简单的评价标准。 531 | $$\text{MRR} = \frac{1}{Q}\sum\limits_{i=1}^{Q}\frac{1}{r(q_i)}$$ 532 | 其中,$Q$ 表示有 $Q$ 个查询。 533 | (*书上对MRR的定义可能不是很完整*) 534 | - Mean average precision (MAP) 平均准确率均值 535 | 对于二元相关标签,定义对于某排序,在 $k$ 位置的准确率如下: $$P@k(\pi) \triangleq \frac{\text{num.relevant documents in the top }k \text{ positions of }\pi}{k}$$ 536 | *即对于排序 $\pi$, 前 $k$ 个文档中相关文档所占的比例* 537 | 然后,我们定义平均准确率如下: 538 | $$AP(\pi) \triangleq \frac{\sum_kP@k(\pi)*I_k}{\text{num.relevant documents}}$$ 539 | 其中 $I_k$ = 1 当且仅当第 $k$ 个文档是相关的 540 | *即对所有相关文档的位置 $k$ 计算准确率,然后求和,再除以总相关文档数* 541 | 举个例子:相关标签是 $y = (1, 0, 1, 0, 1)$,则AP是 $\frac{\frac{1}{1} + \frac{2}{3} + \frac{3}{5}}{3} \approx 0.76$ 542 | 最后我们定义 MAP 是对所有查询的 AP 求均值。 543 | 544 | - Normalized discounted cumulative gain (NDCG) 545 | 假定相关性 label 具有多个等级,定义对于某个排序的前 $k$ 个项 的 **discounted cumulative gain** 如下: 546 | $$\text{DCG}@k(r) = r_1 + \sum\limits_{i=2}^k\frac{r_i}{\text{log}_2i}$$ 547 | 其中,$r_i$ 是第 $i$ 项的相关度,$\text{log}_2$ 是用来对文档列表后面项的相关度大折扣。 548 | 但由于文档列表长度不一样,DCG 的值也不一样,所以通常会用 ideal DGG (IDGG) 归一化,其表达式如下: 549 | $$\text{IDCG}@k(r) = \text{argmax}_\pi\text{DCG}@k(r)$$ 550 | 即对文档列表进行最优排序,所得到的DGG,只需要简单地通过对 $r_i$ 进行降序排序即可。 551 | 最后,NDCG 计算方式如下: 552 | $$\text{NDCG} = \frac{\text{DCG}}{\text{IDCG}}$$ 553 | 一个计算例子如下 554 | ![Alt text](./8.png) 555 | 可以看出 $\text{DCG}@6 = 3 + (2 + 1.887 + 0 + 0.431 + 0.772) = 8.09$ 556 | 最大DCG是当 $r_i$ 分数顺序为 [3,3,2,2,1,0],这时候 IDCG 是8.693 557 | 所以 NDCG = 8.09 / 8.693 = 0.9306 558 | - Rank correlation 559 | 我们可以测量文档排名列表 $\pi$ 和 真实排名列表 $\pi^*$ 的相关性。其中一个测量两个排名的相关性方法是 weighted Kendall's $\tau$ 统计,其表达式如下: 560 | $$\tau(\pi,\pi^*) = \frac{\sum_{u[chap10] 17 | - 无向图模型,又叫马尔可夫随机场 18 | - Directed Graphical Models, MRF, Markov random fields [chap19] 19 | - 推断,Inference 20 | - 确切推断,Exact Inference [chap20] 21 | - 变分推断,Variational inference [chap21] 22 | - 更多变分推断,More Variational inference [chap22] 23 | - 蒙特卡洛推断,Monte Carlo inference [chap23] 24 | - 马尔可夫链蒙特卡洛推断,Markov chain Monte Carlo (MCMC) inference [chap24] 25 | - 学习,Learning 26 | - EM algorithm [chap11] 27 | - Graphical model structure learning [chap26] 28 | - Latant variable models for discrete data [chap27] 29 | 30 | 概率图模型有什么好的参考资料?公开课,书,网页都可以。 31 | 32 | ### 10.1.1 Chain rule 链式法则 33 | 一般来说,我们处理的监督问题就是试图去拟合这样的一个函数,$f: \mathbb{R}^n \rightarrow \mathbb{R}$ 也就是说输入 $\mathbf{x}$ 一般都是一个多维度的特征向量。在朴素贝叶斯模型中,我们曾假设不同的特征之间的相互独立的,如果不独立的话,可以用链式法则来计算一个序列的概率,$$p(x_{1:V}) = p(x_1)p(x_2|x_1)p(x_3|x_2,x_1)\cdots p(x_V|x_{1:V-1})$$ 注意上面的公式都是条件概率,为了表示的简介省略了参数 $\boldsymbol\theta$ 而已。链式法则可以用语言模型来解释(language model),整个序列的概率就是某个句子的概率。可以发现上面的条件概率越往后越复杂。 34 | 35 | 我们来分析一下要计算这个联合概率的复杂度是多少。假设每个维度的变量都一样地拥有 $K$ 个状态,那么 $p(x_1)$ 有 $K-1$ 个变量,复杂度是 $O(K)$;接着 $p(x_2|x_1)$ 要用大小为 $O(K^2)$ 的 **随机矩阵(stochastic matrix)** $T$ 来表达,且矩阵元素满足 $$p(x_2 = j | x_1 = i) = T_{ij},\quad T_{ij} \in [0,1],\quad \sum_{ij} T_{ij} = 1$$ 同样地,$p(x_3|x_2, x_1)$ 要用 $O(K^3)$ 的 **条件概率表(conditional probability tables or CPTs)** 来表示。到最后的一个概率,需要用 $O(K^V)$ 个参数,这个复杂度是不可以接受的。 36 | 37 | **

【TODO:这里是不是可以给出一个条件概率分布的具体例子,所以可以直观地感受一下】

** 38 | 39 | 一种解决方法是用 CPD,Condiational probability distribution 来替代 CPT,比如 multinomial logistic regression,$$p(x_t = k|\mathbf{x}_{1:t-1}) = \mathcal{S}(\mathbf{W}_t \mathbf{x}_{1:t-1})_k$$ 参数复杂度为 $O(K^2V^2)$,为什么呢?考虑 $\mathbf{W}_t$ 和 $\mathbf{x}_{1:t-1}$ 之间做的是内积操作,参数数量应该是一样的,都是 $K(t-1)$,那么 $x_t$ 一共要取 $K$ 种状态,所以 $p(x_t|\mathbf{x}_{1:t-1})$ 有 $K(t-1)K$ 个参数。那么 $t=1,\cdots,V$ 的话,一共就是 $$K^2(0+1 + 2 + \cdots + (V - 1)) = K^2 V(V-1)/2$$ 个参数,所以参数的复杂度为 $O(K^2V^2)$。 40 | 41 | 然而这种模型对有些预测问题不是很适用,因为每个变量都要依靠前面所有的变量。(不是很理解这句话。) 42 | 43 | ### 10.1.2 Conditioanl independence 条件独立 44 | 可以从随机变量的独立推广到条件独立,比如 $X$ 和 $Y$ 在给定 $Z$ 的条件下独立,可以写作 $$X \perp Y | Z \Longleftrightarrow p(X,Y|Z) = p(X|Z)p(Y|Z)$$ 我们可以利用条件独立,对前面讲过的链式法则做一些假设,比如令将来的状态在给定现在状态的条件下与过去的状态无关,又叫做是 **一阶马尔可夫假设(first order Markov assumption)**,写成表达式就是,$$x_{t+1} \perp \mathbf{x}_{1:t-1} | x_t$$ 那么联合概率转换成了,$$p(x_{1:V}) = p(x_1) \prod_{t=2}^Vp(x_t|x_{t-1})$$ 这个就是 **一阶马尔可夫链(first order Markov chain)**,可以通过初始状态分布 $p(x_1=i)$ 和状态转移矩阵 $p(x_t = j | x_{t-1} = i)$ 来确定。后面的小节还会提到二阶和更高阶的情况。 45 | 46 | ### 10.1.3 Graphical models 图模型 47 | 一阶的马尔可夫可以用来处理以为的一维的序列数据,也可以定义二维的模型处理图片,三维的模型处理视频数据。当推广到任意维的时候,图模型就诞生了。 48 | 49 | 图模型就是一种通过做条件独立假设(CI assumption)来表示联合概率分布的方法。这一章主要讲有向图模型,即贝叶斯网络,而无向图模型放在了第 $19$ 章。 50 | 51 | ### 10.1.4 Graph terminology 图术语 52 | 图模型是图论和概率论的结合,先来回顾一下图论的一些知识。 53 | 54 | - graph $G = (V,E)$, nodes or vertices, edges, adjacency matrix (邻接矩阵) 55 | - parent, child, family, root ,leaf, ancestors, descendants, neighbors 56 | - degree, in-degree, out-degree, cycle or loop (环) 57 | - DAG, directed acyclic graph(有向无环图), topological ordering (拓扑排序) 58 | - path or trail (路径或迹), tree, polytree, moral directed tree, forest 59 | - subgraph, clique, maximal clique 60 | 61 | --- 62 | 63 | **树和有向无环图的关系** 64 | 65 | - 树是一种特殊的有向无环图,DAG 不一定是树 66 | - github 的版本管理就是通过 DAG 来做的。 67 | - DAG 可以有多个根节点(无父节点),但是树只有唯一的一个 root 68 | - DAG 的某个节点可以有多个父节点 69 | - 也叫 polytree,否则叫 moral directed tree 70 | - 造成了两个节点可以有多条通路 71 | - 如果把有向图的箭头去掉,DAG 可能会存在环,树则没有 72 | 73 | **DAG 的拓扑排序(topological ordering)** 74 | 75 | 拓扑排序的名词一定要跟 DAG 联系起来才有意义。就是说,在图的顶点构成的所有排列中,对于图中任意边 $A \rightarrow B$ 都满足 $A$ 排在 $B$ 前面的排列都是合法的拓扑排序。可以参考这里的 [讲义](http://www.csie.ntnu.edu.tw/~u91029/DirectedAcyclicGraph.html#2) 。 76 | 77 | **团(clique)的定义** 78 | 团就是无限图的完全子图,极大团(maximal clique)就是无法通过添加点和边仍然满足团定义的完全子图,最大团(maximum clique)就是最大的那个极大团,可能有多个。[参考这里](http://www.csie.ntnu.edu.tw/~u91029/ChordalGraph.html#1) 79 | 80 | ### 10.1.5 Directed graphical models 有向图模型 81 | 有向图模型,字面上的理解就是图是 DAG 的图模型。有三个名字, 82 | 83 | - 贝叶斯网络,Bayesian Network 84 | - 置信网络,Belief Network 85 | - 因果网络,Causal Network 86 | 87 | 然而这几个名字的意思和这个模型都没啥直接关系,所以作者决定就叫它有向图模型好了。 88 | 89 | DAG 一定可以有拓扑排序,即父节点一定会在孩子节点前面,我们可以定义 ordered Markov property 假设,即每个节点在给定父节点的条件下,和其他所有先驱节点条件无关,表示如下,$$x_s \perp \mathbf{x}_{\text{pred}(s)\setminus \text{pa}(s)} | \mathbf{x}_{\text{pa}(s)}$$ 其中 $\text{pred}(s)$ 表示 $s$ 的所有先驱节点(predecessors),$\text{pa}(s)$ 是 $s$ 的父节点。图 10.1 的联合概率就可以重写了。 90 | 91 | 一般地,贝叶斯网络可以写成这样的形式,$$p(\mathbf{x}_{1:V}|G) = \prod_{t=1}^V p(x_t|\mathbf{x}_{\text{pa}(t)})$$ 其中 $p(x_t|\mathbf{x}_{\text{pa}(t)})$ 是 CPD,Conditional Probablistic Distribution。假设每个点都只有 $O(F)$ 个父节点,那么整个模型的参数复杂度就是 $O(VK^F)$,比原来的 $O(K^V)$ 大大降低了。 92 | 93 | ## 10.2 Examples 例子 94 | 这一小节讲述 PGM 的应用。 95 | 96 | ### 10.2.1 Naive Bayes classifiers 朴素贝叶斯分类器 97 | 回忆一下朴素贝叶斯分类器,该模型假设了特征维度之间都是相互独立的,那么有 $$p(y,\mathbf{x}) = p(y)p(x_{1:D}|y) = p(y)\prod_{j=1}^D p(x_j | y)$$ 如果想要抓住不同特征之间的相关性(correlation),可以考虑一种图模型,叫做 **tree-augmented naive Bayes classifier**,or **TAN**,此模型是 two-fold,可以很容易地用 Chow-Liu 算法(见26.3小节)找到最优的树结构,而且处理丢失特征(见20.2小节)也很简单。 98 | 99 | ### 10.2.2 Markov and hidden Markov models 马尔可夫和隐马尔可夫模型 100 | 我们可以做更高阶的马尔可夫假设,比如二阶的情况,正如图 10.3 所示,可以这样表示,$$p(\mathbf{x}_{1:T}) = p(x_1,x_2) \prod_{t=3}^T p(x_t|x_{t-1},x_{t-2})$$ 101 | 102 | 不幸的是,二阶的马尔可夫假设对于长范围关系是不充分的,而更高阶的假设会带来参数复杂度的爆炸,因此有另一种常见的模型,是假设在观察变量中,有另一个隐藏变量在背后,这种叫做隐马尔可夫模型(HMM, Hidden Markov Model)。如果用 $z_i$ 表示隐变量,$x_i$ 表示观察变量的话,可以做两个一阶马尔可夫假设, 103 | 104 | - **齐次马尔可夫假设** 105 | - 当前的隐变量只和前一个隐变量有关,得到转移模型(transition model) 106 | - 即 $p(z_t|z_{t-1}) = p(z_t|z_{1:T}, \mathbf{x}_{1:T})$,可以对 CPD $p(z_t|z_{t-1})$ 进行建模 107 | 108 | - **观测独立性假设** 109 | - 当前的观察变量只和当前的隐变量有关,得到观察模型(observation model) 110 | - 即 $p(\mathbf{x}_t | z_t) = p(\mathbf{x}_t | z_{1:T}, \mathbf{x}_{1:T})$,可以对 CPD $p(\mathbf{x}_t | z_t)$ 进行建模 111 | 112 | 学了随机过程(stochastic process)的同学可能会了解的多一点,隐马尔可夫模型是一种最简单的动态贝叶斯网络(DBN, Dynamic Bayesian Network),是一种时间序列上的模型方法,是处理时间序列问题的一种应用最广泛的模型之一(其他的还有 CRF,RNN 等)。第 17 章会细讲这个模型,在这里举几个例子来简单说明一下其用途。 113 | 114 | - **标注问题**,见李航的《统计学习方法》第 1.9 小节,输入观测序列,输出状态序列 115 | - 词性标注(part of speech tagging) 116 | - 分词,见 [结巴分词](https://github.com/fxsjy/jieba) 117 | - **语音识别**,ASR, Automatic Speech Recognition 118 | - 令 $\mathbf{x}_t$ 表示语音信号提取的特征,令 $z_t$ 表示说的单词(字),转移模型 $p(z_t|z_{t-1})$ 表示语言模型(language model),观察模型 $p(\mathbf{x}_t | z_t)$ 表示声学模型(acoustic model)。 119 | - Video Activity Recognition 120 | - Optical Character Recognition 121 | - Protein Sequence alignment 122 | 123 | ### 10.2.3 Medical diagnosis 医学诊断 124 | ### 10.2.4 Genetic linkage analysis * 基因连锁分析 125 | ### 10.2.5 Directed Gaussian graphical models * 有向高斯图模型 126 | 127 | ## 10.3 Inference 推断 128 | 定义概率图模型和联合概率分布,主要的用途是拿来做概率推断(Probabilistic Inference)。先举个例子,在 HMM 中,用 $\mathbf{x}_v$ 表示可见变量,用 $\mathbf{x}_h$ 表示隐藏变量。我们假设已经得到了联合概率分布 $p(\mathbf{x}_h, \mathbf{x}_v | \boldsymbol\theta)$,目标则是推断出隐变量的条件概率分布,$$p(\mathbf{x}_h | \mathbf{x}_v, \boldsymbol\theta) = \frac{p(\mathbf{x}_h, \mathbf{x}_v | \boldsymbol\theta)}{p(\mathbf{x}_v| \boldsymbol\theta)} = \frac{p(\mathbf{x}_h, \mathbf{x}_v| \boldsymbol\theta)}{\sum_{\mathbf{x}'_h} p(\mathbf{x}'_h, \mathbf{x}_v | \boldsymbol\theta)}$$ 注意下面的分母 $p(\mathbf{x}_v| \boldsymbol\theta)$,其实就是训练集数据的似然概率,又叫做是 **probability of the evidence**,可以写成是边缘似然来求解。 129 | 130 | 还有另一种需求,就是可能只有部分的隐变量是我们感兴趣的,比如把隐变量划分成 **query variables** $\mathbf{x}_q$ 和 **nuisance variables** $\mathbf{x}_n$ 两部分。我们只关心 $\mathbf{x}_q$ 而不关心 $\mathbf{x}_n$,也可以通过 **marginalizing out** 来求边缘概率,$$p(\mathbf{x}_q | \mathbf{x}_v, \boldsymbol\theta) = \sum_{\mathbf{x}_n} p(\mathbf{x}_q, \mathbf{x}_n | \mathbf{x}_v, \boldsymbol\theta)$$ 上面的方法都是确切推断(exact inference)。精确推断常见的方法有变量消去(variable elimination)和信念传播(Belief Propagation,又叫做和积算法,Sum-Product Algorithm)。 131 | 132 | 这种方法会消耗指数级别的复杂度,适用范围有限,因此有其他的近似推断(approximation inference)的方法。近似推断又主要有两大类,第一类是采样的方法,比如马尔科夫链蒙特卡洛采样(MCMC, Markov Chain Monte Carlo sampling);第二类是使用确定性近似完成近似推断,比如变分推断(variational inference)。 133 | 134 | ## 10.4 Learning 学习 135 | 图模型中的学习(Learning)一般指的是学习模型中的参数,一般也是通过 MAP 来估计参数,$$\hat{\boldsymbol\theta} = \arg\max_\boldsymbol\theta \sum_{i=1}^N \log p(\mathbf{x}_{i,v} | \boldsymbol\theta) + \log p(\boldsymbol\theta)$$ 其中 $\mathbf{x}_{i,v}$ 指的是隐变量中的第 $i$ 个样例。若先验 $p(\boldsymbol\theta) \propto 1$,那么退化成 MLE。 136 | 137 | 一般的概率图模型文献中,都会把 Inference 和 Learning 区分开来,但是在贝叶斯学派的观点来看,参数和隐变量都是变量,两者没有区别。 138 | 139 | ### 10.4.1 Plate notation 盘子表示法 140 | 盘子表示法的示意图如图 10.7 所示。当一组变量 $X_1,\cdots,X_N$ 是独立同分布的(iid, independently identically distribution),即都是从同一个分布 $\boldsymbol\theta$ 种产生的,那么可以用一个盘子(Plate)把这些变量圈起来,用一个循环表示出来,像书里那样子画的,相当于是一种语法糖(syntactic sugar)。那么把每个重复的画出来的方式就称作展开(unrolled)的模型。我们用图模型表示随机变量之间的联合概率, $$p(\boldsymbol\theta, \mathcal{D}) = p(\boldsymbol\theta) \left [ \prod_{i=1}^N p(\mathbf{x}_i | \boldsymbol\theta) \right ]$$ 另一个复杂一点的嵌套盘子(nested plate)表示法在 10.8 中画出来了。 141 | 142 | 我们先来回归一下朴素贝叶斯分类器,其假设为所有的特征之间都是相互条件独立的,若 class conditional density 是多努利分布,可以写成连乘的形式,$$p(\mathbf{x}|y=c\boldsymbol) = \prod_{j=1}^D\mathrm{Cat}(x_j | \boldsymbol\theta_{jc}) = \prod_{j=1}^D p(x_j|y=c,\boldsymbol\theta_{jc})$$ 其中, 143 | 144 | - $(\mathbf{x}_{ij})_{N \times D}$ 为训练集第 $i$ 个样本的第 $j$ 个特征维度,共 $N$ 个样本,$D$ 个特征维度 145 | - $(\boldsymbol\theta_{jc})_{D \times C}$ 为模型学到的参数,表示第 $c$ 类中出现特征 $j$ 的概率 146 | - 如 bag-of-words 模型,表示第 $c$ 类文档(比如广告邮件)出现第 $j$ 个单词(比如“打折”)的概率。 147 | - NBC Model Fitting result: $\hat\theta_{jc} = N_{jc} / N_c$ (公式 3.58) 148 | - $\boldsymbol\pi$ 是 class prior,类别的先验 149 | - NBC Model Fitting result: $\hat\pi_c = N_c / N$(公式 3.57) 150 | 151 | 【此处该有图】 152 | 153 | - 图①,针对所有的样本,每个维度都是条件独立的 154 | - 图②,针对所有的样本的某个维度,比如 $x_{i1}$,对所有的类别的贡献程度是不同的,比如 "discount" 这个词,对 “广告”,“正常”,“色情”等邮件类别的贡献概率是不同的,正相关。 155 | - 图③,由图①把维度 $j:D$ 放到盘子里得到的 156 | - 图④,由图③把 $i:N, c:C$ 放进盘子里得到的 157 | 158 | 可以看到嵌套的表示法更简洁。 159 | 160 | ### 10.4.2 Learning from complete data 从完整数据中学习 161 | 所谓的完整的数据(complete data),指的是没有丢失的数据或者没有隐变量(或者说隐变量都观察到了),那么训练集上的似然概率是,$$p(\mathcal{D}|\boldsymbol\theta) = \prod_{i=1}^N p(\mathbf{x}_i | \boldsymbol\theta) = \prod_{i=1}^N\prod_{t=1}^V p(x_\text{it}|\mathbf{x}_{i,\text{pa}(t)}, \boldsymbol\theta_t) = \prod_{t=1}^V p(\mathcal{D}_t|\boldsymbol\theta_t)$$ 补充说明:中间的两个连乘项,就是概率图模型的因式分解,$$p(\mathbf{x}|\boldsymbol\theta) = \prod_{t=1}^V p(x_t|\mathbf{x}_{\text{pa}(t)},\boldsymbol\theta_t)$$ 162 | 163 | 考虑完整的贝叶斯推断,若也有可以因式分解的先验(factored prior),$p(\boldsymbol\theta) = \prod_{t=1}^V p(\boldsymbol\theta_t)$,那么对应的后验也可以因式分解,$$p(\boldsymbol\theta | \mathcal{D}) \propto p(\mathcal{D}|\boldsymbol\theta) p(\boldsymbol\theta) = \prod_{t=1}^V p(\mathcal{D}_t | \boldsymbol\theta_t) p(\boldsymbol\theta_t)$$ 164 | 165 | 如果我们用表格(tabular)的方法表达所有的 CPD,那么表格里的每个项都是待学习的参数 $\theta$,若用多努利分布来拟合模型,即 $x_t|\mathbf{x}_{\text{pa}(t)} = c \sim \text{Cat}(\boldsymbol\theta_{tc})$,可以定义 $$\theta_{tck} \triangleq p(x_t = k | \mathbf{x}_{\text{pa}(t)} = c)$$ 166 | 167 | - $k = 1:K_t$ 表示节点 $t$ 的所有状态 168 | - $c = 1:C_t$ 其中 $C_t \triangleq \prod_{s\in \text{pa}(t)} K_s$ 表示父节点组合的数目 169 | - $t = 1:T$ 表示节点(node)的个数 170 | 171 | 显然,有 $\sum_k \theta_{tck} = 1$ 即所有状态的累加和是1. 172 | 173 | 考虑在每个概率上加一个狄利克雷先验,$\boldsymbol\theta_{tc} \sim \text{Dir}(\boldsymbol\alpha_{tc})$,那么后验就可以是 $\boldsymbol\theta_{tc} | \mathcal{D} \sim \text{Dir}(\mathbf{N}_{tc} + \boldsymbol\alpha_{tc})$ 其中充分统计量定义如下,$$N_{tck} \triangleq \sum_{i=1}^N \mathbb{I}(x_{i,t} = k, x_{i,\text{pa}(t)} = c)$$ 表示第 $t$ 个节点在状态 $k$ 且父节点是 $c$ 的统计量。那么根据狄利克雷分布的均值公式可知,$$\overline\theta_{tck} = \frac{N_{tck} + \alpha_{tck}}{\sum_{k'}(N_{tck'} + \alpha_{tck'})}$$ 下面的例子讲的是,如何从数据集中应用上面的公式估计条件概率 $p(x_4 | x_2, x_3)$ (Really?)参数,就略过啦~ 174 | 175 | ### 10.4.3 Learning with missing and/or latent variables 176 | 如果我们的数据有缺失(比如某个传感器故障,导致 $\mathbf{x}_i$ 的某个维度的数值无法测量到),或者含有隐变量,那么似然函数就无法因式分解,而且是非凸的。如果用 MLE 或者 MAP 只能得到局部最优解。 177 | 178 | 一般可以用 EM, Expectation-Maximization 这种迭代算法。EM 算法的直观想法是,如果数据是完整的(complete),那么计算参数就会很容易,比如用 MLE;相反如果知道了模型的所有参数,那么补全完整的数据也很容易。(参考李航《统计学习方法》第9章和本书的第11章) 179 | 180 | ## 10.5 Conditional independence properties of DGMs 181 | 先来讲一下 **I-map** 的概念,这个东西有点绕,感觉是理论学家为了严谨而弄出的一些概念。图模型的一个很重要的核心就是做了很多条件独立性假设(Conditional Indepence Assumptions),比如 $\mathbf{x}_A \perp_G \mathbf{x}_B | \mathbf{x}_C$ 表示在图 G 中给定 C 后,A 和 B 是条件独立的。 182 | 183 | 所以 I-map 就是个集合,集合里的元素都是一个个条件独立语句,比如 $I(G)$ 表示图 G 中所有的条件独立语句,$I(p)$ 表示分布 $p$ 所有的条件独立语句,那么当且仅当 $I(G) \subseteq I(p)$ 时,我们就可以说图 G 是分布 p 的一个 **I-map**,或者说 p 是关于图 G 的马尔可夫。(We say that G is an I-map (independent map) for p, or that p is Markov wrt G.)换句话说,就是图 G 中做的条件独立语句一定不能比分布 p 中多。 184 | 185 | 注意全连接的图(完全图?)一定是所有分布的 I-map,因为 I(G) 是空集,没有做任何的条件独立假设。因此有 minimal I-map 的概念,就是说当不存在子图 $G' \subseteq G$ 也是分布 p 的 I-map 时,图是分布 p 的 minimal I-map. 186 | 187 | 下面讨论图 G 中的所有 $\mathbf{x}_A \perp_G \mathbf{x}_B | \mathbf{x}_C$ 关系。即求解 $I(G)$。 188 | 189 | ### 10.5.1 d-separation and the Bayes Ball algorithm (global Markov properties) 190 | 在判断图 G 中的两个变量是否是条件独立时,常常用到一个很重要的概念,叫做 d-separation,可以有下面的定义。 191 | 192 | 当且仅当下面的三个条件满足时,我们会称无向路径 P 被包含证据的点集 E 给 d-分割了(undirected path P is d-separated by a set of nodes E, which contains the evidence), 193 | 194 | 1. 路径 P 包含链 $s \rightarrow m \rightarrow t$ 或者 $s \leftarrow m \leftarrow t$,其中 $m \in E$ 195 | 2. 路径 P 包含像帐篷(tent)或者叉子(fork)一样的结构,即 $s \swarrow^m\searrow t$,其中 $m \in E$ 196 | 3. 路径中包含对撞(collider)或者 v 型结构(v-structure),即 $s \searrow _m \swarrow t$,且 $m$ 和其后代(descendant)全部不能出现在 $E$ 中。 197 | 198 | 为什么要有 d-separate 这个概念呢?假设我们在已知观察变量,或者叫做 evidence 的点集 E 的前提下,想知道点集 A 和点集 B 是否关于 E 条件独立,那么我们就沿着从 A 到 B 的一条路径,如果这条路径被 d-separate,那么说明 A 和 B 关于 E 条件独立。表述如下,$$\mathbf{x}_A \perp \mathbf{x}_B | \mathbf{x}_E \Longleftrightarrow \text{A is d-separated from B given E}$$ 上面讲的就是 **全局马尔可夫性质(global Markov properties)**。书里有提到 Bayes ball algorithm,但是感觉没啥意义,就是前面讲过的思路。 199 | 200 | 上面的三种条件,我们再来推导一番, 201 | 202 | - $X \rightarrow Y \rightarrow Z$ 203 | - $p(x,y,z) = p(x)p(y|x)p(z|y)$ 204 | - $x \perp z | y$ 205 | - $X \leftarrow Y \rightarrow Z$ 206 | - $p(x,y,z) = p(y)p(x|y)p(z|y)$ 207 | - $x \perp z | y$ 208 | - $X \rightarrow Y \leftarrow Z$ 209 | - $p(x,y,z) = p(x)p(z)p(y|x,z)$ 210 | - $x \not\!\perp z | y \quad\text{but}\quad x \perp z$ 211 | 212 | 注意第三种情况,就是说本来 $x$ 和 $z$ 是独立的,但是看到 $y$ 后,反而不独立了,这种情况就叫做 explaining away, inter-causal reasoning, or Berkson's paradox. 可以举个例子,如果 $x,z$ 表示两次独立的扔硬币事件,$y$ 表示两个硬币点数之和,明显知道了 $y$ 以后,两个事件就不独立了,可以做一些推导。比如已知 $y=1, x=0$,那么明显 $z$ 只能取 $1$ 了,即 $$p(z=1|x=0)=0.5 \ne p(z=1|x=0,y=1)=1$$ 213 | 214 | 对于 v-structure 的情况,还有一点要注意,即 boundary conditions,如图 10.10(c) 所示。就是 evidence 不一定要非得是 $y$,任意 $y$ 的后代,比如 $y'$ 都可以起到同样的作用。 215 | 216 | ### 10.5.2 Other Markov properties of DGMs 217 | 有了前面的 d-separation 的概念,我们可以对一个PGM中所有的点做一个结论,称作 **有向局部马尔可夫性质(directed local Markov property)**,$$t \perp \text{nd}(t) \backslash \text{pa}(t)\ |\ \text{pa}(t)$$ 其中 $\text{nd}(t)$ 表示节点 $t$ 的所有非后代(descendant)节点,$\text{pa}(t)$ 表示所有父节点。这个性质是说,给定节点父节点的条件下,该节点和其他所有除了父节点和后代节点的节点都是条件独立的。 218 | 219 | 其实很好理解,假设我们从该节点往父节点上面走,发现一定不是 v-structure,但是由于给定了所有父节点为 evidence,根据第 1,2 条规则,肯定是被 d-separated 了,也就是说条件独立成立。再往下走,肯定和孩子节点或者自己构成 v-structure 结构(不然还是孩子节点,可以画出来看看),那么由于孩子节点不是 evidence 的子集,根据第 3 条规则,此条路径必然也被 d-separated 了。所以条件独立。可以举书里 10.11 的例子来说明这个性质,略。 220 | 221 | 上面的性质有种特殊情况,$$t \perp \text{pred}(t) \backslash \text{pa}(t)\ |\ \text{pa}(t)$$ 其中 $\text{pred}(t) \subseteq \text{nd}(t)$ 表示节点 $t$ 的先继节点集合。这个性质叫做 **有序马尔可夫性质(ordered Markov property)**。Koller 大神的书里证明了这里讲过的三种性质 $G,L,O$ 都是等价的。 222 | 223 | ### 10.5.3 Markov blanket and full conditionals 224 | 某节点 $t$ 的 **Markov blanket** 可以表示为 $\text{mb}(t)$,定义如下,$$\text{mb}(t) \triangleq \text{ch}(t) \cup \text{pa}(t) \cup \text{copa}(t)$$ 后面的三个符号分别表示节点 $t$ 的 children, parent 和 co-parent,而 co-parent 表示和 $t$ 共享某个孩子节点的节点集合。 225 | 226 | Markov blanket 这个概念很有用,比如我们要计算这个条件概率, $$p(x_t|\mathbf{x}_{-t}) = \frac{p(x_t, \mathbf{x}_{-t})}{p(\mathbf{x}_{-t})}$$ 考虑分子(numerator)分母(denominator)中约去一些项,只剩包含 $x_t$ 的那些 CPD,$$p(x_t | \mathbf{x}_{-t}) \propto p(x_t | \mathbf{x}_{\text{pa}(t)}) \prod_{s \in \text{ch}(t)} p(x_s | \mathbf{x}_{\text{pa}(t)})$$ 后面的连乘项里,就包含了 co-parent 的节点。这个概率 $p(x_t|\mathbf{x}_{-t})$ 叫做 **full conditional**,分布就叫做 full conditional distribution,会在第 24 章的 MCMC 中的吉普斯采样(Gibbs Sampling)会用到。 227 | 228 | ## 10.6 Influence (decision) diagrams * 影响(决策)图 229 | 我们可以用影响图或者叫决策图来表示多阶段贝叶斯决策问题。这种图是在 PGM 的基础上增加了一些节点, 230 | 231 | |节点名称|作用|用什么表示| 232 | |:-:|:-:|:-:| 233 | |chance nodes|图模型节点,表示随机变量|椭圆,oval| 234 | |decision nodes, action nodes|要决策的东西|矩形,rectangle| 235 | |utility nodes, value nodes|Utility|菱形,diamond| 236 | 237 | 例子这里就不提了。 238 | 239 | 240 | -------------------------------------------------------------------------------- /notes/note_2.md: -------------------------------------------------------------------------------- 1 | # 第二章 概率论 2 | 1. ** 基本概念 ** 3 | * 概率 4 | * 频率学派:从事物本身出发,完全从客观数据的角度来理解概率,使用随机事件的发生的频率描述概率 5 | * 贝叶斯学派: 从人的角度出发,表示为人对事物的感受。可通俗理解如下:在接触某个事物前,人对事物有个预想的认识(**先验概率**),在接触这个事物后,人会适当改变自己对这个事物的认识,得到新的认识(**后验概率**) 6 | * 如上可见,频率派关注事物本身,贝叶斯派关注我们对事物的认识。从点估计和贝叶斯估计角度可以这样理解 7 | * 我们对事物的数学认识就是一个模型,具体的模型有具体的参数,当确定模型空间后,我们认识事物就是确定模型参数。事物本身是确定的,则模型的参数也应该是确定,频率学派就是要学习这个确定参数。这就是点估计,选择最优的参数值(最大后验,最大似然)可见这个学派是追求真理的,希望能找到事物的真面目。而贝叶斯派不理会事物本身,在乎我们对事物的认识,事物本身会有一个确定的参数值,但我们不管,不选择参数为某个确定的值,而是对所有可能参数值,我们都有个相信的程度。即参数是一个随机变量,满足我们认识的一个分布,在看到数据前,这个分布是先验概率分布,在看到数据后,分布变成后验概率分布 8 | * 随机变量 9 | * 数学建模的一个基本单位,描述某个事物的状态,它具有多个状态 10 | * 区别于函数里的自变量,自变量是纯数学的,没有实际含义的。而随机变量是对应着实际事物,是事物的一个数学表示。 11 | * 随机变量的取值可以是离散的,也可以是连续的 12 | * 分布 13 | * 用来描述随机变量的取值情况。 14 | * 区分实际分布和数学分布 15 | * 实际分布指的是事物的真实情况。大多情况下,我们不能知道事物的真实情况或者不能简单地表达真实情况。因此我们需要数学分布,我们定义一些分布函数,比如高斯分布,来极大可能地描述事物的真实情况。可以看做对事物的真实情况的数学建模 16 | * 在贝叶斯体系里,先验概率是边缘概率,后验概率是条件概率(看到数据后) 17 | * ** 一些公式 ** 18 | * 乘法法则(product rule) 19 | $$ p(A,B) = p(A\ \Lambda\ B) = p(A|B)p(B)$$ 20 | * 加法法则(sum rule) 21 | $$ p(A) = \sum_b p(A,B) = \sum_b p(A|B = b)p(B = b)$$ 22 | * 链式法则(chain rule) 23 | $$ p(X_{1:D})=p(X_1)p(X_2|X_1)p(X_3|X_2,X_1)...p(X_D|X_{1:D-1})$$ 24 | * 条件概率 25 | $$ p(A|B) = \frac{p(A,B)}{p(B)}\quad if \quad p(B) > 0 $$ 26 | * 贝叶斯法则 27 | $$ p(X=x|Y=y)=\frac{p(X=x,Y=y)}{p(Y=y)}=\frac{p(X=x)p(Y=y|X=x)}{\sum_{x'} p(X=x')p(Y=y|X=x')}$$ 28 | * 贝叶斯公式最大作用是当$p(X|Y)$难求时,可以转化成求$p(X)$和$p(Y|X)$ 29 | * 关于生成模型和判别模型(个人想法) 30 | * 在分类问题里,我们最后需要的是$p(Y|X)$ 31 | * 在判别模型中,我们直接学习得到$p(Y|X)$,直接判断 32 | * 在生成模型中,我们学习的是$p(Y)$和$p(X|Y)$,然后通过贝叶斯法则得到$p(Y|X)$。注意其中$p(X|Y)$是数据的分布,可以生成数据的,可能因此称为生成模型吧。 33 | * **独立性** 34 | * 事物X和事物Y独立,记为$X\bot Y$ 35 | $$ X\bot Y \Leftrightarrow p(X,Y)=p(X)p(Y)$$ 36 | * 在实际中很少存在事物A和事物B是真的独立的,很多东西表面上看是没有关系的,但它们之间通过一些其他事物关联起来,一个能通过内在关联事物影响另一个,所以只有当内在的关联事物确定时,两者才独立。于是有条件独立如下:$X\bot Y|Z \Leftrightarrow p(X,Y|Z)=p(X|Z)p(Y|Z)$ 37 | * 在给实际问题数学建模时要注意使用独立性,因为通过独立性可以将联合分布变成边缘分布,而边缘分布往往比联合分布更容易处理。当然独立性是少有的,所以我们要利用好条件独立 38 | * **关于分布的其他一些概念** 39 | * 分位数quantile 40 | * 通过对累计分布函数$F(X)$求逆$F^{-1}(X)$,利用$F^{-1}(X)$可以方便地计算分布的分位点。比如$F^{-1}(0.5)$表示分布的中点,$F^{-1}(0.25)$表示分布的四分位点 41 | * 均值 42 | $$E[X]=\sum_{x \in \chi}xp(x)$$ 43 | * 方差 44 | $$var[X]=E[X-\mu]^2$$ 45 | * **一些重要的离散分布** 46 | * 二项分布 47 | * 一个试验,有两种结果(成功或失败),成功的概率为$\theta$,独立进行n次,其中成功的次数K是一个随机变量,满足二项分布,公式如下 48 | $$Bin(k|n,\theta)=\frac{n!}{(n-k)!k!}\theta^{k}(1-\theta)^{n-k}$$ 49 | 期望$n\theta$,方差$n\theta(1-\theta)$ 50 | * 当n为1时,二项分布称为伯努利分布 51 | * 多项分布 52 | * 一个试验,有多种结果,设有D种结果,第i种结果发生的概率为$\theta i$。独立进行n次,则全部试验结果可以用一个D维向量$\vec X$来表示,每个维度对应一种结果,其数字表示该种结果在试验中发生的次数,向量$\vec X$满足多项分布,公式如下 53 | $$Mu(\vec x|n, \theta)=\frac{n!}{x1!x2!...xd!}\prod^{D}_{j=1}\theta^{xj}_{j}$$ 54 | * 泊松分布 55 | * 多用来描述一段时间内,发生某事件的次数X 56 | * 实际上来源于二项分布的极限形式,可以如下理解:把一段时间等分成n份,当n无限大时,每份时间无限小,可以认为每份时间里只有两种情况发生了某事件一次或者没发生,不会发生事件多次。那么一份时间就是一个伯努利试验,因为时间无限小,所以发生事件的概率$\theta$无限小。对应到二项分布,则是取n无限大,$\theta$无限小。最后的结果即是泊松分布,公式如下 57 | $$Poi(x|\lambda)=e^{-\lambda}\frac{\lambda^x}{x!}$$ 58 | * 泊松分布的期望和方差均为$\lambda$ 59 | * 经验分布(the empirical distribution) 60 | * 利用看到的数据(样本数据)来估计近似总体分布。比如数据集中a类占10%,则认为总体分布中p(a)=0.1 61 | * **一些重要的连续分布** 62 | * 高斯(正态)分布 63 | $$N(x|\mu ,\sigma^2)= \frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{(x-\mu)^2}{2\sigma^2}}$$ 64 | * 最大熵意义:在统计中,我们在满足已知限制后,希望分布的熵越大越好。在没有任何限制情况下,均匀分布熵最大。在已知均值和方差情况下,高斯分布熵最大。 65 | * 中心极限定理:多个独立的随机变量,它们的分布的均值相同且方差相同。则在这些随机变量组成的总体中,多次采样,随着采样次数增多,采样分布趋向于高斯分布 66 | * 拉普拉斯分布 67 | $$Lap(x|\mu,b)=\frac{1}{2b}e^{-\frac{|x-\mu|}{b}}$$ 68 | * 其中$mean=\mu$, $mode=\mu$, $var=2b^2$ 69 | * 学生t分布(Student t distribution) 70 | $$T(x|\mu,\sigma^2,\upsilon)\propto [1+\frac{1}{v}(\frac{x-\mu}{\sigma})^2]^{-(\frac{\upsilon+1}{2})}$$ 71 | * 其中$mean=\mu$, $mode=\mu$, $var=\frac{\upsilon\sigma^2}{\upsilon-2}$ 72 | * 三个分布的分析与比较 73 | * 高斯分布,拉普拉斯分布,学生t分布都是表示整个实数域上的随机变量,它们的形状都是一个单峰,中间高,两边低。由公式可知,高斯分布是x和均值的差的平方作为指数的指数下降,下降速度很快。而拉普拉斯分布则是以x和均值的差的绝对值作为指数的指数下降,中间时(差小于1时)下降得比高斯分布快,两边时(差大于1时)下降得比高斯分布慢。学生t分布则以负幂函数的速度下降,远小于指数下降速度。 74 | * 长尾问题:如上三个分布都是单峰形状,数据集中在中间的波峰,两边称为尾巴。尾巴包含数据多则称该分布具有长尾。而长尾直接依赖于下降速度,尾巴下降地慢,则显得平坦一点。从如上分析可以知道学生t分布具有最好的长尾性质,拉普拉斯分布次之,高斯分布最差。长尾性质影响着分布的对数据的鲁棒性,受outlier的影响程度。越大的尾巴,鲁棒性越好。如果像高斯分布那种两边急速下降,当数据中出现outlier,因为两边的分布量太少满足不了outlier,所以高斯分布不得不偏移向outlier,效果不好。 75 | * 伽马分布 76 | * 用于表示范围在正实数的连续随机变量,即$x>0$ 77 | * 伽马函数 78 | $$\Gamma(x)=\int_0^{\infty}u^{x-1}e^{-u}du$$ 79 | * 伽马分布 80 | $$Ga(T|shape=a,rate=b)=\frac{b^a}{\Gamma(a)}T^{a-1}e^{-Tb}$$ 81 | * 其中mean=$\frac{a}{b}$, mode=$\frac{a-1}{b}$, var=$\frac{a}{b^2}$ 82 | * 贝塔分布 83 | * 用于表示范围在[0,1]之间的连续随机变量。 84 | * 贝塔函数 85 | $$B(a,b)=\frac{\Gamma(a)\Gamma(b)}{\Gamma(a+b)}$$ 86 | * 贝塔分布 87 | $$Beta(x|a,b)=\frac{1}{B(a,b)}x^{a-1}(1-x)^{b-1}$$ 88 | * 其中mean=$\frac{a}{a+b}$, mode=$\frac{a-1}{a+b-2}$, var=$\frac{ab}{(a+b)^2(a+b+1)}$ 89 | * Pareto distribution 90 | * 用来对具有长尾现象的数据进行建模,比如单词的使用的频率,把全世界人民对单词的使用看做一个量的话,可以发现占总单词数一小部分的常用词占使用量的大部分,而其他那些词则占使用量的小部分。这就是长尾,这个长尾虽然小,但稳定,持久,不为零。这是引申到经济统计学中“二八法则”。80%的资源掌握在20%的人手里,这就是一种长尾现象。在生活中有很多长尾现象,比如淘宝大部分销量在于一小部分商品上。 91 | $$Pareto(x|k,m)=km^kx^{-k+1}I(x\ge m)$$ 92 | * 本质上是一个负幂函数,k控制下降速度,m控制截断阈值 93 | * 其中mean=$\frac{km}{k-1}$ if k > 1, mode=m, var=$\frac{m^2k}{(k-1)^2(k-2)}$ if k > 2 94 | * **联合分布** 95 | * 之前的分布是对于单个随机变量来说的,对离散变量来说,其pmf是一维列表,对连续变量来说,其pdf是一元函数。现在联合分布是对多个随机变量的分布,对离散变量来说,其pmf是多维列表,对连续变量变量来说,其pdf是多元函数。 96 | * 随机变量之间的线性相关性 97 | * 协方差(covariance) 98 | * 用来度量两个随机变量之间的线性关系 99 | $$cov[X,Y]=E[(X-E[X])(Y-E[Y])]=E[XY]-E[X][Y]$$ 100 | * 在多个随机变量情况中,算两两之间的协方差,组成协方差矩阵 101 | * 协相关性系数(correlation coefficient) 102 | * 用协方差度量线性相关性有个问题就是它的大小依赖与数据本身,而不仅仅依赖两个变量之间的线性相关性。而协相关性系数就是对协方差进行归一化,限制到[-1,1]之间。大于零代表正相关,小于零代表负相关。 103 | $$corr[X,Y]=\frac{cov[X,Y]}{\sqrt{var[X]var[Y]}}$$ 104 | * 同样地算两两之间的协相关性可以组成协相关性系数矩阵 105 | * 两个随机变量独立则肯定不线性相关,但是不线性相关不一定独立。可以这样理解独立是一点关系都没有,而线性相关只是关系的一种而已。 106 | * **随机变量之间的变换** 107 | * 已经知道随机变量X的分布,那么X的变换随机变量Y=f(X)的分布是什么呢? 108 | * 线性变换 109 | * 在线性变换$\vec y=f(\vec x)=AX+\vec b$中,我们可以通过如下公式从X的均值和方差来算出Y分布的均值和方差 110 | $$E[\vec y] = E[A\vec x + \vec b]=A\vec \mu + \vec b$$ 111 | $$cov[\vec y] = cov[A\vec x + \vec b]=Acov[\vec x]A^T$$ 112 | * 因为高斯分布只要确定均值和方差即完全确定分布本身了,则如果Y的分布是高斯分布且是线性变换,通过如上公式就可以确定Y的均值和方差,从而确定Y的分布 113 | * 一般变换 114 | * 对离散变量,我们只需要计算y=f(x),再把对应的值累加起来,具体见如下公式: 115 | $$p_y(y)=\sum_{x:f(x)=y}p_x(x)$$ 116 | * 对连续变量,为了代入y=f(x),我们先计算y的cdf,公式如下: 117 | $$P_y(y)=P(Y \le y)= P(f(X) \le y)=P(X \le f^{-1}(y))=P_x(f^{-1}(y))$$ 118 | * 对y的cdf求导就得到y的pdf 119 | $$p_y(y)=\frac{d}{dy}P_y(y)=\frac{d}{dy}P_x(f^{-1}(y))=\frac{dx}{dy}\frac{d}{dx}P_x(x)=\frac{dx}{dy}p_x(x)$$ 120 | * 蒙特卡洛近似 121 | * 通常来说,通过如上变换公式来计算变换后变量的分布是很困难的(求导一般较难)。因此我们提出一种方法来近似计算变换后的分布 122 | * 核心思想是用样本分布近似总体分布 123 | * 具体方法:在原X分布中多次采样得到样本集{x1,x2,x3...},对样本应用变换得到变换后的样本集{f(x1),f(x2),f(x3)...},可以认为这个样本集是变换后的Y分布的一个样本集,可以用其样本分布来近似Y的总体分布 124 | * **信息论** 125 | * 熵(entropy) 126 | * 度量一个随机变量的不确定性 127 | $$H(X)=-\sum_{k=1}^K p(X=k)log_2 p(X=k)$$ 128 | * 可以从编码角度来了解,$log_2 p(X=k)$表示在分布p情况下编码X=k信息所需要的编码数,$p(X=k)$表示这种信息的比例,作为权值,加权相加。因此熵表示编码该随机变量的最小平均编码数。里面的编码思想是最小化编码数,比例越大的信息,用越少的编码数(参考哈夫曼编码) 129 | * KL离散度(KL divergence) 130 | * 交叉熵 131 | $$H(p,q)=-\sum_k p_k log q_k$$ 132 | * 对比熵的公式,交叉熵表示在分布q的情况下编码信息,但是实际分布是p,因为p和q不同,肯定不是最小编码。而且当p和q差异越大时,编码数越大。因此可以用交叉熵来度量两个分布之间的差异性。注意交叉熵不是对称的,即H(p,q)不一定等于H(q,p) 133 | * 因为交叉熵的大小不是纯粹地依赖两个分布的差异性,还依赖与分布本身的熵值。为了更好地度量两个分布之间的差异性,我们多使用KL离散度 134 | $$KL(p||q)=\sum_{k=1}^{K}p_klog\frac{p_k}{q_k}=\sum_k p_k log p_k-\sum p_k log q_k=-H(p) + H(p,q)$$ 135 | * 从公式可知,KL离散度表示在错误的分布q的情况下编码信息比正常在分布p情况下编码信息所额外耗费编码数。这样就排除分布本身熵大小的影响,更好地度量两个分布之间的差异性。 136 | * 同样地,KL离散度也不是对称的,即KL(p||q)不一定等于KL(q||p) 137 | * 在机器学习中,经常使用KL离散度来作为损失函数 138 | * 互信息(mutual information) 139 | * 对两个随机变量X和Y,两者包含的共同信息称为互信息。可以通过比较分布p(X,Y)和p(X)p(Y)的差异性来度量互信息。如果随机变量X和Y独立,则p(X,Y)等于p(X)p(Y),两者差异性为零,互信息为零。互信息公式如下 140 | $$I(X;Y)=KL(p(X,Y)||p(X)p(Y))=\sum_x \sum_y p(x,y)log \frac{p(x,y)}{p(x)p(y)}$$ 141 | * 条件熵 142 | * 熵表示随机变量的不确定性,而条件熵表示在知道另一个随机变量情况,该随机变量的情况。 143 | $$H(Y|X)=\sum_x p(x)H(Y|X=x)$$ 144 | * 其中H(Y|X=x)表示条件概率分布P(Y|X=x)的熵 145 | * 通过条件熵来计算互信息 146 | $$I(X;Y)=H(X)-H(X|Y)=H(Y)-H(Y|X)$$ 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | -------------------------------------------------------------------------------- /pdf/ch10_BayesianNetworks.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CIS2016/MLaPP/b4fbb73988cf9afcc1d7fb733499509ae06340fc/pdf/ch10_BayesianNetworks.pdf -------------------------------------------------------------------------------- /pdf/ch1_and_ch2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CIS2016/MLaPP/b4fbb73988cf9afcc1d7fb733499509ae06340fc/pdf/ch1_and_ch2.pdf -------------------------------------------------------------------------------- /pdf/ch5_note.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CIS2016/MLaPP/b4fbb73988cf9afcc1d7fb733499509ae06340fc/pdf/ch5_note.pdf -------------------------------------------------------------------------------- /pdf/ch5_slide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CIS2016/MLaPP/b4fbb73988cf9afcc1d7fb733499509ae06340fc/pdf/ch5_slide.pdf -------------------------------------------------------------------------------- /pdf/ch9_note.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CIS2016/MLaPP/b4fbb73988cf9afcc1d7fb733499509ae06340fc/pdf/ch9_note.pdf -------------------------------------------------------------------------------- /pdf/ch9_slide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CIS2016/MLaPP/b4fbb73988cf9afcc1d7fb733499509ae06340fc/pdf/ch9_slide.pdf -------------------------------------------------------------------------------- /pdf/note_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CIS2016/MLaPP/b4fbb73988cf9afcc1d7fb733499509ae06340fc/pdf/note_1.pdf -------------------------------------------------------------------------------- /pdf/note_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CIS2016/MLaPP/b4fbb73988cf9afcc1d7fb733499509ae06340fc/pdf/note_2.pdf -------------------------------------------------------------------------------- /pdf/note_chap10.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CIS2016/MLaPP/b4fbb73988cf9afcc1d7fb733499509ae06340fc/pdf/note_chap10.pdf --------------------------------------------------------------------------------