文章目录
1、自然语言处理常用模型种类
生成式模型: 根据山羊的特征,来算出这只羊是山羊的概率有多大;再根据绵羊的特征,算出这只羊是绵羊的概率为多大。再判断在哪个里面的概率更大,就属于哪一种。如Naive Bayes、Hidden Markov Model、LDA
判别式模型: 直接得到判别边界。比如说要判断一只羊是山羊还是绵阳,直接根据这只羊的特征,分别求出其是山羊和是绵阳的概率,哪个大就属于哪一种。如Linear Regression、SVM、KNN
非线性模型: SVM的非线性核函数、Neural Network
2、马尔科夫模型
2.1特点
马尔科夫模型属于典型的生成式模型,适用于处理时间序列数据。
马尔科夫链的主要性质是“无记忆性”,即下一状态的概率分布只能由当前状态决定。
2.2状态初始化概率和状态转移概率
马尔可夫模型的训练参数就是状态初始化概率分布和状态转移概率分布。
对于一阶马尔科夫链,给出如下例子,给定第一天的天气情况,用来判断接下来几天的天气情况:
一阶马尔科夫性只能表示当前变量于前一个变量的关系,为了表达当前变量与更早变量的关系,需要引入高阶马尔科夫性。
2.3参数估计-极大似然
此外,在这个模型里,状态初始化概率和状态转移概率是需要学习的参数,在现实情况中,每天的天气变化会产生各种不同的观测数据,利用这些历史数据来自动估计模型参数,需要用到的方法是极大似然估计。
以三个关于天气情况的观测序列作为依据来得到模型的状态初始化概率分布和状态转换概率分布。
3、隐马尔科夫模型
3.1观测状态与隐状态
天气的阴晴可以通过地面的潮湿程度或者是空气的湿润程度等其他因素来预测,这些借以预测的因素被我们称之为是观测状态,而实际的天气情况则是隐状态。
下图左边是一条隐马尔科夫链的传导过程,右图是一个观测状态生成概率分布。
这种情况下引入隐马尔科夫模型
3.2隐状态初始化概率、隐状态转移概率和观测状态生成概率
隐马尔可夫模型是一个典型的概率图模型,在隐马尔科夫模型中,有三个主要的参数,分别表示为:
3.3三个基本问题
隐马尔科夫模型有三个主要的问题,包括如下:
给定模型参数,如何计算一个观测状态序列的概率?
全枚举和动态规划
由于一个隐状态序列可能伴随着多个观测状态序列,随着传导过程的延申,可能会出现指数爆炸的情况。
由一个状态到另一个状态之间有多种不同的路径,计算观测状态序列概率就就等价于计算所有路径之和。这个过程可以通过全枚举和动态规划算法来实现。
全枚举和动态规划的算法如下:
前向概率计算和维特比算法
求出总的路径之和的过程就是一个计算前向概率的过程,对前向概率的定义如下:
现在给出模型参数,要求计算观测状态序列“⼲燥、潮湿、⼲燥”的前向概率。
计算过程如下:
维特比算法和前向概率计算方法一致,就是说维特比算法计算的是前向传播的最大路径概率即为最终概率,而前向概率计算方法需要找到最大路径之和为最终的概率。
给定模型参数和观测状态序列,如何而计算一个最可能的隐状态序列?
计算所有的隐状态序列可能性(前向预测方法和维特比算法),然后从中挑选出一个概率最大的,即为最可能的隐状态序列。
给定观测序列集合,如何从中估计模型参数?
EM算法