大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)

第三节最大似然推导mse损失函数(深度解析最小二乘来源)

       在第二节中,我们介绍了高斯分布的来源,以及其概率密度函数对应的参数的解释。本节的话,我们结合高斯分布从数学原理部分解释为什么损失函数是最小二乘。 我们再来回归下高斯分布的概率密度函数实际上是这个形式的:
f ( x ) = 1 σ 2 π e − ( x − u ) 2 2 σ 2 f(x)=\frac{1}{\sigma \sqrt{2 \pi}} e \frac{-(x-u)^{2}}{2 \sigma^{2}} f(x)=σ2π 1e2σ2(xu)2

       那这个函数有什么用?其实就是给一个X,就能知道X发生的可能性有多大?相当于给每一个X的一个得分。那么我们回忆一下,在咱们讲这概率论之前,咱们讲的最后一个概念是什么?最小二乘损失函数。我们由什么推到最小二乘?实际上是由误差的概念推导而来,y^-y为什么会有误差?实际上因为咱们收集上来的特征不够全面,咱们提出一个假设,就是说我之所以没预测准,不是因为我模型不行,而是因为好多我该知道的事你没告诉我,比如我想预测房价,你就告诉我一个房子尺寸,你没告诉我这房子死没死人,这是一凶宅,结果卖的很便宜,所以我们受到了好多个没有收集到的因素得影响,产生了一个误差,我们叫做ε,而这个东西和我们讲的高斯分布是不是就有点能联系上。那么误差本身是大是小,应该服从一个什么分布最合理。

       误差究竟怎么来的? 其实是由好多个没统计到的随机变量X共同决定着误差是大是小的。这么多没统计到的随机变量,所以我假设误差服从高斯分布是不是最合理?我没说它一定就客观上服从高斯分布,但你也不知道它服从什么分布的情况下,就硬让你服从一个分布,你选什么你只能选高斯分布。因为适用性最广。所以我们的线性回归里面核心的一点就是它认为背后的误差是服从一个均值为零的高斯分布的

       误差为什么均值为零? 假设就是这么假设的,你想误差如果均值不为零的话,那就说明你这条线整个就偏了,假如普遍大家都有1的误差,有的比1小点,有的比1大点,说明你此时的θ肯定不是最好的θ。你一旦将θ调整到最好了之后,你的误差一定均值得为零,因为你的基准线一定要落在你预测的这条线上才对。如果你想你的误差是服从一个均值为1,方差为某个数的高斯分布,那说明大家普遍都差了1,说明你这个预测不是最好的预测,你普遍都差着呢。既然均值为零,所以误差有的往正的偏,有的往负的偏,你偏得越多的点应该越少,偏的越少的点应该越多,这样才能满足误差为零。这个理论和假设实际上是线性回归的基石,就是它没有任何道理,当然也不能说没有一点道理,还是有一些道理的,假设误差服从一个均值为零的高斯分布,这点大家是否能够明白,能够意识到它是合理的,为什么要用高斯分布估计它?因为它是若干个你没看到的X共同影响的那么一个结果,这些x不一定是相加的关系,没关系,反正我也不知道它是怎么回事,我干脆就拿高斯分布来做,至少这个东西不会差的太多。

       好的,至此为止,你已经了解了线性回归模型的假设,并且能体会到它有一定的道理。那么我们接着讲误差的事。看下面的公式:
y ( i ) = θ T x ( i ) + ε ( i ) y^{(i)}=\theta^{T} x^{(i)}+\varepsilon^{(i)} y(i)=θTx(i)+ε(i)咱们逐个元素的去分析公式中的含义, ε ( i ) \varepsilon^{(i)} ε(i) 代表第i条数据预测值与真实值之间的差距。 θ T x ( i ) \theta^{T} x^{(i)} θTx(i)整体是我们的预测值, y ( i ) y^{(i)} y(i)是我们的真实值。那么预测值中的θ代表什么呢?这里不免讲到一个学科叫做线性代数,我个人的理解,线性代数就是一种简化标记法,比如我要写 w 0 x 0 + w 1 x 1 + w 2 x 2 + … + w n x n w_{0} x_{0}+w_{1} x_{1}+w_{2} x_{2}+\ldots+w_{n} x_{n} w0x0+w1x1+w2x2++wnxn写的很累,很长,因为老写这一长串的东西,于是我们干脆引入一个向量的概念,用W乘以X的转置,就等于上面的这些东西,它就是一种运算的定义。即
w 0 x 0 + w 1 x 1 + w 2 x 2 + … + w n x n = W X T w_{0} x_{0}+w_{1} x_{1}+w_{2} x_{2}+\ldots+w_{n} x_{n}=W X^{T} w0x0+w1x1+w2x2++wnxn=WXT

