线性回归损失函数构造:极大似然法和贝叶斯估计的视角

目录

  • 线性回归基础方法:最小二乘
  • 极大似然法估计
    • 估计思想
    • 线性回归中应用
  • 贝叶斯估计
    • 估计思想
    • 贝叶斯公式
    • 最大后验估计
    • 最大后验估计应用
      • 线性回归
      • 独立重复试验

线性回归基础方法:最小二乘

对于线性回归模型 Y = X β + u Y=X\beta +u Y=Xβ+u,为了求出系数矩阵 β \beta β,线性最小二乘法说要构造一个函数描述y的预测值和真值之间的差异,由于种种原因,希望能最小化残差平方和,就给出一个函数 f ( β ) = ∑ ( Y − X β ) 2 f(\beta)=\sum (Y-X\beta)^2 f(β)=(YXβ)2,取能最小化该函数的 β \beta β即可。然后,为了得到 β ^ \hat{\beta} β^的无偏、一致等性质,又施加了高斯马尔可夫假设。
因此,在推导参数估计量表达式 β ^ = ( X T X ) − 1 ( X T Y ) \hat{\beta}=(X^TX)^{-1}(X^TY) β^=(XTX)1(XTY)的过程中,并没有用到高斯马尔可夫假设的任何一条,对于Y(或误差项)的概率分布也没有任何假设。
而只有在推导估计量无偏性和一致性的过程中,才会用到诸如线性模型、X的随机性、X有变异、误差零条件均值、同方差性、不存在完全共线性的假设;只有在需要对参数进行假设检验时,才会用到概率论的思想,认为Y的观测值是其整体的一个样本,且其整体服从某个概率分布。令Y(或误差项)服从正态分布,可以更方便对估计量进行假设检验、置信区间估计。当然,在大样本情况下,Y不需要服从正态分布也可以对其假设检验(估计量渐进性)。
这里有一点疑问,就是为什么要构造 ∑ ( Y − β X ) 2 \sum (Y-\beta X)^2 (YβX)2这样的形式衡量差异。在机器学习中,一般会称这样衡量预测值和真实值差异的函数为损失函数(loss function)。最小二乘法的教材中会说,相比于残差的其他幂次来说,取平方时候,参数估计量更容易求出,且其统计性质容易推导。这样的损失函数也是"ordinary least square"方法得名的原因。

极大似然法估计

估计思想

引入概率论的思想进行参数估计。极大似然估计认为模型参数 β \beta β是一个确定的值,但 y i , y 2 , . . . , y n y_i,y_2,...,y_n yi,y2,...,yn是从整体中抽取的一个随机样本,应当服从某个以 β \beta β为参数的概率分布 f ( y 1 , y 2 , . . . , y n ∣ β ) f(y_1,y_2,...,y_n|\beta) f(y1,y2,...,ynβ)。这里涉及极大似然原理,即令现有观测情况发生概率最大的参数最有可能是真实参数。这个原理更多是基于经验直觉,目前没有找到与其直接相关的严谨数学推导。
可以类比抛硬币。如果事先不知道这枚硬币两面质量谁大谁小,现在做实验,抛100次硬币,硬币抛n次某面向上的概率服从多重伯努利分布,参数为p,且每次抛硬币事件独立,则 f ( y 1 , y 2 , . . . , y 100 ∣ p ) = ∏ i = 1 100 f ( y i ∣ p ) f(y_1,y_2,...,y_{100}|p)=\prod_{i=1}^{100} f(y_i|p) f(y1,y2,...,y100p)=i=1100f(yip),为了方便计算,对该式取对数,则成为对数似然函数 l o g ( ∑ i = 1 100 f ( y i ∣ p ) ) log(\sum_{i=1}^{100} f(y_i|p)) log(i=1100f(yip)),则最大化这样一个分布函数,对p求一阶导,可以证明要取的参数p可以就是频率n/100。
从这个例子中,也可以看出极大似然估计的合理性。大数定理证明了,当一个随机试验在相同试验条件下重复很多次后,其各事件出现的频率近似于其概率。因此,在上述例子中,当n → ∞ \to\infty p ^ = k / n \hat{p}=k/n p^=k/n一定近似于其真值。因此,这样的估计量具有渐进性,是一个好的估计量。

