人工智能
superfatsheep
职位:java软件开发工程师,熟悉RTB领域,web前后端开发,以及大数据相关知识。一直在广州工作。
目前正在考虑介入人工智能领域(机器学习)。
展开
-
viterbi,维特比算法通俗理解
维特比算法说白了就是动态规划实现最短路径,只要知道“动态规划可以降低复杂度”这一点就能轻松理解维特比算法维特比算法是一个特殊但应用最广的动态规划算法,利用动态规划,可以解决任何一个图中的最短路径问题。而维特比算法是针对一个特殊的图——篱笆网络的有向图(Lattice )的最短路径问题而提出的。 它之所以重要,是因为凡是使用隐含马尔可夫模型(Hidden Markov Model,HMM转载 2016-07-24 14:25:11 · 5665 阅读 · 1 评论 -
前向算法(Forward Algorithm)
本文直接举实例说明ForwardAlgorithm (前向算法)由马尔科夫模型MM可知:对于一个系统,由一个状态转至另一个状态的转换过程中,存在着转移概率,并且这种转移概率可以依据其紧接的前一种状态推算出来,与该系统的原始状态和此次转移前的马尔可夫过程无关。隐马尔可夫模型(HiddenMarkov models,HMM)是马尔可夫链的一种,它的状态不能直接观察到,但能通过观测向量序转载 2016-07-24 15:38:30 · 803 阅读 · 0 评论 -
维特比算法(Viterbi Algorithm)
寻找最可能的隐藏状态序列 (Finding most probable sequence of hidden states)对于一个特殊的隐马尔科夫模型(HMM)及一个相应的观察序列,我们常常希望能找到生成此序列最可能的隐藏状态序列。 假设连续观察3天的海藻湿度为(Dry,Damp,Soggy),求这三天最可能的天气情况。天气只有三类(Sunny,Cloudy,Ra转载 2016-07-24 15:47:06 · 760 阅读 · 0 评论 -
通用维特比算法的Java实现
用Java实现的求解HMM的维特比算法,开源在Git上:https://github.com/hankcs/Viterbi。代码本身没什么新意,看到Git上没有好用的Viterbi的Java实现,所以补个缺。特点是简单好懂,一个方法搞定。调用简单,往compute方法里填充HMM的五元组就能得到最佳标注序列。附赠一个对经典天气预测问题的求解,问题的描述和思路详见前文:p转载 2016-07-24 14:31:21 · 1200 阅读 · 0 评论 -
隐马尔科夫模型(HMMs)之一:简介及生成模式
介绍(introduction)通常我们总是对寻找某一段时间上的模式感兴趣,这些模式可能出现在很多领域:一个人在使用电脑的时候使用的命令的序列模式;一句话中的单词的序列;口语中的音素序列。总之能产生一系列事件的地方都能产生有用的模式。考虑一个最简单的情况:有人(柯南?)试图从一块海藻来推断天气的情况。一些民间的传说认为“soggy”的海藻意味着潮湿(wet)的天气,“dry”的海藻转载 2016-07-25 17:26:18 · 1125 阅读 · 0 评论 -
隐马尔科夫模型(HMMs)之二:隐含模式
隐含模式(Hidden Patterns) 当马尔科夫过程不够强大的时候,我们又该怎么办呢?在某些情况下马尔科夫过程不足以描述我们希望发现的模式。回到之前那个天气的例子,一个隐居的人可能不能直观的观察到天气的情况,但是有一些海藻。民间的传说告诉我们海藻的状态在某种概率上是和天气的情况相关的。在这种情况下我们有两个状态集合,一个可以观察到的状态集合(海藻的状态)和一个隐藏的状转载 2016-07-25 17:27:52 · 646 阅读 · 0 评论 -
隐马尔科夫模型(HMMs)之三:隐马尔科夫模型
隐马尔科夫模型(Hidden Markov Models) 定义隐马尔科夫模型可以用一个三元组(π,A,B)来定义:π 表示初始状态概率的向量A =(aij)(隐藏状态的)转移矩阵 P(Xit|Xj(t-1)) t-1时刻是j而t时刻是i的概率B =(bij)混淆矩阵 P(Yi|Xj)在某个时刻因隐藏状态为Xj而观察状态为Yi的概率值得注意的是,在状态转移矩转载 2016-07-25 17:29:20 · 614 阅读 · 0 评论 -
隐马尔科夫模型(HMMs)之四:前向算法
前向算法(Forward Algorithm) 一、如果计算一个可观察序列的概率? 1.穷举搜索 加入给定一个HMM,也就是说(,A,B)这个三元组已知,我们想计算出某个可观察序列的概率。考虑天气的例子,我们知道一个描述天气和海藻状态的HMM,而且我们还有一个海藻状态的序列。假设这个状态中的某三天是(dry,damp,soggy),在这三天中的每一天,天转载 2016-07-25 17:31:32 · 824 阅读 · 0 评论 -
隐马尔科夫模型(HMMs)之五:维特比算法及前向后向算法
维特比算法(Viterbi Algorithm) 找到可能性最大的隐藏序列通常我们都有一个特定的HMM,然后根据一个可观察序列去找到最可能生成这个可观察序列的隐藏序列。 1.穷举搜索我们可以在下图中看到每个状态和观察的关系。通过计算所有可能的隐藏序列的概率,我们可以找到一个可能性最大的隐藏序列,这个可能性最大的隐藏序列最大化了Pr(o转载 2016-07-25 17:33:13 · 2163 阅读 · 0 评论