您现在的位置:   首页 >> 新闻中心 >> 互联网+

白白说算法:相亲中的马尔科夫模型

发布人:www.yunke.ai 发布时间:2021-01-01 103 次浏览

按照未来互联网的发展趋势以及日趋激烈的人才竞争中,产品经理也须掌握基础的技术算法。因此,本文以相亲为例,介绍了什么是马尔科夫模型。

大家好,我是白白,第一时刻来讲讲算法系列。

产品经理是否需要懂技术,对于这个问题互联网圈看法各不相同。

白白看来,随着未来互联网的发展,按照正常的产品经理职业发展路径,还是需要了解一些技术的内容。产品经理需要了解技术的基本框架,但不一定需要了解所有技术细节。人工智能领域,产品经理需要了解算法的基本原理,以及如何将实际问题转化为算法问题。

白白作为一名AI产品经理,准备持续写一写算法的内容,争取用最简单的语言告诉大家每种算法的逻辑。

一、马尔科夫模型

有一天白白去相亲,见了2个人,上午一个下午一个。

两个小姐姐都不错,这下白白突然不知道应该选哪个(其实两个妹子都没看上我),后来有个算法的同事过来支招,毕竟是结婚过日子么,那还是要考虑充分。

有一种算法的含义是每种状态,只与之前的一个或多个状态有关,也就是说我们可以根据小姐姐之前的状态再综合评价。

白白思考了10秒,觉得好像挺有道理,毕竟现在看着还不错,万一隐藏了什么呢?

所以还是要看看小姐姐的上一个状态。从人生的角度来讲,女孩的上一个状态,也就是她妈妈了。这种每个状态由之前的1个或多个状态决定的模型,我们称为马尔科夫模型。

马尔科夫模型中很多关系使用概率描述的,比如女孩的妈妈很白,那么女儿也很白的概率是90%,女孩妈妈是性格好,女儿也性格好的概率为70%。下图展示了母亲和女儿性格之间的概率关系。

由上图可列出表格:

马尔科夫模型有三个要素:

  1. 状态:性格好、性格差
  2. 初始向量:在系统定义时间为0时,状态出现的概率。比如从女儿妈妈出现的时间算起认为是系统的0时,那么她妈妈性格好或性格差的的概率就是初始向量。
  3. 状态转移矩阵:上图列出的表格就是状态转移概率,用于描述状态之间的转换。

在实际问题中,有关序列的问题很多都可以用马尔科夫模型来求解,例如股票的量化分析、新闻摘要提取、用户行为预测等。

二、隐马尔可夫链

我们即使知道马尔科夫模型的3个要素,还是无法做出良好判定。因为我们观察到的状态中,很可能还包含有隐藏状态。比如我们看到小姐姐和她妈妈确实都不错,但是或许隐藏着小姐姐没准已经有男朋友了,她现在是在找备胎。

来换个阳光的例子,假如小姐姐打了你一巴掌,打人只是表象,真实的隐藏状态是她的心情。打人不一定表示她不开心,打人这个现象对于她是否开心,也有相应的概率。所以对于模型而言,必须要考虑多种情况才能对状态有完整的描述。

针对以上的情况,还有一种与马尔科夫模型很像的模型,称为隐马尔科夫链。

在隐马尔可夫模型中有两条链,一条称为可见状态链,一条称为隐藏状态链。每个状态之间依然是一种序列的关系。

如下图中,X表示女孩的实际的某个状态,但是我们看不到,这就是隐藏状态链。O表示女孩的性格情况,我们只能观察的O这个状态,这就是可见状态链。