机器学习方法系列36——完结撒花!就用马尔可夫链画上句号叭!

文摘   2024-07-15 00:00   湖北  

自然语言处理(NLP)领域,有一个核心的机器学习模型被人津津乐道,那便是隐马尔可夫模型,该模型主要受到马尔可夫链(Markov Chain)的启发。

马尔可夫性质来自于马尔可夫链,大概意思就是:上一个事件的发生可以影响到下一个事件的发生概率。

举个例子,现在有一个渣男,他看到女生只会说三句话,分别是“A:小姐姐”,“B:你真好看”和“C:加个微信好吗?”。现在我们用分别用 ABC 来代表这三句话。我得告诉你,渣男下一句话要说什么取决于他上一句话说了什么。如果他说了一句“小姐姐”,下一句有一定的几率说“你真好看”,当然也可能是再说一遍“小姐姐”,但只要他说出了“你真好看”这句话,下句百分百接上“加个微信好吗”这句万恶源泉。如果用有向图表示出来的话,渣男的行为模式就长这样:

这就是一个很典型的马尔可夫链了。图中分别表示渣男可能说的那三句话,箭头和数字则分别表示说完这句话后下一句可能说什么以及说那句话的概率是多少。由图可见,对于马尔可夫链而言,下一个事件的概率分布完全由该随机变量当前所处的状态决定,而且与历史无关。

好的,下面笔者要开始专业的描述了。如上图中的每个结点(A、B、C)可以理解为某一时刻的状态,箭头代表转移方向,数字代表转移概率。如,状态A接下来将转移至状态B的概率是0.9。注意,这个转移概率反映的就是单纯的从A转移至B的概率。换句话说,转移至B状态的概率只由它的上一个状态A来决定,与之前的任何一种状态都无关!这句话描述成公式如下: (其中St可以抽象为某事物在第t时刻的状态,  是一个离散的自然序列)这为自然语言处理任务形成了天然的优势,也成为了统计语言模型的基本原理。这里就用一段话帮助大家粗浅的理解吧,也不进行深入讲解了。在处理如机器翻译、语音识别等任务时,机器想要理解语句,就必然进行分词。而统计语言模型就是在做一件事,帮助机器确定哪种分词方法最好(假设不考虑语义分歧),就是用概率的思想,哪个词出现的概率越高就选择哪个词。而处理自然语句时,机器也需要通过上下文理解。机器理解上下文的方式,便是通过第t-1个词,确定第t个词,无需考虑第t-1个词之前的所有词,这也正是上面这个公式的含义。

回到例子中,就算那个渣男明明已经重复了一百遍“加个微信好吗”都没有成功加到微信,只要让他逮到机会再说一次“你真好看”,他就敢再要一遍微信。

综上,马尔科夫链是马尔可夫过程与离散时间和离散状态空间。因此,马尔可夫链是一个离散的状态序列,每个状态都从一个离散的状态空间(有限或无有限)中提取的,并且遵循马尔可夫属性。用稍微更数学的术语来说,给定当前状态和过去状态的流程,未来状态的条件分布只依赖于当前状态,而完全不依赖于过去状态(无记忆属性)。具有马尔可夫属性的随机过程称为马尔可夫过程。

这里有感而发,大家共勉!笔者选择通过讲述马尔可夫链作为本合集的结尾,是因为人生就像一条马尔可夫链,我们无限可能的未来很可能只由每一个当下正在做的事情决定,而不是由之前已经取得的事决定(无记忆性)。

【笔者的话】

衷心感谢所有看到这里的友友们,希望大家可以给《师苑数模》公众号点点关注。完结的只是小小的机器学习合集,后续有更好的分享我们依然会通过公众号呈现给大家。

本合集基本包含了南京大学周志华教授所著的《机器学习》(西瓜书)的前九章的主要知识,(高等学校本科期间的课程也差不多就是掌握这些内容。西瓜书第九章以后的部分,南京大学用作人工智能学院大三上且列入保研NJUAI必须修读的《高级机器学习》课程材料使用。)合集里的内容算是笔者学习西瓜书以来的一些心得笔记,讲解肯定没有直接啃书本费劲,也算是可以帮助大家理解。其中错误肯定有很多,也非常欢迎大家通过公众号留言或者私信来反馈,笔者将感激不尽。





师苑数模
发布数模协会培训推文,讲解数模算法。赛题讲解及比赛通知。学校竞赛结果及学校竞赛成绩发布等文章。
 最新文章