残差网络ResNet详解
论文链接:Deep Residual Learning for Image Recognition
残差网络的由来随着神经网络研究的深入,人们发现了深度的增加会为模型带来巨大的能力提升
但是网络深度的增加也带来了梯度消失/爆炸的问题幸运的是这一问题被初始归一化和归一化层解决了,它们使得网络得以收敛
然而,解决了梯度消失问题的深度网络却又暴露出了退化问题即网络加深到一定程度后,继续加深网络反而会使训练误差增大不幸的是研究表明这个问题并不是过拟合引起的
可退化问题实际上并不应该发生我们考虑一个已有的层数较少的模型和按其相同结构加深的模型假如深度模型中新加入的层都表示恒等映射,那么两个模型至少应该有相同性能
Kaiming He认为这种退化问题是目标隐函数难以用现有optimizer近似导致的所以他提出了残差结构来解决这一问题
残差结构残差结构如图所示
假设网络中一部分堆叠层的目标隐函数为$H(x)$在残差结构中这部分对叠层的目标则为$F(x)=H(x)-x$而输入x被直接以恒等形式(identity shortcut)连接至输出,即残差结构的输出为$F(x)+x$
基于前面的假设,当恒等 ...
马尔可夫随机场MRF和条件随机场CRF
马尔可夫随机场概率图模型是一类用图来表达变量相关关系的概率模型
使用无向图的模型称为马尔可夫网(Markov Net)或马尔可夫随机场(Markov Random Field, MRF)
假设有联合概率分布$P(X)$,我们可以用无向图$G(V,E)$来表示$P(X)$
$G$中任意一个结点$v\in V$表示一个随机变量$X_v$,而任意边$e\in E$表示其连接的两个结点(随机变量)间的依赖关系
给定概率分布$P(X)$,其对应的无向图模型$G(V,E)$满足:
全局马尔可夫性:假设$G$中结点集合$A$到$B$必须经过节点集合$C$,则给定随机变量子集$X_C$时,随机变量子集$X_A$和$X_B$条件独立,即
P(X_A,X_B|X_C)=P(X_A|X_C)P(X_B|X_C)
根据全局马尔可夫性,可进一步推论无向图$G$满足:
局部马尔可夫性:设$v\in V$是$G$的任意一个结点,$W$是与$v$邻接的结点的集合,$U=V/({v}\cup W)$是除$v$和$W$外所有结点的集合,则
P(X_v,X_U|X_W)=P(X_v|X_W)P(X_U|X_W)也即 ...
隐马尔科夫模型
概率图模型是一类用图来表达变量相关关系的概率模型
概率图模型一般可以分为两种:使用有向无环图DAG的称为贝叶斯网,使用无向图的称为马尔可夫网
隐马尔科夫模型隐马尔科夫模型(Hidden Markov Model, HMM)是一种最简单的动态贝叶斯网
马尔可夫链的相关基础知识在马尔可夫链基础中已提到,此处不再赘述
令${Xn,n=1,2,…}$是转移概率为$P{ij}$,初始状态概率为$\pi_i=P(X_1=i)$的马尔可夫链,记$S$是一个有限的信号集合
若马尔可夫链在每一时刻都根据当前状态$X_n$发射一个信号$Y_n\in S$,满足若$X_n=j$则发射信号$s_i$的概率为
$P{Yn=s_i|X_n=j,X_1,Y_1,…X{n-1},Y_{n-1}}=P{Y_n=s_i|X_n=j}$
即发射信号的概率条件独立于过往时刻的状态和信号,只依赖于当前状态,这样的模型称为隐马尔科夫模型
隐马尔可夫模型中,只有信号序列$Y_1,Y_2,…$能被观测到,状态序列$X_1,X_2,…$是不可被观测的
记HMM的状态转移矩阵为$A$,观测值生成概率矩阵为$B$,初始状态分布为$\pi$ ...
Auto-Encoding Variational Bayes论文解读
论文链接:Auto-Encoding Variational Bayes
本文基本按照原文的思路用自己的话对其进行重述和讲解
动机考虑以下问题情境:假设有独立同分布的数据集$X={x^{(i)}},i=1,2,…,N$
数据点$x^{(i)}$的生成分为两步:(1) 从先验分布$p{\theta^*}(z)$中生成$z^{(i)}$; (2) 从条件分布$p{\theta^*}(x|z)$中生成$x^{(i)}$
其中隐变量$z^{(i)}$和分布参数$\theta^*$都是未知的,此时常常会遇到以下两种情况:
难解性:似然的积分 $p\theta(x)=\int p{\theta}(z)p{\theta}(x|z)\mathrm{d}z$ 难以计算,使得似然无法估计或求微分;后验概率 $p{\theta}(z|x)=\frac{p{\theta}(x|z)p{\theta}(z)}{p_{\theta}(x)}$ 难以计算,导致不能用EM算法;平均场变分推理要求的积分难以计算
大数据集:数据集非常大的情况下基于采样的方法(例如蒙特卡罗EM)效率很低,因此我们希望使用minibatc ...
变分推断
变分推断在概率模型中,利用已知变量推断未知变量分布的过程称为推断(或称推理,inference)
假设模型的联合概率分布为$P(X,Z)$,其中$X$是观测变量,$Z$是隐变量和模型参数的集合,推断的目标就是学习模型的后验概率分布$P(Z|X)$,该分布往往很复杂,所以一般使用近似方法
马尔科夫链蒙特卡罗MCMC使用随机抽样的方法来近似该分布
而变分推理(variational inference, VI)则寻找另一个简单的分布$Q(Z)$使其与$P(X|Z)$尽可能相似,称其为变分分布
变分法是泛函分析领域的概念,简单来说泛函是函数的函数,它将函数映射为标量,例如信息熵,而变分法就是寻找泛函的极值
度量两个分布的相似度很容易想到KL散度,将KL散度分解为如下形式
\begin{aligned}
D_{KL}(Q(Z)\|P(Z|X))
&=E_Q[\log \frac{Q(Z)}{P(Z|X)}]\\
&=E_Q[\log Q(Z)]-E_Q[\log P(X,Z)]+E_Q[\log P(X)] \\
&=\log P(X)-(E_Q[\log P(X,Z)]-E_Q[\log ...
EM算法
EM算法原理概率模型中常常既含有可观测变量,有含有不可被观测的隐变量(latent variable)
记可观测变量为$X$,隐变量为$Z$,模型参数为$\theta$
若概率模型的变量都可被观测,则可以直接用极大似然$\ln L(\theta)=\sum_{X}\ln P(X|\theta)$来估计参数$\theta$
然而若模型含有不可观测的隐变量,则只能通过边缘概率求似然,即似然函数变为$\ln L(\theta)=\sum{X}\ln P(X|\theta)=\sum{X}\ln \sum_Z P(X,Z|\theta)$,该式无法解析求解
EM(Expectation-Maximization)算法就是对含有隐变量的概率模型应用极大似然估计或极大后验概率的方法
E-step首先引入Jensen不等式
设$X$是随机变量,$f(x)$为(下)凸函数,则有
E[f(X)]\geq f(E[X])当且仅当$f(x)$为常数时等号成立。特别的,若$f(x)$为凹函数,则不等号相反。
因为 $\ln$ 是凹函数,所以根据Jensen不等式有$E[\ln f(X)]\leq\ln ...
蒙特卡罗方法
蒙特卡罗方法简介蒙特卡罗(Monte Carlo)方法不是某个特定的算法,而是一类随机算法的总称蒙特卡洛方法依赖于重复随机抽样来获得数值结果,也即使用随机性来解决原则上可能具有确定性的问题
一般来说,随机算法可以分为两类:蒙特卡罗算法和拉斯维加斯算法。
蒙特卡罗算法中采样越多,越近似最优解
例如欲求$N$个数的平均数,可以采用随机抽样取出其中$n<N$个数,以$n$个数的平均值作为近似解显然$n$越大,近似解越接近正确解,但除非$n=N$,否则永远无法得到正确解
拉斯维加斯算法中采样越多,越可能找到最优解
例如欲找到大数$N$的任意一个因子,可以随机抽取$x<N$并判断$x$是否整除$N$显然随机的$x$越多就越容易找到$N$的因子,即找到正确解,但也有可能无解
总的来说,蒙特卡罗方法并没有明确的定义,但往往遵循一个特定的模式:
假设概率分布已知,蒙特卡罗通过抽样获得概率分布的随机样本
通过大量随机样本对概率分布的特征进行分析
例如经典的求$\pi$方法:首先绘制如图的单位正方形和其中的四分之一圆,然后均匀的在其中随机撒点,统计圆中的点数与总点数比值,该比值即为$\fr ...
马尔可夫链蒙特卡罗MCMC
马尔可夫链蒙特卡罗马尔可夫链蒙特卡罗(Markov Chain Monte Carlo, MCMC)是一类利用马尔可夫链从特定分布中随机采样的算法
具体来说,MCMC定义了一个满足遍历定理的马尔可夫链,使其平稳分布就是目标分布
这样的马链在时间趋于无穷时,样本分布趋于平稳分布,即假设已长时间运行到时刻$m$,则之后的时间里得到的样本集合${X{m+1},X{m+2},…X_{m+n}}$就是目标概率分布的抽样结果
那么MCMC的关键问题就是如何定义满足条件的马尔可夫链
常用的MCMC方法有Metropolis-Hastings算法(M-H算法)和Gibbs抽样
Metropolis-Hastings首先令$Q$是一个不可约马尔可夫链,满足任意$q(i,j)>0$,称为建议分布(proposal distribution)
再定义$\alpha(i,j)$,称为接受分布(acceptance distribution),则M-H算法构造的马尔可夫链$P$转移概率为
\begin{aligned}
&P_{ij}=q(i,j)\alpha(i,j)&&,i\neq j\\
&P_{ ...
马尔科夫链基础
随机过程
随机过程:一个随机过程${X_t},t\in T$是随机变量的一个集合,也即对每个$t\in T$,$X_t$是随机变量
随机过程中的$t$往往解释为时间,此时可将$X_t$视作过程在时间$t$的状态,即$X_t=i$表示过程在时刻$t$处于状态$i$
当T为可数集时,相应的随机过程称为离散时间过程,当$T$为一个实数区间时,则称为连续时间过程
随机过程的状态空间定义为随机变量$X_t$的所有可能取值
马尔可夫链令${X_n},n=0,1,2,…$是状态空间中包含有限个或可数个可能值的随机过程
若对任意$i,j$都有一个固定概率$P{ij}$,使得过程当前时刻在状态$i$而下一时刻在状态$j$,则该随机过程称为马尔可夫链(Markov Chain),若$P{ij}$与时间无关,则称为时间齐次马尔可夫链,以下讨论的都是齐次的马链
形式化的,对于任意$n\geq 0$,有
P\{X_{n+1}=j|X_n=i,X_{n-1}=i_{n-1},...,X_1=i_1\}=P\{X_{n+1}=j|X_n=i\}=P_{ij}通俗的说,对于一个马尔可夫链,给定过去的状态$X0, ...
聚类的距离度量和性能评估
距离计算距离是衡量样本间相似度的基本方法,即距离越大相似度越低
有序变量对于连续型属性或有序的离散型属性,一般使用切比雪夫距离
dis(x,y)=\left(\sum_{i=1}^m|x_i-y_i|^p\right)^{\frac{1}{p}}当$p=2$时,切比雪夫距离即欧式距离 $dis(x,y)=|x-y|_2$当$p=1$时,切比雪夫距离即曼哈顿距离 $dis(x,y)=|x-y|$
二值变量二值变量指所有属性都是二元离散属性的变量,对二值变量可计算出列联表
若二值变量为对称变量,即两个状态权重相同,则有
dis(x,y)=\frac{r+s}{q+r+s+t}若二值变量为非对称变量,假设正值权重更大,则有Jaccard距离
dis_{jaccard}(x,y)=\frac{r+s}{q+r+s}注意Jaccard系数与Jaccard距离的区别,Jaccard系数为 $1-dis_{jaccard}(x,y)=\frac{q}{q+r+s}$
标称型变量标称型变量指所有属性都是无序离散型属性的变量,也即二值变量的一般推广
其距离可以用简单匹配来衡量,即$dis(x,y ...