怎么解释上面公式? 此时的W通常在咱们手写的时候,通常会写成 W ⃗ \vec{W} W ,这就是向量的意思。那什么叫向量?假如说我的W向量为 W ⃗ = ( 1 , 2 , 3 ) \vec{W}=(1,2,3) W =(1,2,3)是什么意思呢?此时W不再是一个实数了,而是由三个实数构成的这么一个集合体,你就简单地把它联系理解成三个数的一个组合,把三数放一块,我把三个数硬生生写成一个字母,要不我还得称它w1,w2,w3,好麻烦!,所以我们直接称它叫 W ⃗ \vec{W} W 向量,其中它的第一个元素是1,第二个元素是2,第三个元素是3,它们三个整体构成了一个叫做三维向量,因为它是由三个元素构成的。向量为了方便运算,定义了行向量和列向量,横着写的就叫行向量,竖着写的叫列向量。这些东西没有什么原因就这么定义的,就是一个起名。我们把从行向量变成列向量的运算叫做转置,比如 W ⃗ = ( 1 , 2 , 3 ) \vec{W}=(1,2,3) W =(1,2,3),它的转置就是竖着写下上面的向量。为什么要转来转去?因为我们定义了行向量乘以列向量这种运算。

       我们此时对于这个例子来说,A向量乘以B向量的转置,假设A是行向量 W ⃗ = ( 1 , 2 , 3 ) \vec{W}=(1,2,3) W =(1,2,3),B是列向量 W ⃗ = ( 1 , 2 , 3 ) \vec{W}=(1,2,3) W =(1,2,3)转置 W T W^{T} WT那么一个行向量乘一个列向量怎么定义?就是行的第一个元素乘以列向量的第一个元素的结果,加上行的第二个元素乘以列向量的第二个元素结果,加上行的第三个元素乘以列向量的第三个元素的结果,就是 W W T = 1 ∗ 1 + 2 ∗ 2 + 3 ∗ 3 W W^{T}=1 * 1+2 * 2+3 * 3 WWT=11+22+33。那么 w 0 x 0 + w 1 x 1 + w 2 x 2 + … + w n x n = W X T w_{0} x_{0}+w_{1} x_{1}+w_{2} x_{2}+\ldots+w_{n} x_{n}=W X^{T} w0x0+w1x1+w2x2++wnxn=WXT,这个公式就可以借用上面行向量乘以列向量的表示方式。我们通常把 θ \theta θ都定义为列向量,那么 θ \theta θ的本身是 w 0 , w 1 , … w n w_{0}, w_{1}, \dots w_{n} w0,w1,wn的一个列向量 θ T \theta^{T} θT就是 ω 0 , w 1 , … w n \omega_{0}, w_{1}, \dots w_{n} ω0,w1,wn的一个行向量。 那么 x ( i ) x^{(i)} x(i)怎么解释?每一条数据x是不是有n个维度,X本身是不是也可以给它写成一个向量?我们就直接写 x ( i ) x^{(i)} x(i)向量就包含了这一条数据的所有维度了,当它为列向量的情况下, w 0 x 0 + w 1 x 1 + w 2 x 2 + … + w n x n w_{0} x_{0}+w_{1} x_{1}+w_{2} x_{2}+\ldots+w_{n} x_{n} w0x0+w1x1+w2x2++wnxn就变成了一个行向量乘以列向量的形式。 所以目前为止就把线性代数当作一种运算的简写方式。际上你就把这想成就是一个暗号,你看到这个暗号,你就知道它背后根据向量的乘法的定义会得到一个这样的结果,就是 w 0 x 0 + w 1 x 1 + w 2 x 2 + … + w n x n w_{0} x_{0}+w_{1} x_{1}+w_{2} x_{2}+\ldots+w_{n} x_{n} w0x0+w1x1+w2x2++wnxn,也就是 ∑ x i w i \sum x^{i} w^{i} xiwi这么一个结果,它计算出来的结果是什么?就是我们的 y ^ \hat{y} y^,也就是我们的预测值。那么 y ^ + ε \hat{y}+\varepsilon y^+ε是不是就是我们的真实值?刚好符合我们的公式。

       我们总结下上面说的核心。误差是由我们多个未观测到的属性或者叫特征决定的,多个未观测到的属性共同决定误差,我们应该假设它符合同一个高斯分布,什么样的高斯分布呢?就是误查服从一个均值为零,方差虽然你不知道,但一定也是某个确定的值的高斯分布。好,上面的核心你已了解,我们就可以引入一个概率的问题,一个可能性问题。既然误差服从均值为零的高斯分布,那误差自己的概率密度函数写出来如下:

