拿机器学习的一个算法体会:文字描述的具体和公式符号的抽象

01 引言

机器学习里头有很多概念和与之相对应的符号表示,当符号标记多起来时,会加大我们对一个算法的理解难度,比较让人头疼。今天,一起聊聊这个话题,如何从一个概念描述转换为对应的公式标记,进一步通过递推得到其他的结论,最后形成一个算法,这整个过程大致是怎样的。结合一个机器学习的重要算法例子分析公式标记。

02 基本描述

隐马尔科夫模型的基本要素其中包括:有多个状态,多个观测,分别形成的两个集合,关于集合的表示并不困难:

状态集:q = { q1, q2, ..., qN}

观测集:v = { v1, v2,..., vM}

注意,状态集的个数同时也暗含在里头,共有 N 个,同理,观测集的个数为 M 个,因此一个集合可以传递给我们这些信息,再细想,还有没有更多的隐含?

这要结合隐马尔科夫模型的基本知识,q1, q2, ..., qN这 N 个取值是给定的,已知的,言外之意它相当于一个状态知识库,根据我们的现有认知,它们就存在那里,不管你知不知道。观测集同理。

举个例子,假如英语词库里只有10个单词,3个词性,在这里我们的状态集可以描述为:q = { n, v, adj}, 观测集可描述为{ mom, dad, love, child, young, beautiful, take, put, get, push}. 这两个集合虽小,但是在这种假定下,可以看做两个知识库。

03 实例->抽象

我们要感谢那些伟大的计算机科学家,他们是缔造计算机理论的大神,马尔科夫就是其中一位。 在认识隐马的前向概率算法时,先定义一些符号。

我们要对第1节提到的词语做标注,输入句子{ beautiful mom takes young child }, 将这个句子抽象为集合:{ o1, o2, ..., oT},并称为长度为T的观测序列。我们的任务是标注每个词的词性,相应的为 { adj, n, v, adj, n}, 它的长度一定和输入句子相同,将它抽象为状态集合:{ i1, i2, ..., iT}. 至此,又出现了两个集合,与刚开始提到的两个集合不同,此处它们序列长度不定,可以看做是分别是对刚开始两个知识库的抽取、运用、组合。

隐马尔科夫中,状态集之间可以转移交替,比如从 q1--->q2的转换标记为 a12,并且抽象标记为:aij, 表示由状态 qi 转化为状态 qj 的概率,并且状态q1 有可能转化为 q1, q2, ..., qN中的任何一个,因此q1可能和其他N-1个再加上自身发生转移关系(概率图模型中的一条边), q2, ...,qN同理,因此,我们得到一个 N*N的转移概率,并表示为如下:

A = [ aij]N*N

理论上,观测集中的任何一个元素都可能属于状态集中的任何一个元素,这样一句话抽象符号表达,第一维为如果表示意义为观测集元素,第二维为状态集元素,则矩阵的形状为:BM*N, 如果反过来,矩阵形状态为BN*M.

04 推理

基于以上分析,前向概率算法的推导、理解将会变得更加明了、简单,但由于时间紧张,下一次推送。

以上分析都是个人的思考结晶,如用词不当,疏漏之处,敬请批评指正。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180808G1XQHF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券