首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为在线手写识别的HMM模型建立参数?

如何为在线手写识别的HMM模型建立参数?
EN

Stack Overflow用户
提问于 2020-11-08 00:39:48
回答 1查看 166关注 0票数 0

我对隐马尔可夫模型有点缺乏经验。如果我想建立一个用于在线手写识别的隐马尔可夫模型(这意味着用户在设备上进行手写识别,而不是识别字母图像),参数模型是怎样的?例如:

  • 隐藏的状态,
  • 意见,
  • 初始状态概率,
  • 国家过渡概率,
  • 排放概率?

我现在得到的可能是观察结果,它是{ x,y,时间戳}的数组,这是我从用户手指在平板电脑上的移动中记录下来的每个点。

该系统一次只记录/训练/识别一个号码。这意味着我有10个(0到9个)州?或10个分类结果?从这样的网站上,我发现隐藏的状态通常以“序列”的形式出现,而不是那种单一的状态。那么,在这种情况下,州是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-11 05:40:05

HMM对时态数据很好地工作,但它可能是这个问题的次优匹配。

正如您已经指出的,观测值{x,y,timestamp}本质上是暂时的。因此,最好将其转换为HMM的发射,同时将数字保留为HMM的状态。

  • 显式地,如果数字(0到9)被编码为隐藏状态,那么对于100 x 100“图像”,发射可以是10000个可能的像素坐标之一。
  • 该模型预测在每个时间戳(在线)的数字状态.输出是一个非唯一的像素位置。这是很麻烦的,但也不是不可能的编码(你会有一个巨大的排放矩阵)。
  • 起始位数的初始状态概率可以是均匀分布(1/10)。更聪明的是,您可以引用Benford定律来近似出现在文本中的数字的频率,并相应地分配您的起始概率。
  • 状态转换和发射概率是很棘手的。一种策略是使用Baum(一种期望最大化的变化)算法对HMM进行训练,以便迭代和不确定地估计过渡矩阵和发射矩阵的参数。培训数据将是已知数字,像素位置跨时间注册。

把问题抛到另一种方式是不太自然的,因为这种时间上的适合,但不是不可能。

  • 您还可以使10000可能的状态对齐像素,同时有10个发射(0-9)。
  • 然而,最常用的HMMs算法的运行次数与状态数(即。Viterbi算法对于最有可能有效的隐藏状态运行O(n_emissions *n_states^2)。您将被激励保持低隐藏状态的数量。

主动建议

也许你可能正在寻找的是卡尔曼滤波器,这可能是一个更优雅的方式来发展这种在线数字识别(在CNN之外,似乎最有效)使用这种时间序列格式。

如果你的排放量是多元的,你也可能想看看结构化的感知器。x,y)和独立。在这里,我认为x,y坐标应该是相关的,并且应该被尊重。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64733817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档