p ( ε ( i ) ) = 1 2 π σ exp ⁡ ( − ( ε i ) 2 2 σ 2 ) p\left(\varepsilon^{(i)}\right)=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{\left(\varepsilon^{i}\right)^{2}}{2 \sigma^{2}}\right) p(ε(i))=2π σ1exp(2σ2(εi)2)

某一个误差发生的概率是不是就应该等于上面的公式。用心观察一下这个式子怎么来的?还记得高斯分布的概率密度函数吗?
f ( x ) = 1 σ 2 π e − ( x − u ) 2 2 σ 2 f(x)=\frac{1}{\sigma \sqrt{2 \pi}} e \frac{-(x-u)^{2}}{2 \sigma^{2}} f(x)=σ2π 1e2σ2(xu)2

对比发现是不是只有 ( ε i ) 2 \left(\varepsilon^{i}\right)^{2} (εi)2变了,为什么变了? 均值为零,它本来应该减个零,把减零去掉了。那么每个样本被采样到的概率也应该为:
p ( y ( i ) ∣ x ( i ) ; θ ) = 1 2 π σ exp ⁡ ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) p\left(y^{(i)} | x^{(i)} ; \theta\right)=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{\left(y^{(i)-} \theta^{T} x^{(i)}\right)^{2}}{2 \sigma^{2}}\right) p(y(i)x(i);θ)=2π σ1exp(2σ2(y(i)θTx(i))2)

       上面公式要怎么理解呢? 那么假如有一个样本,预测的 y ^ \hat{y} y^是1.6,真实的 y y y是2.0,那么它的误差 ε \varepsilon ε是0.4,带入误差的概率密度函数是不是可以计算出0.4发生的概率是有多大? 而 ε \varepsilon ε为0.4发生就代表一个真实结果为2.0的值被你取到了。因为你预测的 y ^ \hat{y} y^已经算出来了就等于1.6了,所以它们是可以唯一相互确定的,这点要想透。 p ( y ( i ) ∣ x ( i ) ; θ ) p\left(y^{(i)} | x^{(i)} ; \theta\right) p(y(i)x(i);θ)这个叫做条件概率,表示在已知 x ( i ) x^{(i)} x(i)的情况下, y ( i ) y^{(i)} y(i)发生的概率。其实换个角度也能理解,就是因为 y ( i ) = θ T x ( i ) + ε ( i ) y^{(i)}=\theta^{T} x^{(i)}+\varepsilon^{(i)} y(i)=θTx(i)+ε(i) 这个公式,所以把样本被采样到的概率中 y ( i ) − θ T x ( i ) y^{(i)}-\theta^{T} x^{(i)} y(i)θTx(i)替换成 ε i \varepsilon^{i} εi,结果是一样的,只不过我们要从实际含义去理解。

       既然知道每个样本采样到的概率后,那我们来计算这个概率。可以发现这里面真正变得是 θ \theta θ,因为其他参数都是已知,假如 θ \theta θ全等于0,你算出来的是一个概率,假如 θ \theta θ全等于1,算出来是另一个概率,也就是说每一条样本被采样到的可能性是随着 θ \theta θ的变化而变化的。这是某一条样本被采样到的概率,而最终所有的样本都被你采样到了。比如说你拿到了1万条数据,拿第一条数据,是不是有一组x,有一个y,分别是 x 1 x^{1} x1 y 1 y^{1} y1,带进去上面的概率公式,得到一个关于 θ \theta θ的一个表达式只要 θ \theta θ确定,结果也就确定了。 那么第一条样本被抽样到的概率是一个关于 θ \theta θ]的表达式,第二个样本被抽样到的概率也是一个关于 θ \theta θ的表达式,跟第一个表达式不一样,因为带进去的 y ( i ) y^{(i)} y(i) x ( i ) x^{(i)} x(i)是不一样的,这样下去,你会得到1万个表达式,每个表达式代表每一个点被抽样到的概率,1万个点共同的被抽样到了,那么你通通把它乘起来,就代表这1万个点共同被你抽样到的概率,得到了一个总的概率。总的概率是高是低取决于谁? x ( i ) x^{(i)} x(i) y ( i ) y^{(i)} y(i)已知,所以总概率高低取决于 θ \theta θ θ \theta θ变一变,这总概率就变一变。 那么你希望找到的 θ \theta θ是使总概率越高还是越低越好?因为你已经抽样到了这些数据,你最合理的 θ \theta θ 应该能让样本总体被抽样到的概率越高越好, θ \theta θ才越趋近于真实。我们称这种思想叫做极大似然估计(MLE)。所谓似然就是上面说的1万个 θ \theta θ的表达式相乘的结果就叫似然,其实就是最大概率估计,只不过民国时期翻译那些经典的数学书籍的时候,把概率翻译成了似然。

       由于训练集上的样本被抽选到这个随机事件是彼此独立的,那么训练集上所有的样本全部都被抽选到的概率转换为数学公式就是:

