Home

Hmm 模型(hidden markov model)(前向后向算法)

HMM的问题一是:已知HMM模型的参数$\lambda = (A, B, \Pi)$。其中𝐴是隐藏状态转移概率的矩阵,𝐵是观测状态生成概率的矩阵, $\Pi$是隐藏状态的初始概率分布。同时我们也已经得到了观测序列$O ={o_1,o_2,…o_T}$。 现在我们要求观测序列𝑂在模型λ下出现的条件概率𝑃(𝑂|𝜆)。 暴力求解 根据HMM的第二个假设,我们知道观测序列肯定是与$I$相关的, 我们需要在原始公式$𝑃(𝑂|𝜆)$中加入变量$I$,根据联合概率公式 其中 根据HMM的第一个假设其中 $p(i_T|i_{T-1},i_{T-2},…i_1|\lambda) = p(i_T|i_{t-1})$, 因此 同理,使用HMM的第二个假设可得: 因此: ...

Read more

Hmm 模型(hidden markov model)(介绍)

使用HMM模型的问题有两类特征: 1.问题是基于序列的,比如时间序列,词序列 2.问题中有两类数据,一类序列数据是可以观测到的,即观测序列;而另一类是不能观测到的,即隐藏状态序列,简称状态序列 (例如词性标注中的词序列与词性序列,语音识别中发出的声音和想要表达的内容)。 HMM模型的定义 对于HMM模型,首先我们假设𝑄是所有可能的隐藏状态的集合,𝑉是所有可能的观测状态的集合,即: 其中,𝑁是可能的隐藏状态数,𝑀是所有的可能的观察状态数。 对于一个长度为𝑇的序列,𝐼对应的状态序列, 𝑂是对应的观察序列,即: 其中,任意一个隐藏状态 $i_t \in 𝑄$ ,任意一个观察状态 $o_t \in 𝑉$ HMM模型做了两个很重要的假设如下: 1.齐次马尔科夫链假设...

Read more

Task取消和子协程调用原理

task取消的例子 import asyncio import time async def get_html(sleep_time): print("waiting") await asyncio.sleep(sleep_time) print("done after {}s".format(sleep_times)) if __name__ == "__main__": task1 = get_html(2) task2 = get_html(3) task3 = get_html(4) tasks = [task1,task2,task3] loop = asyncio.get_event_loop() try: loop.run_...

Read more

Asyncio代码例子

asyncio包含以下功能 1.包含各种特定系统实现的模块化事件循环模块 2.传输和协议抽象 3.对TCP,UDP,SSL,子进程延时调用以及其他的具体支持 4.模仿future模块但是适用于事件循环的Feature类 5.基于yield from 的协议和任务,让我们用顺序的方法编写并发代码 6.必须使用一个将产生阻塞IO的调用时,有接口可以把这个事件转移到线程池。 Asyncio代码使用实例 import asyncio import time async def get_html(url): print('start get url') await asyncio.sleep(2) # 不可以使用同步阻塞的方法 time.sleep(2) 来操...

Read more

Python 利用yield实现协程

子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回,最后是A执行完毕。 所以子程序调用是通过栈实现的,一个线程就是执行一个子程序。 子程序调用总是一个入口,一次返回,调用顺序是明确的。而协程的调用和子程序不同。 协程看上去也是子程序,但执行过程中,在子程序内部可中断,然后转而执行别的子程序,在适当的时候再返回来接着执行。 所以不同点在于程序只有一个调用入口起始点,返回之后就结束了,而协程入口既可以是起始点,又可以从上一个返回点继续执行,也就是说协程之间可以通过yield方式转移执行权,对称(symmetric)、平级地调用对方,而不是像例程那样上下级调用关系。 相关语法 在python的函数中使用yield语句可以...

Read more

Distilling the knowledge in a neural network

模型蒸馏是通过大模型的结果提升小模型预测准确率的方法。以此可以帮助我们减少线上模型部署的难度(减少内存,gpu,cpu 的使用)。 具体的做法如下: 1、训练大模型:先用hard target,也就是正常的label训练大模型。 2、计算soft target:利用训练好的大模型来计算soft target。也就是大模型“软化后”再经过softmax的output。 3、训练小模型,在小模型的基础上再加一个额外的soft target的loss function,通过lambda来调节两个loss functions的比重。 4、预测时,将训练好的小模型按常规方式(右图)使用。 一般认为,大模型比小模型能够描述复杂的问题,能够学得更复杂的模式。模型蒸馏能够让大模型学得的...

Read more

Welcome

If you see this page, that means you have setup your site. enjoy! :ghost: :ghost: :ghost: You may want to config the site or writing a post next. Please feel free to create an issue or send me email if you have any questions.

Read more