资源描述:
《机器学习&数据挖掘笔记_25(pgm练习九:hmm用于分类)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、前言: 本次实验是用EM来学习HMM中的参数,并用学好了的HMM对一些kinect数据进行动作分类。实验内容请参考coursera课程:ProbabilisticGraphicalModels中的的最后一个assignmnet.实验用的是kinect关节点数据,由于HMM是一个时序模型,且含有隐变量,所以这个实验不是很好做。大家对HMM不熟悉的话可以参考网友的实验:code. kinect人体关节数据中,每个关节点由3个坐标数据构成,多个关节点数据(实验中为10个)构成一个pose,多个pose构成一个action,每个act
2、ion所包含的pose个数可能不等。其示意图如下: 图中有3个action:clap,highkick,lowkick.而每个action可以由不同的pose序列构成,上面的每个action中列举出了3种情况,其长短可不一。在HMM模型中,上面模型中每个节点代表的是观察节点,代表一个pose,该pose可由状态变量(隐变量)产生,比如具有3个pose的action示意图如下: 其中的状态变量S1,S2,S3并不是该pose的action标签,而是介于pose和action之间的一个隐藏类别,它与action和pose
3、数据同时有关,这里state的物理意义不是十分明确,state节点的个数可由验证集通过实验来确定。 实验中一些函数的简单说明: [PloglikelihoodClassProb]=EM_cluster(poseData,G,InitialClassProb,maxIter): 实验1的内容。poseData大小为N*10*3,表示N个pose的数据。G,P和练习八意思一样,为模型的结构信息。InitialClassProb大小为N*K,表示这N个样本分别属于K个类别的初始概率,ClassProb表示EM聚类完成后这N个样
4、本属于各个类别的概率值。loglikelihood中保存的是每次EM迭代时的log似然值。模型中的隐变量为每个样本所属的类别。程序中的E步是:给定模型中的参数(每个关节点的CLG参数),求出每个样本属于各个类别的概率。M步为:给定每个样本属于K个类别的概率后,来求模型中每个关节点的参数。 [musigma]=FitG(X,W): 该函数类似于练习八中的FitGaussianParameters(),只是这里每个样本多了一个可信度权值,求高斯参数的时候需要把这个权值考虑进去。 [Betasigma]=FitLG(X,U,W):
5、 该函数类似于练习八中的FitGaussianParameters(),也是多了一个参数W,表示输入进来的数据X和父节点数据U的可信度为W中对应的值。每个state都会学习到的自己的参数beta和sigma,为HMM模型中的发射矩阵。 out=logsumexp(A):www.78name.com 很明显是求exp(A),然后求和,最后取log值,内部采用了防止数据溢出的方法。如果A是一个矩阵,则上面的操作是针对A的每一行进行的。 [PloglikelihoodClassProbPairProb]=EM_HMM(actio
6、nData,poseData,G,InitialClassProb,InitialPairProb,maxIter): 实验2的内容。参数结构比较复杂,简单介绍下。 actionData结构体向量:该向量中的每一个元素都是一个action。action.action表示对应动作的名称,在本函数中,因为是训练某个类别的HMM模型,所以其名称都一样。action.marg_ind,表示该action的pose数据在poseData向量中的行索引,同时也为pose属于各个state的概率值在ClassProb中的索引。action.
7、pair_ind:action中连续的pose之间的边在PairProb中的索引,PairProd矩阵中的每一行表示对应edge两端之间的state转移概率。 poseData,G,InitialClassProb,maxIter和前面的差不多。 InitialPairProb:大小为V*K^2的矩阵,其中V为模型中边的数目,K为HMM模型中状态的个数,该矩阵与HMM转移矩阵的计算有关。 博文前面的HMMaction示意图中对应的poseData,PairProb值形式如下所示: 返回值P和以前的P结构稍有不同,因为
8、这里考虑到了HMM之间的状态转移,所以有P.transMatrix来表示HMM中状态转移矩阵,尺寸为K*K。另外P.c不再表示每个pose所属action的概率分布,而是初始状态分布。P.c表示在这些数据下,这个action对应state的先验概率