什么是马尔可夫链,它如何用于创建人工智能?

人工智能 遗传算法 马尔可夫链 可能性
2021-11-14 01:07:50

我相信马尔可夫链是一系列事件,其中每个后续事件在概率上取决于当前事件。马尔可夫链的应用例子有哪些,它可以用来创造人工智能吗?由于每一代都依赖于前一代的状态,遗传算法会是马尔可夫链的一个例子吗?

2个回答

马尔可夫模型包括考虑到当前状态转换到每个状态的概率。“每个州”可能只是一个点——例如,是否在特定的日子下雨——或者它可能看起来像多个东西——比如一对词。您可能已经看到自动生成的怪异文本几乎是有意义的,例如Garkov(基于加菲猫漫画的马尔可夫模型的输出)。那篇 Coding Horror 文章还提到了马尔可夫技术在 Google 的 PageRank 中的应用。

马尔可夫模型只有在有大量输入可供使用时才真正强大。如果一台机器查看大量英文文本,它会很好地了解通常在其他单词之后的单词。或者在查看某人的位置历史后,它可以确定该人接下来可能从某个地方去哪里。随着接收到更多数据,不断更新“输入语料库”将使机器调整所有状态转换的概率。

遗传算法是完全不同的东西。他们通过改组函数的各个部分并查看每个函数在特定任务中的表现来创建函数。子算法将依赖于其父算法,但马尔可夫模型最感兴趣的是预测序列中接下来会发生什么,而不是创建新的代码块。不过,您也许可以使用马尔可夫模型来生成候选函数,具体取决于“字母表”的简单程度。你甚至可以更加重视成功算法中的转换。

(这是作为评论的目的,但结果越来越长)

有几点可以详细说明本的回答

  • 可以生成不同的模型(根据现有数据!),然后寻找最适合新数据的模型(例如,使用knn)。例子:
    • 状态= {睡觉吃饭走路工作}
    • 模型1:工作日最可能的顺序,比如:睡觉→睡觉→吃饭→走路→工作→工作→吃饭→走路→睡觉→睡觉
    • 模型2:周末最可能的顺序,一些:睡觉→睡觉→吃饭→走路→吃饭→走路→睡觉→睡觉
    • 新数据到来:它来自哪个序列的可能性更大?检查模型 1,检查模型 2。哪个更适合?→ 分配
  • 请注意,前面的示例过于简单。另请注意,那里需要一个单位时间(例如,除了字母/单词)。
  • 您可以嵌套马尔可夫模型。这意味着您以“较低规模”生成模型(所有状态的一组概率),然后在更抽象的模型中使用它。例如,您可以将日尺度模型嵌套到一个月或一年(例如,包括假期)。

请参阅此链接以获得很好的介绍crossvalidated 中的一些帖子


至于是否可以使用这种方法创建人工智能的问题,我个人(简单)的答案是否定的,因为它们只涉及数据和概率,因此更多地属于统计和机器学习分支。

更长的答案需要考虑弱与强 AI 的问题