当前位置: 首页 > article >正文

【博学谷学习记录】超强总结,用心分享丨人工智能 AI项目 统计语言模型之HMM初步学习总结

目录

    • 语法模型
        • 二元语法模型
    • HMM(隐马尔可夫模型)
      • 概率计算引入概念
        • 初始概率向量
        • 状态转移概率矩阵
        • 观测概率矩阵(也称发射概率矩阵)

语法模型

语料库文本:

研究 生命 起源
研究生 命题 大纲
研究生 招生 信息网

计算3个句子的概率:

p ( 研究 生命 起源 ) = 1 3 p(研究\ 生命\ 起源)=\frac{1}{3} p(研究 生命 起源)=31
p ( 研究生 命题 大纲 ) = 1 3 p(研究生\ 命题\ 大纲)=\frac{1}{3} p(研究生 命题 大纲)=31
p ( 研究生 招生 信息网 ) = 1 3 p(研究生\ 招生\ 信息网)=\frac{1}{3} p(研究生 招生 信息网)=31

问题:以一本书多几本书作为训练集,书中大部分句子不同,所以概率相等,而实际使用模型时,传入的句子在训练集中没有,则会概率为0。

由于句子都是由单词构成的,句子没有重复的,但是单词却是不断重复使用的。所以我们用单词每个单词的概率以数学角度计算句子的概率。
把句子表示成单词列表 w = w 1 w 2 … w k w=w_1 w_2 \dots w_k w=w1w2wk

p ( w ) = p ( w 1 w 2 … w k ) = p ( w 1 ∣ w 0 ) × p ( w 2 ∣ w 0 w 1 ) × ⋯ × p ( w k + 1 ∣ w 0 w 1 w 2 … w k ) = ∏ t = 1 k + 1 p ( w t ∣ w 0 w 1 w 2 … w t − 1 ) p(w) = p(w_1w_2\dots w_k) \\ =p(w_1|w_0)\times p(w_2|w_0w_1)\times \dots \times p(w_{k+1}|w_0w_1w_2\dots w_k)\\ =\prod_{t=1}^{k+1} p(w_{t}|w_0w_1w_2\dots w_{t-1}) p(w)=p(w1w2wk)=p(w1w0)×p(w2w0w1)××p(wk+1w0w1w2wk)=t=1k+1p(wtw0w1w2wt1)

其中 w 0 = B O S w_0=BOS w0=BOS(Begin Of Sentence,有时也用<s>), w k + 1 = E O S w_{k+1}=EOS wk+1=EOS(End Of Sentence,有时也用</s>表示)是用来标示句子首尾的两个特殊单词。

二元语法模型

p ( w ) = p ( w 1 w 2 … w k ) = p ( w 1 ∣ w 0 ) × p ( w 2 ∣ w 1 ) × ⋯ × p ( w k + 1 ∣ w k ) = ∏ t = 1 k + 1 p ( w t ∣ w t − 1 ) p(w)=p(w_1w_2\dots w_k)\\ = p(w_1|w_0)\times p(w_2|w_1)\times \dots \times p(w_{k+1}|w_k)\\ =\prod_{t=1}^{k+1}p(w_t|w_{t-1}) p(w)=p(w1w2wk)=p(w1w0)×p(w2w1)××p(wk+1wk)=t=1k+1p(wtwt1)

简单来说,当前词概率只与前一个词有关。
一元则是只与当前词有关,n元则是当前词概率则与前n-1个词有关

HMM(隐马尔可夫模型)

隐马尔可夫模型(Hidden Markov Model,HMM)是描述两个时序序列联合分布 p ( x , y ) p(x, y) p(x,y)的概率模型:
x x x序列外界可见,称为观测序列
y y y序列外界不可见,称为状态序列
比如观测 x x x为单词,状态 y y y为词性。我们需要根据单词序列去猜测单词的词性。之所以称为“隐”是因为在外界看来,状态序列(例如词性)是隐藏不可见的。

马尔可夫假设,每个事件发生的概率只取决于前一个事件,将满足该假设的连续多个事件串联在一起,就构成马尔可夫链。在NLP中马尔可夫链模型就是二元语法模型

概率计算引入概念

4个盒子,每个盒子里面有不同数量的红、白两种颜色的球:

盒子1234
红球数5368
白球数5742

有放回地抽出5个球: O = { 红 , 红 , 白 , 白 , 红 } O=\{红, 红, 白, 白, 红\} O={,,,,}

初始概率向量

π = ( 0.25 , 0.25 , 0.25 , 0.25 ) T \pi = (0.25,0.25,0.25,0.25)^T π=(0.25,0.25,0.25,0.25)T

表示第一个球从每个盒子抽取的概率,4个盒子概率相同,则分别是0.5

状态转移概率矩阵

A = [ 0 1 0 0 0.4 0 0.6 0 0 0.4 0 0.6 0 0 0.5 0.5 ] A=\begin{bmatrix} 0 & 1 & 0 & 0 \\ 0.4 & 0 & 0.6 & 0 \\ 0 & 0.4 & 0 & 0.6\\ 0 & 0 & 0.5 & 0.5 \\ \end{bmatrix} A= 00.400100.4000.600.5000.60.5

第一行表示由第一个盒子 转移 到第一个盒子抽的概率为0,第二个盒子的概率为1,第三个盒子的概率为0,第四个盒子的概率为0
第二行则是第二个盒子转移到每个盒子的概率…

观测概率矩阵(也称发射概率矩阵)

B = [ 0.5 0.5 0.3 0.7 0.6 0.4 0.8 0.2 ] B = \begin{bmatrix} 0.5 & 0.5 \\ 0.3 & 0.7 \\ 0.6 & 0.4 \\ 0.8 & 0.2 \end{bmatrix} B= 0.50.30.60.80.50.70.40.2

4行分别代表4个盒子,第一列则是从盒子中抽红球的概率,第二行表示抽白球的概率

心得:了解了一些基本概念,对模型的使用场景有了简单的了解。


http://www.kler.cn/news/10526.html

相关文章:

  • 基于Python实现的深度学习技术在水文水质领域应用
  • Java多线程:定时器Timer
  • C++之入门之缺省参数函数重载引用
  • 【活动】高效学习方法分享
  • 「VS」Visual Studio 常用小技巧
  • 【C语言】迷宫问题
  • CLIP:语言-图像表示之间的桥梁
  • Arcgis Engine之打开MXD文档
  • Linux less 命令
  • SpringBoot ElasticSearch 【SpringBoot系列16】
  • 归排、计排深度理解
  • docker运行服务端性能监控系统Prometheus和数据分析系统Grafana
  • 智慧校园大数据云平台(4)
  • 2023.04.16 学习周报
  • Java学习
  • 【数据结构】解析队列各接口功能实现
  • JS实用技巧断点调试详解
  • 一、docker-技术架构
  • C++ Primer阅读笔记--标准库类型string和vector的使用
  • oracle中sql 正则怎么写?
  • ArrayList的深入理解
  • 不会注册ChatGPT?4个国内网站让你尽情体验
  • GameFramework 框架详解之 如何接入热更框架HybridCLR
  • 【音频处理】创建环绕声混响
  • pycharm笔记
  • 内部人员或给企业造成毁灭性损失
  • LAZADA将缩短履约时效,卖家发货倍感压力
  • 代码随想录_226翻转二叉树、101对称二叉树
  • item_search_img-按图搜索1688商品(拍立淘)接口的接入参数说明
  • 跟着AI学AI(2): 逻辑回归