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