∏ i = 1 m p ( y ( i ) ∣ x ( i ) ; θ ) = 1 2 π σ exp ⁡ ( − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 ) \prod_{i=1}^{m} p\left(y^{(i)} | x^{(i)} ; \theta\right)=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{\left(y^{(i)-} \theta^{T} x^{(i)}\right)^{2}}{2 \sigma^{2}}\right) i=1mp(y(i)x(i);θ)=2π σ1exp(2σ2(y(i)θTx(i))2)

       通常我们称上面的总概率函数为似然函数。那什么样的 θ \theta θ是最好的呢? 能够使这个式子最大的 θ \theta θ就是最好的 θ \theta θ。因为它代表整个训练集被抽样到的总概率,既然它已经发生的事情,概率理应最大,这样 θ \theta θ才最真实,否则 θ \theta θ计算出来,这个概率没有达到最大,说明给的 θ \theta θ不够好,毕竟这些东西已经被你抽到了,这个概率还没达到最高值,说明给的 θ \theta θ不够合理。所以最大似然的思想就是已经抽样到的样本的总概率应该最大,而最合理的 θ \theta θ就应该是让似然函数最大的 θ \theta θ。这一点只要理解透了,后面的东西都很简单,这是本节最大的重点,极大似然估计会出现在机器学习的方方面面。方方面面都会有极大似然估计,它的核心思想就是已经发生的概率理应最大,而且概率取决于谁?取决于 θ \theta θ

       我们不要忘记初心,我们机器学习,学习的是一组参数 w 0 , w 1 , . . . w n w_{0}, w_{1},... w_{n} w0,w1,...wn,其实就是 θ \theta θ,本质就想找到一组最好的 θ \theta θ,现在似然函数是不是相当于给了我们一个指导方针?能够让总概率最大(也就是似然函数最大的 θ \theta θ就是最好的 θ \theta θ

       那么这跟那MSE函数(损失函数)有什么关系?我们回顾之前的知识,我们的目的是想找到一组一组参数 w 0 , w 1 , . . . w n w_{0}, w_{1},... w_{n} w0,w1,...wn,即( θ \theta θ),使损失函数(MSE)最小,而本节讲的是让这组参数 w 0 , w 1 , . . . w n w_{0}, w_{1},... w_{n} w0,w1,...wn,即( θ \theta θ),使似然函数最大,那么他们之间矛盾吗?要是能找到他们之间的关系,是不是所有的原理,无论从哪一方面都能解释通了。所以下一节中,我们来解剖MSE和最大似然之间的真正关系。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L先生AI课堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值