大白话 5 分钟带你走进人工智能 - 第四节最大似然推导 mse 损失函数(深度解析最小二乘来源)(2)
第四节最大似然推导 mse 损失函数(深度解析最小二乘来源)(2)
上一节我们说了极大似然的思想以及似然函数的意义,了解了要 使模型最好的参数值就要使似然函数最大,同时损失函数(最小二乘)最小, 留下了一个问题,就是这两个因素或者目的矛盾吗?今天我们就接着上面的问题继续解剖下去。
我们再来回顾下 似然函数:
所谓似然函数就是一个大的乘项, 它有多少项,取决于有多少个训练集的样本 ,因为它是判断训练集上发生的总概率最大的这么一个总似然函数。我们分析一下似然函数的取值由哪些因素确定?是常数,虽然是未知数,但是是个定值不能来回变,误差应该服从方差的高斯分布,不能来回变方差,唯一又能变又能影响最终结果的变量就是这一组也就是。 那么我们的 目标就是找到一个θ(一组 w) 使通过其计算出来似然函数结果最大 ,我们给似然函数起个名字叫, 为什么括号里是,因为的大小只看的脸色,其它值都是定值,改变不了最终结果,只有能改变结果,所以是关于的函数。由于似然函数内部带着 exp 函数, 并且函数本身的形式是连乘,不太好求,所以我们在似然函数之前加了个 log 函数,因为 log 函数它是一个单调函数,而且是单调递增函数,不会影响函数的相对大小,并且,,天生的良好属性。它能函数中的累乘变成累加,更方便求解。所以为了似然函数的更好求解,我们在两边加上 log 函数,如下:
我们来解析上面的每一步的来源,第一步不用怎么说,就是加了一个 log, 需要注意的是没加 log 之前是大写的,加完 log 之后就是小写的。第一步到第二步实际上就是对于每一个样本之前的累乘,由于,加完 log 之后,所有的累乘变成累加,然后又用表示出来。第二步到第三步,因为第二步中个 累加,每一个利用属性表示成, 而是常数,所以个累加就是,而后半部分累加,因为,log 和 e 在一起可以互相消掉,所以因为每一项不一样,所以写成, 同时后半部分结果又把负号也给提出来了,那么加起来结果就是我们的第三步。给自己鼓个掌吧 ,这么难得公式都会了,而且跟着我一步步的给它解释出来,真是不容易。
到此为止,我们就分析一下,能够使第三步即:
最大的是谁呢? 因为是常数项,不去考虑它,它始终为正,所以有它没它都不会影响相对大小。那么也就是说只要这一项越大,原始的函数就越大。 注意这前面带个负号,因为我们是看成两个整体相加,所以后半部分的那一项是带个负号的 。那么把负号去掉了,或者说这一项,这一项越小,原始的函数就越大。而是常数,不影响大小,也就是说能 够使最小的就是能够使最大的。 是不是已经很眼熟了?我们回顾下 MSE(最小二乘),
发现一模一样,因为里面的位置不会影响相对大小。所以 MSE(最小二乘) 怎么来的?为什么说 MSE(最小二乘)越小就越好,取决于你背后估计了所有的误差,服从高斯分布,如果它不服从高斯分布,也就不能用 mse 来判断了。截止到目前,我们就发现了把它作为损失函数,真的是非常合理 。 实际上这就是它背后的理论依据。
我们总结下,我们说判别模型事先给定一个判别函数,对吧?它这个例子判别函数根据判别函数来合理的构造出一个损失函数来。这个损失函数往往都是通过 MLE,也就是最大似然估计为理论基础建立出来的最合理的损失函数,而最大似然的理论源泉是误差服从均值为零的高斯分布,也即样本服从高斯分布,而后通过最大似然一步步推导得到最小二乘。, 所以 mse 的损失函数的根本理论依据是什么?你就应该回答为假设方差服从均值为零的高斯分布。
至于是不是所有的回归问题,都用 MSE 当损失函数,不一定。但是 90% 都是它。在一些特殊的场景里,你已知误差服从别的分布了,那就会建立出别的损失函数来。比如 huber 损失函数,有兴趣可以自己研究下。但 绝大多数的场景都会使用 MSE 作为回归问题的损失函数。 因为在你不知道任何情况的前提下, 假设误差服从高斯分布是最常见且最合理的一种方式。
自此,你从理论方面推导了最大似然和最小二乘的关系,也为最小二乘作为损失函数找到了数学的理论支撑。下一节中我们讲解怎么样求解最小二乘或者使其相对最小,从而找到我们相对合理的模型参数。