线性回归基础方法:最小二乘
对于线性回归模型
Y
=
X
β
+
u
Y=X\beta +u
Y=Xβ+u,为了求出系数矩阵
β
\beta
β,线性最小二乘法说要构造一个函数描述y的预测值和真值之间的差异,由于种种原因,希望能最小化残差平方和,就给出一个函数
f
(
β
)
=
∑
(
Y
−
X
β
)
2
f(\beta)=\sum (Y-X\beta)^2
f(β)=∑(Y−Xβ)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,...,y100∣p)=∏i=1100f(yi∣p),为了方便计算,对该式取对数,则成为对数似然函数
l
o
g
(
∑
i
=
1
100
f
(
y
i
∣
p
)
)
log(\sum_{i=1}^{100} f(y_i|p))
log(∑i=1100f(yi∣p)),则最大化这样一个分布函数,对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(y∣w,x)∼N(wx,ϵ2),
则有如下推导过程(摘自清华计算机系王鑫老师课件):
可以看出,极大似然法推导出来的要最小化的函数,正是最小二乘法直接构造出来的损失函数。因此,估计量的表达式相同。
贝叶斯估计
估计思想
还是以抛硬币估计出现某面概率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
p_A=0.5
pA=0.5。同时知道,试验结果B服从参数为
p
A
p_A
pA的多重伯努利分布,即P(B|A)可以用
p
A
p_A
pA的一个确定函数表示。现在要求在已知试验结果条件下,硬币正反面向上的概率,即P(A|B)。因此,要将这个条件概率用所有已知条件表示。
首先用条件概率公式:
P
(
A
∣
B
)
=
P
(
A
B
)
P
(
B
)
P(A|B)=\frac{P(AB)}{P(B)}
P(A∣B)=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(A∣B)=P(B)P(B∣A)P(A)
极大似然法的思路,就是求试验结果的概率分布P(B|A)中的参数
p
A
p_A
pA,使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(A∣B)∝P(B∣A)P(A)
即为极大似然函数
×
\times
×先验概率。同时注意在贝叶斯学派中,P(A)、P(A|B)不再是一个确定值,而服从某个概率分布。与此相反,频率学派认为,参数是一个确定值,只不过由于试验样本规模的限制,在参数估计上存在误差区间。这也是频率和贝叶斯学派的重要分歧之一。
最大后验估计
极大似然的思路是取一个
p
A
p_A
pA,最大化试验结果概率分布P(B|A)。在贝叶斯估计中,构造出来的函数是给定试验结果,参数服从的分布。最大后验估计(MAP)可以理解为对这一思路的扩展,仍然取一个
p
A
p_A
pA,但是要最大化用先验概率调整后的试验结果概率分布,即P(A|B)。注意到,在式子
P
(
A
∣
B
)
∝
P
(
B
∣
A
)
P
(
A
)
P(A|B)\propto P(B|A)P(A)
P(A∣B)∝P(B∣A)P(A)
中,右侧两个因式中都含有参数
p
A
p_A
pA。
可以看出,最大后验估计实际上是点估计,是对贝叶斯理论简化后的结果。因为贝叶斯理论假设参数服从某个概率分布,是未知的,而这种做法实际上假设了参数是一个确定的值。
因此,更精确的方法是,先选取一个事件A的初始先验概率分布
f
(
A
)
f(A)
f(A),在每次试验后都用贝叶斯公式对这一概率分布中的参数进行迭代。其直观依据是,每次试验后,我们对事件A的概率认知都有了更新,在试验足够多次数后,这种认知基本会达到稳定状态。这样得到的最终结果即是A的一个概率分布函数
f
(
A
∣
B
)
f(A|B)
f(A∣B)。当然,这样的计算复杂度更高,速度更慢。
下面需要确定A的初始先验概率分布
f
(
A
)
f(A)
f(A),一般来说,这个先验分布函数的选取取决于P(B|A)的分布函数
f
(
B
∣
A
)
f(B|A)
f(B∣A)。我们会根据
f
(
B
∣
A
)
f(B|A)
f(B∣A)的形式,为其选取一个“共轭先验分布”
f
(
A
)
f(A)
f(A)以简化计算。共轭这个概念可以理解成,当式子M乘以其共轭函数N时候,可以仍然得到一个和M结构相似的式子,这样不会因为要乘一个因式让式子变的过于复杂。
可以证明,若M是一个高斯分布,其共轭先验也可以选取高斯分布;若M服从n重伯努利分布,其共轭先验可以选取beta(a,b)分布。
最大后验估计应用
线性回归
在线性回归中,和此前推导的贝叶斯有一些区别,此处涉及3个事件(w,x,y),只要多用几次条件概率代换即可。具体推导过程如下(摘自清华计算机系王鑫老师课件):
此时,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−μ)1−xi
其中,令
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(1−xi)=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,即为频率,与本文前述结论吻合。