![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
第三节最大似然推导mse损失函数(深度解析最小二乘来源)
在第二节中,我们介绍了高斯分布的来源,以及其概率密度函数对应的参数的解释。本节的话,我们结合高斯分布从数学原理部分解释为什么损失函数是最小二乘。我们再来回归下高斯分布的概率密度函数实际上是这个形式的:
那么这个函数有什么用?其实就是给一个X,就能知道X发生的可能性有多大?相当于给每一个X的一个得分。那么我们回忆一下,在咱们讲这概率论之前,咱们讲的最后一个概念是什么?最小二乘损失函数。我们由什么推到最小二乘?实际上是由误差的概念推导而来,
为什么会有误差?实际上因为咱们收集上来的特征不够全面,咱们提出一个假设,就是说我之所以没预测准,不是因为我模型不行,而是因为好多我该知道的事你没告诉我,比如我想预测房价,你就告诉我一个房子尺寸,你没告诉我这房子死没死人,这是一凶宅,结果卖的很便宜,所以我们受到了好多个没有收集到的因素得影响,产生了一个误差,我们叫做ε,而这个东西和我们讲的高斯分布是不是就有点能联系上。那么误差本身是大是小,应该服从一个什么分布最合理,
误差究竟怎么来的?其实是由好多个没统计到的随机变量X共同决定着误差是大是小的。这么多没统计到的随机变量,所以我假设误差服从高斯分布是不是最合理?。我没说它一定就客观上服从高斯分布,但你也不知道它服从什么分布的情况下,就硬让你服从一个分布,你选什么你只能选高斯分布。因为适用性最广。所以我们的线性回归里面核心的一点就是它认为背后的误差是服从一个均值为零的高斯分布的。
误差为什么均值为零?假设就是这么假设的,你想误差如果均值不为零的话,那就说明你这条线整个就偏了,假如普遍大家都有1的误差,有的比1小点,有的比1大点,说明你此时的θ肯定不是最好的θ。你一旦将θ调整到最好了之后,你的误差一定均值得为零,因为你的基准线一定要落在你预测的这条线上才对。如果你想你的误差是服从一个均值为1,方差为某个数的高斯分布,那说明大家普遍都差了1,说明你这个预测不是最好的预测,你普遍都差着呢。既然均值为零,所以误差有的往正的偏,有的往负的偏,你偏得越多的点应该越少,偏的越少的点应该越多,这样才能满足误差为零。这个理论和假设实际上是线性回归的基石,就是它没有任何道理,当然也不能说没有一点道理,还是有一些道理的,假设误差服从一个均值为零的高斯分布,这点大家是否能够明白,能够意识到它是合理的 ,为什么要用高斯分布估计它? 因为它是若干个你没看到的X共同影响的那么一个结果,这些
不一定是相加的关系,没关系,反正我也不知道它是怎么回事,我干脆就拿高斯分布来做,至少这个东西不会差的太多。
好的,至此为止,你已经了解了线性回归模型的假设,并且能体会到它有一定的道理。那么我们接着讲误差的事。看下面的公式:
咱们逐个元素的去分析公式中的含义,![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](https://image.shishitao.com:8440/aHR0cHM6Ly9wcml2YXRlLmNvZGVjb2dzLmNvbS9naWYubGF0ZXg%2FJTVDdmFyZXBzaWxvbiUyMCU1RSU3QiUyOGklMjklN0Q%3D.latex?%5Cvarepsilon%20%5E%7B%28i%29%7D?w=700&webp=1)
![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)
![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)
![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)
![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)
![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](https://image.shishitao.com:8440/aHR0cHM6Ly9wcml2YXRlLmNvZGVjb2dzLmNvbS9naWYubGF0ZXg%2Fd18lN0IwJTdEeF8lN0IwJTdEK3dfJTdCMSU3RHhfJTdCMSU3RCt3XyU3QjIlN0R4XyU3QjIlN0QrLi4uK3dfJTdCbiU3RHhfJTdCbiU3RCUzRFdYJTVFJTdCVCU3RA%3D%3D.+w_%7Bn%7Dx_%7Bn%7D%3DWX%5E%7BT%7D?w=700&webp=1)
![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](https://image.shishitao.com:8440/aHR0cHM6Ly9wcml2YXRlLmNvZGVjb2dzLmNvbS9naWYubGF0ZXg%2FZiUyOHglMjklM0QlNUNmcmFjJTdCMSU3RCU3QiU1Q3NpZ21hJTIwJTVDc3FydCU3QjIlNUNwaSUyMCU3RCU3RGUlNUN0ZnJhYyU3Qi0lMjh4LXUlMjklNUUlN0IyJTdEJTdEJTdCMiU1Q3NpZ21hJTIwJTVFJTdCMiU3RCU3RA%3D%3D.latex?f%28x%29%3D%5Cfrac%7B1%7D%7B%5Csigma%20%5Csqrt%7B2%5Cpi%20%7D%7De%5Ctfrac%7B-%28x-u%29%5E%7B2%7D%7D%7B2%5Csigma%20%5E%7B2%7D%7D?w=700&webp=1)
怎么解释上面公式?此时的![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](https://image.shishitao.com:8440/aHR0cHM6Ly9wcml2YXRlLmNvZGVjb2dzLmNvbS9naWYubGF0ZXg%2FVw%3D%3D.latex?W?w=700&webp=1)
![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)
![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)
![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)
,好麻烦!,所以我们直接称它叫![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](https://image.shishitao.com:8440/aHR0cHM6Ly9wcml2YXRlLmNvZGVjb2dzLmNvbS9naWYubGF0ZXg%2FJTVDdmVjJTdCVyU3RA%3D%3D.latex?%5Cvec%7BW%7D?w=700&webp=1)
![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)
![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)
![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)
。那么一个行向量乘一个列向量怎么定义?就是行的第一个元素乘以列向量的第一个元素的结果,加上行的第二个元素乘以列向量的第二个元素结果,加上行的第三个元素乘以列向量的第三个元素的结果,就是
=
。那么![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](https://image.shishitao.com:8440/aHR0cHM6Ly9wcml2YXRlLmNvZGVjb2dzLmNvbS9naWYubGF0ZXg%2Fd18lN0IwJTdEeF8lN0IwJTdEK3dfJTdCMSU3RHhfJTdCMSU3RCt3XyU3QjIlN0R4XyU3QjIlN0QrLi4uK3dfJTdCbiU3RHhfJTdCbiU3RCUzRFdYJTVFJTdCVCU3RA%3D%3D.+w_%7Bn%7Dx_%7Bn%7D%3DWX%5E%7BT%7D?w=700&webp=1)
都定义为列向量,那么
的本身是
的一个列向量,
就是
的一个行向量。那么
怎么解释?每一条数据x是不是有n个维度,X本身是不是也可以给它写成一个向量?我们就直接写
向量就包含了这一条数据的所有维度了,当它为列向量的情况下,
就变成了一个行向量乘以列向量的形式。所以目前为止就把线性代数当作一种运算的简写方式。际上你就把这想成就是一个暗号,你看到这个暗号,你就知道它背后根据向量的乘法的定义会得到一个这样的结果,就是
,也就是
这么一个结果,它计算出来的结果是什么?就是我们的
,也就是我们的预测值。那么
是不是就是我们的真实值?刚好符合我们的公式。
我们总结下上面说的核心。误差是由我们多个未观测到的属性或者叫特征决定的,多个未观测到的属性共同决定误差,我们应该假设它符合同一个高斯分布,什么样的高斯分布呢?就是误查服从一个均值为零,方差虽然你不知道,但一定也是某个确定的值的高斯分布。好,上面的核心你已了解,我们就可以引入一个概率的问题,一个可能性问题。既然误差服从均值为零的高斯分布,那误差自己的概率密度函数写出来如下:
某一个误差发生的概率是不是就应该等于上面的公式。用心观察一下这个式子怎么来的?还记得高斯分布的概率密度函数吗?
对比发现是不是只有![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](https://image.shishitao.com:8440/aHR0cHM6Ly9wcml2YXRlLmNvZGVjb2dzLmNvbS9naWYubGF0ZXg%2F.latex??w=700&webp=1)
变了,为什么变了? 均值为零,它本来应该减个零,把减零去掉了。那么每个样本被采样到的概率也应该为:
上面公式要怎么理解呢?那么假如有一个样本,预测的
是1.6,真实的
是2.0,那么它的误差
是0.4,带入误差的概率密度函数是不是可以计算出0.4发生的概率是有多大? 而
为0.4发生就代表一个真实结果为2.0的值被你取到了。因为你预测的
已经算出来了就等于1.6了,所以它们是可以唯一相互确定的,这点要想透。
这个叫做条件概率,表示在已知
的情况下,
发生的概率。其实换个角度也能理解,就是因为![大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1) 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)](https://image.shishitao.com:8440/aHR0cHM6Ly9wcml2YXRlLmNvZGVjb2dzLmNvbS9naWYubGF0ZXg%2FeSU1RSU3QiUyOGklMjklN0QlM0QlNUN0aGV0YSUyMCU1RSU3QlQlN0R4JTVFJTdCJTI4aSUyOSU3RCslNUN2YXJlcHNpbG9uJTIwJTVFJTdCJTI4aSUyOSU3RA%3D%3D.latex?y%5E%7B%28i%29%7D%3D%5Ctheta%20%5E%7BT%7Dx%5E%7B%28i%29%7D+%5Cvarepsilon%20%5E%7B%28i%29%7D?w=700&webp=1)
替换成
,结果是一样的,只不过我们要从实际含义去理解。
既然知道每个样本采样到的概率后,那我们来计算这个概率。可以发现这里面真正变得是
,因为其他参数都是已知,假如
全等于0,你算出来的是一个概率,假如
全等于1,算出来是另一个概率,也就是说每一条样本被采样到的可能性是随着
的变化而变化的。这是某一条样本被采样到的概率,而最终所有的样本都被你采样到了。比如说你拿到了1万条数据,拿第一条数据,是不是有一组
,有一个
,分别是
和
,带进去上面的概率公式,得到一个关于
的一个表达式。只要
确定,结果也就确定了。那么第一条样本被抽样到的概率是一个关于
的表达式,第二个样本被抽样到的概率也是一个关于
的表达式,跟第一个表达式不一样,因为带进去的
跟
是不一样的,这样下去,你会得到1万个表达式, 每个表达式代表每一个点被抽样到的概率,1万个点共同的被抽样到了,那么你通通把它乘起来,就代表这1万个点共同被你抽样到的概率,得到了一个总的概率。总的概率是高是低取决于谁?
已知
已知,所以总概率高低取决于
,
变一变,这总概率就变一变。 那么你希望找到的
是使总概率越高还是越低越好?因为你已经抽样到了这些数据,你最合理的
应该能让样本总体被抽样到的概率越高越好,
才越趋近于真实。我们称这种思想叫做极大似然估计(MLE)。所谓似然就是上面说的1万个
的表达式相乘的结果就叫似然,其实就是最大概率估计,只不过民国时期翻译那些经典的数学书籍的时候,把概率翻译成了似然。
由于训练集上的样本被抽选到这个随机事件是彼此独立的,那么训练集上所有的样本全部都被抽选到的概率转换为数学公式就是:
通常我们称上面的总概率函数为似然函数。那什么样的
是最好的
呢?能够使这个式子最大的θ就是最好的
。因为它代表整个训练及被抽样到的总概率,既然它已经发生的事情,概率理应最大,这样
才最真实,否则
计算出来,这个概率没有达到最大,说明给的
不够好,毕竟这些东西已经被你抽到了,这个概率还没达到最高值,说明给的
不够合理。所以最大似然的思想就是已经抽样到的样本的总概率应该最大,而最合理的
就应该是让似然函数最大的
。这一点只要理解透了,后面的东西都很简单,这是本节最大的重点,极大似然估计会出现在机器学习的方方面面。方方面面都会有极大似然估计,它的核心思想就是已经发生的概率理应最大,而且概率取决于谁?取决于
。
我们不要忘记初心,我们机器学习,学习的是一组参数
,其实就是
,本质就想找到一组最好的
,现在似然函数是不是相当于给了我们一个指导方针? 能够让总概率最大(也就是似然函数最大)的
就是最好的
。
那么这跟那MSE函数(损失函数)有什么关系?我们回顾之前的知识,我们的目的是想找到一组一组参数
,即(
),使损失函数(MSE)最小,而本节讲的是让这组参数
(即
),使似然函数最大,那么他们之间矛盾吗?要是能找到他们之间的关系,是不是所有的原理,无论从哪一方面都能解释通了。所以下一节中,我们来解剖MSE和最大似然之间的真正关系。