文章目录
插眼:
- 百面机器学习—1.特征工程
- 百面机器学习—2. 特征工程与模型评估要点总结
- 百面机器学习—3.逻辑回归与决策树要点总结
- 百面机器学习—4.SVM模型基础知识
- 百面机器学习—5.SVM要点总结
- 百面机器学习—6.PCA与LDA要点总结
- 百面机器学习—7.K均值算法、EM算法与高斯混合模型要点总结
- 百面机器学习—8.概率图模型之HMM模型
- 百面机器学习—9.前馈神经网络面试问题总结
- 百面机器学习—10.循环神经网络面试问题总结
- 百面机器学习—11.集成学习(GBDT、XGBoost)面试问题总结
- 百面机器学习—12.优化算法
一、一些概念
1.什么是概率模型?
概率模型,顾名思义,就是将学习任务归结于计算变量的概率分布的模型。在生活中,我们经常会根据一些已经观察到的现象来推测和估计未知的东西——这种需求,恰恰是概率模型的推断《lnference)行为所做的事情。推断(linference)的本质是:利用可观测变量,来推测未知变量的条件分布。朴素贝叶斯、逻辑回归、隐马尔可夫模型(HMM))和条件随机场(CRF)都是概率模型。
2.什么是概率图模型?
概率图模型是一种以图(Graph)为表示工具,来表达变量间相关关系的概率模型。在概率图模型中般用节点来表示一个或者一组随机变量。而节点之间的边则表示两个(组)变量之间的概率相关关系。边可以是有向(有方向)的,也可以是无向的。概率图模型大致可以分为:
- 有向图模型(贝叶斯网络):用有向无环图表示变量间的依赖关系;
- 无向图模型(马尔可夫网)∶用无向图表示变量间的相关关系。
3.生成模型与判别模型的区别
概率图模型可以分为生成模型与判别模型。
假设可观测到的变量集合为X,需要预测的变量集合为Y,其他的变量集合为Z。生成式模型是对联合概率分布P(X,Y,Z)
进行建模,在给定观测集合X的条件下,通过计算边缘分布来得到对变量集合Y的推断,即
判别式模型是直接对条件概率分布P(Y,Z|X)
进行建模,然后消掉无关变量Z就可以得到对变量集合Y的预测,即
4.常见的概率图模型中哪些是生成模型,哪些是判别模型?
常见的概率图模型有朴素贝叶斯、最大熵模型、贝叶斯网络、隐马尔可夫模型、条件随机场、pLSA、LDA等。朴素贝叶斯、贝叶斯网络、pLSA、LDA等模型都是先对联合概率分布进行建模,然后再通过计算边缘分布得到对变量的预测,所以它们都属于生成式模型;而最大嫡模型是直接对条件概率分布进行建模,因此属于判别式模型。隐马尔可夫模型和条件随机场模型是对序列数据进行建模的方法,其中隐马尔可夫模型属于生成式模型,条件随机场属于判别式模型。
二、HMM—隐马尔可夫模型
1.什么是马尔科夫链?
假设一个随机过程中, t n t_n tn时刻的状态 x n x_n xn的条件分布,仅仅与其前一个状态 x n − 1 x_{n-1} xn−1有关,即 P ( x n ∣ x 1 , x 2 , . . . , x n − 1 ) = P ( x n ∣ x n − 1 ) P(x_n|x_1,x_2,...,x_{n-1})=P(x_n|x_{n-1}) P(xn∣x1,x2,...,xn−1)=P(xn∣xn−1),则将其称为马尔可夫过程。时间和状态的取值都是离散的马尔可夫过程也称为马尔可夫链。
2.什么是隐马尔可夫模型?
隐马尔可夫模型是对含有未知参数(隐状态)的马尔可夫链进行建模的生成模型。在隐马尔可夫模型中,隐状态 s i s_i si