----Human Activity Recognition and Pattern Discovery
challenges:
1 Recognizing concurrent activities
Activity recognition
focuses on accurate detection of the human activities based on a predefined activity model. Therefore, an activity recognition researcher builds a high level conceptual model first, and then implements the model by building a suitable pervasive system.
三种方式:
1 recognizing human actions and activities using a video camera
2 wearable sensors
3 ambient sensors
CHMM couples HMM with temporal, asymmetric influences
HMM is often used, and it consists of a hidden variable and an observable variable at each time step. In this case, the hidden variable is an activity label, and the observable variable is a feature vector.
概率图模型分为有向和无向的模型。有向的概率图模型主要包括贝叶斯网络和隐马尔可夫模型,无向的概率图模型则主要包括马尔可夫随机场模型和条件随机场模型。
2001年,卡耐基.梅隆大学的Lafferty教授(John Lafferty,Andrew McCallum,Fernando Pereira)等针对序列数据处理提出了CRF模型(Conditional Random Fields Probabilistic Models for Segmenting and Labeling Sequence Data)。这种模型直接对后验概率建模,很好地解决了MRF模型利用多特征时需要复杂的似然分布建模以及不能利用观察图像中上下文信息的问题。Kumar博士在2003年将CRF模型扩展到2-维格型结构,开始将其引入到图像分析领域,吸引了学术界的高度关注。
对给定观察图像,估计对应的标记图像 y观察图像 ,x未知的标记图像
其中,z(y,θ) 为归一化函数,φc为定义在基团c上的带有参数θ的势函数。CRF模型中一个关键的问题是定义合适的势函数。
扩展势函数
(1)对数回归(Logistic Regression,LR)
(2)支持向量机(Support Vector Machine,SVM)
(3)核函数
(4)Boost
(5)Probit
扩展模型结构
(1)动态CRF模型
(2)隐CRF模型
(3)树结构CRF模型
CRF模型的标准图结构中,标记之间的相关性通过格型结构的边(edge)表示 。
(4)混合CRF模型
1.Markov假设
有限历史 以及 平稳。
有限历史指的是和有限的历史相关
平稳指的是 两个状态的关系和时间无关。
2.HMM
给定观察序列{O1,O2,O3...},每个观察Oi对应隐状态序列{S1,S2....Sn}。
HMM解决三个问题:
1.计算观察序列的概率
利用forward算法即可
2.跟定观察序列,计算出对应概率最大的隐状态序列
Viterbi算法,提供O(N*N*T)的复杂度
3.给定观察序列以及状态集合,估计参数 A(状态转移矩阵) B(发射概率)
EM算法, forward-backword 算法
问题2类似序列标注的问题
Pr(O|S) = p(O1|S1)*p(O2|S2).....p(On|Sn)
P(O) = p(O1|start)*p(O2|O1).....p(On|On-1)
P(S|O) = argmaxPr(O|S)P(O) = argmax( ....p(Oi|Si)*p(Si|Si-1)....)
ME:
分类器,将给定的观察值O进行分类。
ME需要从O中提取出相关的Feature以及计算对应w。
注意:主要解决的是观察值O分类问题,如文本分类d那个
P(C=c|O)
MEMM:
序列标注问题,综合ME和HMM,提供更多的Featrue,优于HMM
考虑到t时间附近观察以及状态对其影响。
P(S|O) = argmax (P(S|O) = argmax(....p(Si| O, Si-1)....),其中O可以是Oi,也可以是Oi-1等观察。
最大熵模型 Maximum Entropy
比如华盛顿和维吉利亚都可以作人名和地名,而从语料中只知道p(人名)=0.6,那么p(华盛顿=人名)的概率为多少比较好呢?一个直观的想法就是p(华盛顿=人名)=0.3。为什么呢?这就是在满足已有证据的情况下不做任何其他假设,也就是熵最大,这就是最大熵模型的原理。
现在来看模型的定义:
首先,明确模型的目标:给定一个上下文x,估计p(y|x)
接着,从训练样本中我们可以得到一串标注过的样本(x_i, y_i),其中x_i为上下文,y_i \in Y为类别
然后构造特征函数
f(x,y) = 1 如果x,y满足一些条件,比如x=记者*,y=人名
0 otherwise
注意x是一个上下文,是个向量,而不是单个词
(最大熵模型里的特征概念不同于模式识别里的特征,这里的特征即特征函数,通常是二值函数,也有直接定义成实数的,比如 jeon-sigir06里直接把f定义为KDE距离,不是很明白那样定义的好处。)
于是模型的约束就是对于所有的特征函数模型中的期望等于样本的期望,即
E_p(f) = E_{\tilde p}(f)
其中
E_p(f) = \sum_{x, y}p(x, y)f(x, y) = \sum_{x, y}p(x)p(y|x)f(x,y) \approx \sum_{x, y} \tilde p(x)p(y|x)f(x,y)
\tilde p(f) = \sum_{x, y} \tilde p(x, y)f(x, y),
并且对于任意的x:\sum_y p(y|x) = 1
而模型的熵为
H(p)=-\sum_{x,y} \tilde p(x) p(y|x) \log p(y|x)
在满足约束的情况下,使熵最大,于是问题即求
p* =\argmax_{p \in P} -\sum{x, y} p(y|x)\tilde p(x) \log p(y|x)
where P={p(y|x) | \all f_i : \sum_{x,y}p(y|x)\tilde p(x)f_i(x,y) = \sum_{x,y}\tilde p(x,y)f_i(x,y), \all x : \sum_y p(y|x) = 1}
可以证明,模型的最优解的形式为
p(y|x) = exp(\sum_i \lambda_i f_i(x,y)) / Zx
where Zx = \sum_y exp(\sum_i \lambda_i f_i(x,y))
具体证明请见
http://qxred.yculblog.com/post.1593573.html
拜下qxred大牛……
隐马尔可夫模型 Hidden Markov Model
马尔可夫模型实际上是个有限状态机,两两状态间有转移概率;隐马尔可夫模型中状态不可见,我们只能看到输出序列,也就是每次状态转移会抛出个观测值;当我们观察到观测序列后,要找到最佳的状态序列。
设O为观测值,x为隐变量,那么模型要找到让P(O)最大的最佳隐藏状态,而
P(O) = \sum_x P(O|X)P(X)
而其中
P(X)=p(x_1)p(x_{2..n}|x_1)
=p(x_1)p(x_2|x_1)p(x_{3..n}|x_1,x_2)
……
根据x_i只与x_{i-1}相关的假设有
P(X)=p(x_1)p(x_2|x_1)p(x_3|x_2)……
而类似的
P(O|X)=p(o_1|x_{1..n})p(o_{2..n}|o_1x_{1..n})
=p(o_1|x_{1..n})p(o_2|o_1x_{1..n})p(o_{3..n}|o_{1,2},x_{1..n})
……
根据o_i只与x_i有关的假设有
P(O|X)=p(o_1|x_1)p(o_2|x_2)……
合起来就是
P(O)=\sum_x p(x_1)p(x_2|x_1)p(o_1|x_1)p(x_3|x_2)p(o_2|x_2)……
定义向前变量\alpha_i(t)为t时刻以状态S_i结束时的总概率
\alpha_j(t)=\sum_{i=1}^N \alpha_ip(x_{t}=j|x_{t-1}=i)p(o_t=i|x_t=i)
定义向后变量\beta_i(t)为给定当前状态S_i和t时刻情况下观测序列中剩余部分的概率和
\beta_i(t)=\sum_{j=1}^N \p(x_{t}=j|x_{t+1}=i)p(o_{t}=i|x_{t}=i) \beta_j(t+1)
于是观测序列的概率为
P(O, X_t=i) = \alpha_i(t)\beta_i(t)
最佳状态可以由动态规划得到
模型参数可以由EM算法得到
EM具体请见
http://qxred.yculblog.com/post.1372649.html
再拜qxred大牛……
最大熵隐马 Maximum Entropy Markov Model
HMM的缺点是根据观测序列决定状态序列,是用联合模型解决条件问题;另外,几乎不可能枚举所有所有可能的观测序列。
而MEMM解决了这些问题。
首先,MEMM和MM或HMM都有本质不同,MEMM估计的是P(S|O),而MM估计的是P(S),HMM估计的都是P(O)。
P(S|O)=P(s_1|O)P(s_{2..n}|s_1,O)
=P(s_1|O)P(s_2|s_1,O)P(s_{3..n}|s_1,s_2,O)
……
然后根据假设有
P(S|O)=P(s_1|O)P(s_{2..n}|s_1,O)
=P(s_1|o_1)P(s_2|s_1,o_2)P(s_{3..n}|s_1,s_2,o_3)
……
重新定义特征函数:
a=<b,r>
b是指示函数用于指示当前观测
r是状态值
f_a(o_t, S_t) = 1 if b(o_t) is true and s_t = r
于是约束变为
E_a = \sum_{k=1}^m_{s'}\sum_{s \in S}P(s|s', o_k)f_a(o_k, s) / m_s' = \sum_{k=1}^m_{s'} f_a(o_k, s_k) = F_a
这个目标函数和ME的目标函数实质是一样的
于是解的形式为
P(s|s', o)=exp(\sum_a \lambda_a f_a(o, s)) / Z(o, s')
然后依然采用HMM中的前向后向变量,寻找最佳序列
而实际上得到的序列是由计算
P(s|o) = P(s_0)P(s_1|s_0,o_0)P(s_2|s_1, o_1)……
得到
条件随机场 Conditional Random Fields
MEMM其实是用局部信息去优化全局,会有label bias的问题。比如rib和rob,有如下的状态设计:
/r 1i - 2 \
0 b 3
\r 4o - 5 /
如果训练集合里的ri多于ro,那么ro其实就被无视了……
所以要用全局优化全局,于是引入CRF,其实CRF就是ME扩展版,并不需要由MRF推出
p(y|x)\propto exp(\sum_i\lumbda_k f_k(y_{i-1}, y_i, x)+\sum_k \lumbda_kg_k(x_k, x))
其实这个定义并保持MRF性质:MRF中clique于clique是独立的
从这点意义上来看,Lafferty也满水的= =
虽然X,Y在图上不需要有相同的结构,甚至X都不需要有图的结构,目前通常G只是一条链G=(V={1,2, ..., m}),E={(i,i+1)}。
如果G是一棵树,它的团就是每条边和其上的点,这时候
p_\theta(y|x) = exp(\sun_{e\in E, k}\lambda_k f_k(e,y|_e, x)+\sum_{v \in V,k}\mu_k g_k(v, y|_v, x))
x是上下文,y是标注序列,y|_s是y中与子图S相连的部分
如果是最简单的first-order情况,g_k就相当于ME中的特征函数,f_k类似于MEMM中的特征函数,就是说用g_k来指示状态,用f_k来指示状态转移
从优化角度来说,这两类函数是一样的,可以简写为f_j(y_{i-1},y_i,x,i),于是训练类似ME
当CRF是链状时,一个上下文x的标注可以利用矩阵高效计算
对于长度为n的y,定义n+1个|Y|*|Y|矩阵{M_i(x)|i=1..n+1},其中
Y是类别个数
M_i(y', y|x) = exp(\sum_j \lambda_j f_j(y', y, x, i))
这个就是第i个矩阵i,j上的元素,表示在x下从y'转移到y的概率
于是有p(y|x, \lambda)=\multi_{i=1}^{n+1}M_i(y_{i-1},y_i|x) / Zx
Zx = \multi_{i=1}^{n+1}M_i(x)
Zx只是保证概率之和为1
原来已经有人开始做复杂的情况了……04年cvpr有篇用CRF做图像标注的。而且qixipi告诉我已经有层状CRF了,虽然具体文章我还没看到,qixipi也不记得是在哪了,估计是近年icml, nips, iccv之类的……前两天还在yy这个应该可以发icml的,sigh,看来易想到的idea一般都会有人做了……
Reference
[1] MaCallum, A., &Freitag, D. & Pereira, F.(2000). Maximum Entropy Markov Models for Information Extraction and Segmentation. Proc. 17th ICML
[2] John Lafferty, Andrew McCallum, Fernando Perira. Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data. 18th ICML
[3] Xuming He, Richard S. Zemel, MIguel A. Carreira-Perpinan Multiscale Conditional Random Fields for Image Labeling. 2004 CVPR
http://www.inference.phy.cam.ac.uk/hmw26/crf/