前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >理解AI中的马尔可夫链

理解AI中的马尔可夫链

作者头像
云云众生s
发布2024-03-28 15:23:21
1500
发布2024-03-28 15:23:21
举报
文章被收录于专栏:云云众生s

马尔科夫链在解决问题时有什么用?当你想对处于离散状态的事物建模时,David Eastman 写道。

译自 A Developer's Guide to Understanding Markov Chains in AI,作者 David Eastman。

深入研究 人工智能 (AI) 中使用的理论数学知识可以帮助你过渡到 AI 开发人员使用的技能。或者至少,它可以帮助你理解幕后发生的事情。

人工智能中有很多数学知识(以及从中衍生的术语)——尽管其中大部分是概念性的,而不是代数性的。尽管如此,我们不想深入研究它,而只是环顾四周,这样我们对技术白皮书就不会那么盲目。

马尔可夫是一位俄罗斯数学家(也是一名出色的国际象棋选手),他在过程和概率方面的研究早于现代计算,但此后一直被人们心存感激地利用。

任何过程都可以简化为状态转换,虽然这些对于计算机来说自然很好,但实际上这也是人类解释叙述的方式。我们不会尝试实时解释事物,我们只会跳到重要的事件。例如,如果我们采用“约翰走到商店,他走进面包店,买了一些面包,走进熟食店买了一个三明治,向朋友打招呼,离开商店并返回家”这一叙述,这对我们来说是有意义的。但没有任何时间信息,只是一个有序的事件序列

我们可以随时将约翰的状态总结为以下状态之一:

  • 旅行(往返商店)
  • 购物(买面包或三明治)
  • 聊天(与朋友)

我们可以将转换总结为:

  • 从家到商店再返回。
  • 从一家商店到另一家商店。
  • 从购物到聊天再回到购物。

我们已经创建了约翰进出其中的区域。对于约翰来说,这些都是正常的日常事务。如果一个爱管闲事的邻居观察到约翰的许多类似旅程,它们看起来是随机的,即使它们只是由一小部分选项组成的。约翰的旅程可以被描述为一个随机过程。

让我们暂时让约翰待在家里。以下是维基百科对马尔可夫链的定义:“马尔可夫链或马尔可夫过程是一个随机模型,描述一系列可能的事件,其中每个事件的概率仅取决于前一个事件中达到的状态。”

换句话说,接下来发生的事情只取决于之前发生的事情。现在,如果我们从那个爱管闲事的邻居的角度考虑约翰的旅程,似乎他接下来所做的任何事情都只真正取决于他当时正在做什么。例如,他只有在已经接近商店时才会偶遇朋友并聊天。

约翰的旅程

请注意,从每个状态发生的选项有不同的机会,但如果我们从每个状态中加起来,则总和为 100%。请注意,约翰可以从一家商店走到另一家商店,因此转换指向它刚刚离开的状态。聊天也是如此。当邻居看的时候,约翰似乎只从家走到商店,所以那个转换是唯一可用的选项——因此是 100%。

如果我生成一系列介于 1 到 100 之间的随机数,并适当地分配每个选项,那么我们就可以“与约翰同行”。所以我请Claude 3 帮忙:

所以这就是从家开始的旅程。

随机数

约翰的旅程事件

42

约翰去商店

87

约翰从一家商店走到另一家商店

16

约翰回家

64

约翰去商店

29

约翰从一家商店走到另一家商店

最后还有一件事;数学家喜欢将这种类型的模型转换为矩阵。百分比机会始终被视为 0 到 1 之间的十进制数。

旅行

购物

聊天

旅行

0

1

购物

0.2

0.75

聊天

0

0.85

  • 转换矩阵始终是方阵或 n 乘 n 矩阵,其中大小由可能状态的数量决定。
  • 行表示当前状态,列表示下一个状态。
  • 每个当前状态(即行)的总概率为 1。

那么,什么时候马尔可夫链对于解决问题是有用的呢?基本上,当你想要对处于离散状态的事物进行建模时,但你不知道它是如何工作的。

你可能会想,“但约翰知道他在做什么,不是吗?”但我们正在观察约翰(也许是从爱管闲事的邻居那里),从观察者的角度来看,约翰的行为确实显得随机。数学并不是试图理解任何东西,它只是一个进行预测的平台。

我们在状态机通常用于建模内部软件状态,而不是现实生活系统。

马尔可夫链在人工智能中的应用

马尔可夫链被用于预测文本的设计。随着模型获得并输入更多单词,一组新的统计数据将附加到更新的马尔可夫链中。

注意,即使添加了额外的单词,字母表中的字母也不会改变。只是概率权重会改变,并且会出现一些新的转换。我在糟糕的 莎士比亚生成器 中对此进行了少量介绍。我们使用莎士比亚十四行诗的语料库,然后尝试计算一些权重。

当我们在英语中使用预测文本时,我们更有可能查看当前的两个字母,并使用它们。通过允许选择每个连续字母的概率取决于前一个字母或字母,我们获得了更精细的模型。因此,我们使用“标记”而不是单个字母。

因此,2 阶马尔可夫模型预测每个字母以固定概率出现,但该概率可能取决于前两个连续字母 ()。您可能还遇到过术语 k-gram ngram。例如,如果我们的语料库包含 100 个“th”的出现,其中 60 个出现“the”,25 个出现“thi”,10 个出现“tha”,5 个出现“tho”,则模型预测 2-gram “th” 后面的下一个字母为“e”的概率为 0.6,“i”的概率为 0.25,“a”的概率为 0.1,“o”的概率为 0.05。

the、this、tha 或 tho

在 Google 搜索栏中完成句子时,语料库是全球搜索词。但这个语料库非常庞大,以至于可以发现拼写错误——总体而言,这使得系统略有不同。

你让我完整。

如果您已经完成了相当数量的开发,那么您会对其中的大部分内容感到满意,因为信息链接链会不时以不同的形式出现。通过回到数学,您会发现未来的 AI 发展的神秘过去会减少。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-142,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 马尔可夫链在人工智能中的应用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档