从作为预测的模型到作为概率分布的模型 (Model: From Prediction to Distribution)

作为机器学习的实践者,自己对于模型的理解就是 Predict:从一组输入信号来计算目标变量,也就是: (1)   但是在机器学习的理论学习中,我常常看到教材上提到模型也描述了概率分布,并从这个角度有很多理论上的推导,比如在分类模型中,Maximum Likelihood Estimation 和 Cross Entropy 是等价的,再比如如果假定观测误差符合正态分布的话,那么Maximum Likelihood Estimation 和 Mean Square Error 在回归模型中也是等价的,等等。在我看来,如果我们已经有了m个训练数据: (2)   那么训练数据的概率分布已经可以使用计数的方法(也就是 Empirical Distribution)直接计算了,为什么还需要一个模型呢? 直到最近,我才对于这个问题有了一些更深刻的认识:所谓模型描述了概率分布,指的是在给定输入条件 的情况下,模型给出预测值 ,以及确认该值是 的概率。也就是下面的条件概率密度函数: (3)   对于分类模型,上面的描述比较好理解:假定我们有 C 个 class,那么在最后一层网络中一般有 C 个输出,经过 Softmax 归一化处理以后,我们把 就当做当前用例属于每一类的概率,这确实是一个概率分布。只不过在实践中我们需要取出概率最大的一个作为模型的输出值(Predict a Class)而已。 对于回归模型,上面的描述的意义就不是那么明显了,下面一段分析引用自 Maximum Likelihood Estimation 和 Mean Square Error: 假定我们根据实验观察,得到了大量的训练数据。因为总是有不可知因素能够影响 的最终取值,但是却没有被我们包含在 当中,不难想象,在这种情况下,我们会发现某些训练数据的输入信号部分是完全一样的,但是 却不一样。同时我们的模型只能够预测一个值,这个时候模型应该预测那一个值呢?如果我们把模型看做对于目标数据的概率密度函数,那么对于和模型预测值相同的那些值,它们的条件概率是1吗?和模型预测值不同的那些值,它们的条件概率是0吗? 对于模型应该预测的值,训练数据的平均值是一个明显正确的选择。但是后面两个问题,我们不应该采用非0即1的答案。统计学指出,在上面的情况下,我们应当假定在相同的输入信号下所有的目标变量的概率分布符合正态分布(Normal Distribution),其分布的中心就是所有目标变量的平均值,这个值也是我们的模型的预测值(Predict)。但是对于和这个预测值相同的值,其概率并不是1,和这个预测值不同的值,其概率也不是0,而是符合正态分布。在这个前提下,我们就可以说模型描述了给定了条件 , 的概率分布: (4)   […]