线性回归中应用

用极大似然估计,若要写出极大似然函数,就要先知道Y的概率函数,也就是需要先假设y服从某个概率分布。这是和最小二乘法差别较大的一个点。对于连续变量,一般假设y服从正态分布。
现建立模型 y = w x + ϵ y=wx+\epsilon y=wx+ϵ,假设 p ( y ∣ w , x ) ∼ N ( w x , ϵ 2 ) p(y|w,x)\sim N(wx,\epsilon^2) p(yw,x)N(wx,ϵ2)
则有如下推导过程(摘自清华计算机系王鑫老师课件):
线性回归损失函数构造:极大似然法和贝叶斯估计的视角_第1张图片
可以看出,极大似然法推导出来的要最小化的函数,正是最小二乘法直接构造出来的损失函数。因此,估计量的表达式相同。

贝叶斯估计

估计思想

还是以抛硬币估计出现某面概率p为例。之前举例是抛100次硬币,但在小样本中,可能出现某个样本和总体分布差别较大的情况,这时频率和概率的差别也就较大,也就是说,这样估计的结果容易受小样本极端分布的干扰,出现有悖常理的结果。如,抛了10次硬币,即使双面质量相同,也有 10 2 10 \frac{10}{2^{10}} 21010的概率出现9次正面,而这种情况一旦出现,得出结论 p = 9 10 p=\frac{9}{10} p=109和真正的概率相差太远。因此,我们需要一个先验概率,对试验得到频率进行校正。在本例中,先验概率就是正/反面出现的P=0.5。
事实上,是否需要用先验概率对试验概率进行校正,正是频率学派和贝叶斯学派的一个重要分歧。

贝叶斯公式

首先给出一个应用情境:以抛硬币为例,定义客观上硬币正面/反面向上为事件A,抛硬币试验结果(正面还是反面向上)为事件B(是一系列可能结果 B 1 , B 2 . . . B n B_1,B_2...B_n B1,B2...Bn的集合)。已知一个先验概率:在不知道试验结果的情况下,判断硬币正反面质量相同,即P(A)=0.5。同时知道,试验结果B服从参数为p(A)的多重伯努利分布,即P(B|A)已知。现在要求在已知试验结果条件下,硬币正反面向上的概率,即P(A|B)。因此,要将这个条件概率用所有已知条件表示
首先用条件概率公式:
P ( A ∣ B ) = P ( A B ) P ( B ) P(A|B)=\frac{P(AB)}{P(B)} P(AB)=P(B)P(AB),再对右侧分母用条件概率
P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B)=\frac{P(B|A)P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)
极大似然法的思路,就是取p(A),使P(B|A)最大,因此,P(B|A)就是一个极大似然函数。由于P(B)和所要求对参数无关,给定Y之后,P(B)即为一个常数,因此,上式还可以写成:
P ( A ∣ B ) ∝ P ( B ∣ A ) P ( A ) P(A|B)\propto P(B|A)P(A) P(AB)P(BA)P(A)
即为极大似然函数*先验概率。同时注意在贝叶斯学派中,P(A)、P(A|B)不再是一个确定值,而服从某个概率分布。这也是频率和贝叶斯学派的重要分歧之一。频率学派认为,参数是一个确定值,只不过由于试验样本规模的限制,在参数估计上存在误差区间。

最大后验估计

