前言
现代机器学习的终极问题都会转化为解目标函数的优化问题,MLE和MAP是生成这个函数的很基本的思想,因此我们对二者的认知是非常重要的。最近有时间, 我查了些资料, 加深了一下对这俩的理解.
统计学习要素
再次读到统计学习方法[1]第一章, 终于开始理解1.3节的内容. 统计学习方法都是由模型, 策略和算法构成的.
(1)模型: 这里的模型, 其实指的是要学习的条件概率分布(例如逻辑斯蒂分布, 正态分布)或者决策函数. 所有模型的集合就是统计学习的模型假设空间.
(2)策略: 有了模型的假设空间后, 策略指的就是按照什么样的准则学习或者选择最优的模型, 学习的目标在于从假设空间中选择最优模型.
监督学习问题是在假设空间中选择模型f作为决策函数, 对于给定的输入X, 预测值f(X)对应的真实值Y, 用损失函数来定义这个输出与真实值之间的偏差程度, 计做L(Y, f(X)). 常用的损失函数: 0-1, 平方, 绝对损失, 合页损失, 对数损失. 对于所有的样本, 损失函数得到的所有偏差值的均值是该损失函数的期望值, 成为风险函数或者是期望损失.
所以, 学习的目标是使得这个风险最小化. 而关于这个风险最小化, 就有了两个不同的策略, 分别是经验风险最小化(ERM)以及结构风险最小化(SRM).
经验风险最小化的目标是, 经验风险最小的模型是最优的, 也就是说, 预测值越近似于样本的模型是最优的, 当样本足够多, 包含的信息足够多的时候, 经验风险最小化有很好的学习效果, 但是样本容量小的时候, 容易过拟合.
结构风险最小化的目标是为了防止过拟合, 通常在经验风险的基础上加上正则化项或者惩罚项.
今天本文的主角, 最大似然估计(MLE)与最大后验概率估计(MAP)分别是经验风险最小化与结构风险最小化典型栗子.
(3)算法, 如何基于样本进行训练, 如何求解全局最优并简单高效等等.
频率学派与贝叶斯派
我们认为, 概率模型的学习过程, 其实就是给定模型的条件下的参数估计过程, 长久以来, 统计学界的两个学派分别提出了各自的解决方案.
频率学派认为, 参数虽然未知, 但是却是客观存在的固定值, 因此可以通过优化似然函数等方法来确定参数值, 这种方法在样本多的时候很吊.
贝叶斯派认为, 参数是没有观测到的随机变量, 它自身也有分布, 可以假定参数服从一个先验分布, 然后基于样本来计算后验分布, 最后通过后验概率的最大化来确定参数自身的分布, 这个方法在先验分布准确的时候效果非常显著, 但是样本增多的时候, 效果就逐渐变差了.
比较认同这篇的说法:
抽象一点来讲,频率学派和贝叶斯学派对世界的认知有本质不同:频率学派认为世界是确定的,有一个本体,这个本体的真值是不变的,我们的目标就是要找到这个真值或真值所在的范围;而贝叶斯学派认为世界是不确定的,人们对世界先有一个预判,而后通过观测数据对这个预判做调整,我们的目标是要找到最优的描述这个世界的概率分布。
最大似然估计
最大似然估计(Max Likelihood Estimation, MLE)最常见的推导过程如下:
之所以放这个推导过程, 是因为这里他的推导非常干净利落, 简单粗暴.最后这一行所优化的函数被称为Negative Log Likelihood (NLL).
此外, 在深度学习任务中, 交叉熵损失函数(cross entropy loss), 本质上也是MLE.平时常见的模型中, 使用MLE作为学习策略的包括:
LR,决策树,EMM,CRF。。。。
LR的推导
这里,我们通过最大似然估计去推导LR的参数估计过程。
首先我们定义一下似然函数,对于每一条样本,其预测正确的概率为:
这里对于每一条样本,符合伯努利实验的假设,上述似然函数可以简化为:
综合所有的样本:
得到对数似然概率:
因此,最大似然概率也就是:
等价于:
这里的似然函数是一个凸函数(证明过程待补充),可以使用梯度下降法进行优化,接下来就是求以下导数:
求导之前,我们稍微改写以下逻辑斯谛分布, 加上偏置项:
这里省略推导过程,给出结果:
当然,LR的推导也可以走常见的定义损失函数再求导的过程,得到的答案应该是一致的。
最大后验估计
首先回顾一下概率论的两个概念,贝叶斯公式与全概率公式
那什么是先验概率与后验概率?
简单地说。先验概率是由采样观测来的各类别的概率分布。
后验概率是在观测的基础上关于参数的概率分布, 通俗地说是,在事情已经发生的基础上,某个条件的概率。计做
依然上面MLE推导过程的老哥的推导过程:
推导过程中第二步到第三步用的是上面的贝叶斯公式进行转换。
从优化公式可以看出来,最后的结果中,包含对数似然函数, 因此,最大后验概率估计的方法通常与最大似然估计一起使用。例如在朴素贝叶斯,隐马尔科夫模型,EM算法中,都同时包含MLE与MAP。
后记
由于自己蠢,没早点找到写markdown的设置,白瞎了在网页上敲了半天的latex,以后再补上MAP的实例推导。