R-depmixs4中的HMM文本识别

R-depmixs4中的HMM文本识别,r,machine-learning,speech-recognition,hidden-markov-models,R,Machine Learning,Speech Recognition,Hidden Markov Models,我想知道如何利用depmixs4包在数据集上运行HMM。为了得到测试数据集的分类,我将使用哪些函数? 我有一个训练数据文件、一个标签数据文件和一个测试数据文件。 训练数据由4620行组成。每行有1079个值。这些值是83个窗口,每个窗口有13个值,换句话说,1079是由83个状态组成的数据,每个类别有13个观察值。每一行有1079个值,是一个口语单词,因此它有4620个语句。但数据总共只有7个不同的单词。每一个不同的单词都有660个不同的话语,因此有4620行单词。 所以我们有单词(0-6) 标

我想知道如何利用depmixs4包在数据集上运行HMM。为了得到测试数据集的分类,我将使用哪些函数? 我有一个训练数据文件、一个标签数据文件和一个测试数据文件。 训练数据由4620行组成。每行有1079个值。这些值是83个窗口,每个窗口有13个值,换句话说,1079是由83个状态组成的数据,每个类别有13个观察值。每一行有1079个值,是一个口语单词,因此它有4620个语句。但数据总共只有7个不同的单词。每一个不同的单词都有660个不同的话语,因此有4620行单词。 所以我们有单词(0-6) 标签文件是一个列表,其中每行的标签为0-6,对应于它们是什么单词。例如,第300行标记为2,第450行标记为6,第520行标记为0。
测试文件包含大约5000行,其结构与训练数据完全相同,只是没有与之相关的标签。 我想使用HMM来使用训练数据对测试数据进行分类。 如何使用depmixs4输出测试数据的分类? 我在看:

  depmix(response, data=NULL, nstates, transition=~1, family=gaussian(), 
        prior=~1, initdata=NULL, respstart=NULL, trstart=NULL, instart=NULL,
        ntimes=NULL,...)

但我不知道响应指的是什么,也不知道其他参数

这里有一个快速但不完整的测试,可以让您开始,如果只是为了让您熟悉基本的大纲。请注意,这是一个玩具示例,它仅仅是HMM设计/分析的表面。例如,depmixs4包的vignette提供了大量的上下文和示例。同时,这里有一个简短的介绍

假设你想调查工业生产是否提供了经济衰退的线索。首先,让我们加载相关软件包,然后从圣路易斯联邦储备银行下载数据:

library(quantmod)
library(depmixS4)
library(TTR)

fred.tickers <-c("INDPRO")
getSymbols(fred.tickers,src="FRED")
高值(>0.80°)表明/表明经济正在衰退/收缩

再一次,一个非常非常基本的介绍,也许太基本了。希望能有帮助

indpro.1yr <-na.omit(ROC(INDPRO,12))
indpro.1yr.df <-data.frame(indpro.1yr)
model <- depmix(response=INDPRO ~ 1, 
                family = gaussian(), 
                nstates = 2, 
                data = indpro.1yr.df ,
                transition=~1)
set.seed(1)
model.fit <- fit(model, verbose = FALSE)
model.prob <- posterior(model.fit)
prob.rec <-model.prob[,2]
prob.rec.dates <-xts(prob.rec,as.Date(index(indpro.1yr)),
    order.by=as.Date(index(indpro.1yr)))
head(prob.rec.dates)
                [,1]
1920-01-01 1.0000000
1920-02-01 1.0000000
1920-03-01 1.0000000
1920-04-01 0.9991880
1920-05-01 0.9999549
1920-06-01 0.9739622