极大似然的思路是取一个与A有关的参数,最大化试验结果概率分布值P(B|A)。在贝叶斯估计中,构造出来的函数是给定试验结果,参数服从的分布。延续类似思想,想取一个与A有关的参数,最大化参数概率分布值P(A|B)。(个人感觉为何要最大化P(A|B)在解释逻辑上还差了点,但目前还没找到更好的解释,若有同志有更好的理解欢迎在评论区交流)
可以看出,最大后验估计实际上是点估计,是简化后的结果。因为贝叶斯假设参数服从某个分布,而这样估计出的结果,参数仅为一个确定的值。因此,还有更复杂一些的方法,如选取一个初始的先验概率P(A)后,在每次试验后都用贝叶斯公式对这一概率进行迭代,其直观依据是,每次试验后,我们对事件A的概率认知都有了更新,在试验足够多次数后,这种认知基本会达到稳定状态。这样得到的最终结果即是A的一个概率分布函数 f ( A ∣ B ) f(A|B) f(AB)。当然,这样的计算复杂度更高,速度更慢。
下面的工作是确定初始先验概率P(A),一般来说,我们会对其选取一个“共轭先验”以简化计算。共轭这个概念可以理解成,当式子M乘以其共轭函数N时候,可以仍然得到一个和M结构相似的式子,这样不会因为要乘一个因式让式子变的过于复杂。因此要确定P(A),要先确定P(B|A)分布。
可以证明,若M是一个高斯分布,其共轭先验也可以选取高斯分布;若M服从n重伯努利分布,其共轭先验可以选取beta(a,b)分布。

最大后验估计应用

线性回归

在线性回归中,和此前推导的贝叶斯有一些区别,此处涉及3个事件(w,x,y),只要多用几次条件概率代换即可。具体推导过程如下(摘自清华计算机系王鑫老师课件):
线性回归损失函数构造:极大似然法和贝叶斯估计的视角_第2张图片
此时,p(w)设为高斯分布。可以看出,右侧两个高斯分布相乘,则可以直接用指数相加合并,求导只要令合并后的指数一阶导为0即可。

独立重复试验

再看多次掷硬币试验。由于每次试验独立,则所有试验结果(0-1)的概率分布相乘即为总的概率分布函数P(B|A):
∏ i = 1 N μ x i ( 1 − μ ) 1 − x i \prod_{i=1}^{N}\mu^{x_i}(1-\mu)^{1-x_i} i=1Nμxi(1μ)1xi
其中,令 x i = 1 x_i=1 xi=1时表示硬币正面向上, x i = 0 x_i=0 xi=0表示反面向上。 μ \mu μ为正面向上的概率,即为要求的参数。
由设定可知, ∑ i = 1 N x i = k \sum_{i=1}^{N} x_i=k i=1Nxi=k,其中,k为N次试验中正面向上次数;同样可以令 ∑ i = 1 N ( 1 − x i ) = q \sum_{i=1}^{N} (1-x_i)=q i=1N(1xi)=q,q为N次试验中反面向上的次数。
此时,P(A)设为beta(a,b)分布,形式为 μ α − 1 ( 1 − μ ) β − 1 B ( α , β ) \frac{\mu^{\alpha-1}(1-\mu)^{\beta-1}}{B(\alpha,\beta)} B(α,β)μα1(1μ)β1 ,其中,分母为一个正则化项。
对P(B|A)P(A)取对数,整理可得:
p ( μ ∣ k , q ) = ( k + α − 1 ) l n μ + ( q + β − 1 ) l n ( 1 − μ ) p(\mu|k,q)=(k+\alpha-1)ln\mu+(q+\beta-1)ln(1-\mu) p(μk,q)=(k+α1)lnμ+(q+β1)ln(1μ)
因此可以看出,当样本量,即N=k+q很大时,a-1,b-1均可近似忽略,即得到对数极大似然函数,令一阶导=0即可得到 μ = k / N \mu=k/N μ=k/N,即为频率,与本文前述结论吻合。

你可能感兴趣的:(数据分析,算法基础,算法,概率论)