GPT都在用的估计法,最大似然估计(MLE)
什么是最大似然估计?
最大似然估计,简单讲,就是一种“贴合”的方法。
贴合什么?贴合模型参数与真实数据之间的关系。
在理解它之前,先看一个基本概念:
在一个模型里,只要给定输入数据并指定一组参数,模型就会生成对应的输出,也就是预测结果。
而最大似然估计正好反过来:
当我们已经有了一组真实观察到的数据时,我们希望找到一组最优的参数,使得在这组参数下,模型“生成这些真实数据的可能性”最高。
换句话说,最大似然估计就是:
通过寻找最佳参数,让模型在这些参数下最“像”能够产生当前看到的数据。
似然函数描述的是:在不同的参数组合下,这组真实数据出现的可能性是多少。
而找到这组让贴合度最高的参数,就是最大似然估计的目标。
一般的预测方式是:给数据、给参数,然后得到预测结果,再与真实结果比较;
而最大似然估计的方向相反:给定真实结果,反过来寻找那组最可能产生这些结果的参数。
举个例子
假如给你一个硬币,让你抛 10 次,站在统计学的角度进行分析,应该是 5 正 5 负,但是实际上出现了 7 次正面 3 次反面,那他为正概率是多少? 很明显是 70%,即 0.7,
那么 就有 抛硬币结果(正) = 抛硬币次数 * 概率(0.7)
那现在给你结果(7 次)正面,给你次数 10 次,问你概率,这不就是最大似然要找到的最佳参数嘛,当概率=0.7 的时候,输出的结果最贴合真实结果(7 次)。
在这个概率下,出现“7 正 3 反”这种数据的概率最大。
这种已知“结果”,反推最可能的“参数”,就是最大似然的核心思想。
似然不是概率本身
概率是参数固定时数据发生的可能性,而似然是数据固定时,不同参数‘生成这些数据的可能性’的比较。似然的作用就是在多种可能的参数里,找出那个最能贴合真实结果的参数。
概率:参数给定 → 计算数据的可能性。
似然:数据给定 → 比较不同参数能否解释这些数据。
似然函数和联合概率的区别是什么?
二者的计算公式是一样的,只不过联合概率从参数看数据,似然函数从数据看参数。
联合概率:参数固定,数据随机,计算“结果出现的概率”。
似然函数:数据固定,参数变动,计算“不同参数的合理性评分”
联合概率看数据,似然函数看参数。
二者的区别在于解决的问题不一样。
联合概率:如果硬币正面概率是 0.7(参数),那么出现 7 正 3 反的概率是多少?
似然函数:如果要让硬币尽可能产生 7 正 3 反(目标)的结果,它的正面概率应该是多少?
最后
似然函数毕竟是统计概念,它在少样本情况下会存在容易被偶然结果带偏导致偏差,这也是存在的问题点,不过这依然不影响它的广泛应用性,随着样本量增多,稳定性和精确度就会显著提升。
因为它在大样本下表现非常好、公式简洁、计算方便,所以尽管存在少样本偏差,它依然是最常用的参数估计方法之一。