PRML Project(编程大作业)
编程大作业代写 在二维的训练数据上,实现一个空间聚类算法(例如 K-Means,任何聚类算法均可)为每个元音训练单独的隐马尔可夫模型(每个元音单独聚类,然后分别学习 HMM,输 入是与每个 2D 点关联的聚类类别号)。对于每个测试数据,针对每个
说明:可以使用任何语言(如 C/C++, Java, Matlab, Python)完成此编程大作业。 Project 满分 100 分,鼓励完成主体部分(满分 70 分)后,尝试拔高题内容(满分 30 分)。 按照三个部分评分:代码实现(60%)、准确性(20%)、报告(20%)。 编程大作业代写
可以使用 MATLAB 或 Python 内置的 HMM,EM 相关函数,或者网上的代码(一定不要忘记 在所提交代码的开头写明代码的引用信息,否则按照抄袭处理)。
Project 分组:2 人一组,实验报告中要按照要求写清自己负责的部分并详细介绍。
题目:基于隐马尔可夫模型的笔势识别 编程大作业代写
- 数据:project1-Data.zip。该数据集有 5 个文件,每个是一个元音字母的笔势。这些是 xml 文件,格式易读。以奇数索引条目作为训练数据,偶数作测试数据。
(注意:本 project 的拔高题之一是使用真实视频数据集,即第 7 题,如果您选择 7,则可 以不用笔势识别的数据,直接用 KTH 数据集即可。)
- 在二维的训练数据上,实现一个空间聚类算法(例如 K-Means,任何聚类算法均可)
- 为每个元音训练单独的隐马尔可夫模型(每个元音单独聚类,然后分别学习 HMM,输 入是与每个 2D 点关联的聚类类别号)。对于每个测试数据,针对每个 HMM 计算其对数
似然,即 log P(O|M),并获取给出最高对数似然的 HMM 类别,即对测试数据进行分类 判别。给出混淆矩阵并描述你的发现。
- 改变 2 中的聚类数量(变量 M)和 3 中隐藏节点的数量(变量 N)并计算分类准确率。 给出不同 M 和 N 取值下的混淆矩阵,并描述你的发现。 编程大作业代写
- (拔高题 5 分) 实现动态时间规整算法(Dynamic Time Warping),并重复 1-4。
- (拔高题 5 分—这个题目难度高,建议最后做) 学习一个 HMM 模型,该 HMM 可以使用维特比解码(Viterbi decoding)来执行分类(注意:本题目不是让你生成多个分类器并进 行分类判别,而是生成一个 HMM 模型,可以执行多个类别判别)。将分类准确率与题目 3 和 4 的结果进行比较,并描述你的发现。
- (拔高题 20 分) 不用做笔势识别任务,在真实视频动作分类数据集上完成此编程大作业, 即步骤 1-6.
如果选择 7,则可以不用笔势识别的数据,直接用 KTH 数据集即可(下载地址: http://www.nada.kth.se/cvap/actions/)。KTH 是一个六分类数据集。使用此数据集会更有趣, 但也更具开放性,也比笔势数据集更具挑战性,因为你必须确定如何从视频中提出特征并用 于训练 HMM 模型。完成此 project 推荐您阅读以下文献:
- Chapter 5 Hidden Markov Models. Gernot A. Fink, Markov Models for Pattern Recognition: From Theory to Applications, Springer, 2008 (ref1.pdf ).
- Lawrence R. Rabiner, \A tutorial on hidden Markov models and selected applications in speech recognition," Proceedings of the IEEE, vol. 77, no. 2, pp. 257-289, Feb 1989 (ref2.pdf ). 请关注此论文的 Section V.A.
发表回复
要发表评论,您必须先登录。