(1)找到最优值的解析解。 ∑ i ( x i − b ) 2 \sum_i (x_i - b)^2 ∑i(xi−b)2 , 找到一个常数使得最小化
这个问题与正态分布的关系在于,如果我们假设误差项e服从正态分布,即e ~ N(0, sigma^2),那么对于每个样本i,我们有:
yi = xi + b + ei
其中ei是误差项,满足
e
N
(
s
i
g
e
m
a
2
)
e~N(sigema^2)
e N(sigema2),每个样本的因变量yi都是自变量xi加上一个常数b,再加上一个正态分布的随机噪声ei。可以看出,如果我们将每个样本的误差项ei看作独立同分布的正态分布随机变量,那么我们得到的数据就服从一个正态分布。
根据这个假设,我们可以将最小化题目中的
∑
i
(
x
i
−
b
)
2
\sum_i (x_i - b)^2
∑i(xi−b)2看作是最大化样本的似然函数。换句话说,我们可以将这个问题转化为一个最大似然估计问题,即找到一个常数b,使得在给定样本的条件下,出现这个样本的概率最大。根据正态分布的性质,我们可以得到最大似然估计的解析解为样本均值。因此,最小化题目中的
∑
i
(
x
i
−
b
)
2
\sum_i (x_i - b)^2
∑i(xi−b)2的解析解为样本均值。
为什么通过极大似然估计法得出来的最优解b的解析解是样本均值
L(b) = p(x_1, x_2, ..., x_n | b)
= p(x_1 | b) * p(x_2 | b) * ... * p(x_n | b) # 似然函数
经过变形
log L(b) = (n/2) * log(2 * pi * sigma^2) + \sum_i (xi - b)^2 / (2 * sigma^2)#通过求导得出来是样本均值
似然函数的定义并不是真实值与样本预测值之间有差异的概率乘积。实际上,似然函数是在给定模型参数的条件下,观测到样本的概率密度函数(对于连续型随机变量)或者概率质量函数(对于离散型随机变量)。因此,似然函数描述的是样本的概率分布,而不是真实值与预测值之间的差异。
y = x ∗ w + b + e i y = x*w + b + ei y=x∗w+b+ei ei符合正态分布 ,参数w和b的最优值为什么是使似然函数最大的值
在给定模型和数据的情况下,最大化似然函数等价于最小化误差平方和,即最小化残差平方和。这也是最小二乘法的基本思想。对于线性回归模型,我们可以使用最小二乘法来估计模型参数。
假设我们使用线性回归模型来拟合某个数据集,其中y是因变量,x是自变量,w和b是模型参数,ei是误差项,符合正态分布。我们可以将目标函数定义为残差平方和,即:
R S S ( w , b ) = Σ ( y i − x i w − b ) 2 RSS(w, b) = Σ(yi - xiw - b)^2 RSS(w,b)=Σ(yi−xiw−b)2
我们的目标是找到最优的w和b,使得
R
S
S
(
w
,
b
)
RSS(w, b)
RSS(w,b)最小化。这个问题可以通过求解似然函数最大化的参数来等价地表示出来。
假设样本的观测值为
(
x
i
,
y
i
)
{(xi, yi)}
(xi,yi),误差项ei服从均值为0、方差为
σ
2
σ^2
σ2的正态分布。根据正态分布的概率密度函数,误差项ei的概率密度函数为:
f ( e i ) = ( 1 / s q r t ( 2 π σ 2 ) ) ∗ e x p ( − ( e i 2 ) / ( 2 σ 2 ) ) f(ei) = (1 / sqrt(2πσ^2)) * exp(-(ei^2) / (2σ^2)) f(ei)=(1/sqrt(2πσ2))∗exp(−(ei2)/(2σ2))
因此,样本的联合概率密度函数为:
L ( w , b ) = Π ( 1 / s q r t ( 2 π σ 2 ) ) ∗ e x p ( − ( y i − x i w − b ) 2 / ( 2 σ 2 ) ) L(w, b) = Π(1 / sqrt(2πσ^2)) * exp(-(yi - xiw - b)^2 / (2σ^2)) L(w,b)=Π(1/sqrt(2πσ2))∗exp(−(yi−xiw−b)2/(2σ2))
对数变换后,似然函数可以表示为:
l o g L ( w , b ) = Σ ( l o g ( 1 / s q r t ( 2 π σ 2 ) ) − ( y i − x i w − b ) 2 / ( 2 σ 2 ) ) log L(w, b) = Σ(log(1 / sqrt(2πσ^2)) - (yi - xiw - b)^2 / (2σ^2)) logL(w,b)=Σ(log(1/sqrt(2πσ2))−(yi−xiw−b)2/(2σ2))
由于 l o g ( 1 / s q r t ( 2 π σ 2 ) ) log(1 / sqrt(2πσ^2)) log(1/sqrt(2πσ2))是一个常数,我们可以忽略它。因此,似然函数可以简化为
l o g L ( w , b ) = − Σ ( y i − x i w − b ) 2 / ( 2 σ 2 ) log L(w, b) = -Σ(yi - xiw - b)^2 / (2σ^2) logL(w,b)=−Σ(yi−xiw−b)2/(2σ2)
这个式子与残差平方和的式子非常相似,只差一个常数系数。因此,最大化似然函数等价于最小化残差平方和,即最小二乘法。
因此,我们可以通过最大化似然函数来估计线性回归模型的参数,使得模型可以更好地拟合数据。
(知识补充)求导与解析解
求导是微积分中的一个重要概念,用来计算函数在某一点处的变化率,即导数。在机器学习中,求导常常用来求解损失函数的梯度,从而优化模型参数。
在线性回归中,损失函数是平方误差,即:
L ( w ) = ∣ ∣ X w − y ∣ ∣ 2 L(w) = ||Xw - y||^2 L(w)=∣∣Xw−y∣∣2
其中,X是数据矩阵,w是模型参数向量,y是目标值向量。我们的目标是最小化损失函数,因此需要求解梯度,即
:
∇
L
(
w
)
=
(
∂
L
/
∂
w
1
,
∂
L
/
∂
w
2
,
.
.
.
,
∂
L
/
∂
w
d
)
∇L(w) = (∂L/∂w1, ∂L/∂w2, ..., ∂L/∂wd)
∇L(w)=(∂L/∂w1,∂L/∂w2,...,∂L/∂wd)
其中,
∂
L
/
∂
w
i
∂L/∂wi
∂L/∂wi表示对第i个参数求导。
展开平方误差,得到:
L ( w ) = ( X w − y ) T ( X w − y ) L(w) = (Xw - y)^T (Xw - y) L(w)=(Xw−y)T(Xw−y)
对w求导,得到:
∇ w L ( w ) = 2 X T ( X w − y ) ∇w L(w) = 2X^T(Xw - y) ∇wL(w)=2XT(Xw−y)
其中,
X
T
X^T
XT表示X的转置,这是因为矩阵的乘法是行乘列,而
∇
L
(
w
)
∇L(w)
∇L(w)是一个列向量,因此需要将X转置后才能相乘。
将梯度设为0,即:
2 X T ( X w − y ) = 0 2X^T(Xw - y) = 0 2XT(Xw−y)=0
解得:
X T ( X w − y ) = 0 X^T(Xw - y) = 0 XT(Xw−y)=0
这个方程的解就是线性回归的解析解,即:
w = ( X T X ) − 1 X T y w = (X^TX)^-1X^Ty w=(XTX)−1XTy
综上所述,求导在机器学习中是一个非常重要的概念,用来计算函数的变化率和优化模型参数。在线性回归中,对损失函数求导得到的梯度中包含了矩阵的转置,这是因为矩阵的乘法需要考虑行列的匹配关系。
(2)
线性回归的优化问题是要最小化平方误差,即:
m i n w ∣ ∣ X w − y ∣ ∣ 2 min_w ||Xw - y||^2 minw∣∣Xw−y∣∣2
其中,X是
n
×
d
n×d
n×d的矩阵,y是n维向量,w是d维向量。
将平方误差展开,得到:
m i n w ( X w − y ) T ( X w − y ) min_w (Xw - y)^T (Xw - y) minw(Xw−y)T(Xw−y)
对w求导,得到:
2 X T ( X w − y ) = 0 2X^T(Xw - y) = 0 2XT(Xw−y)=0
解得:
w = ( X T X ) − 1 X T y w = (X^TX)^-1X^Ty w=(XTX)−1XTy
这就是线性回归的解析解。
用矩阵和向量表示法写出优化问题,即:
m i n w ∣ ∣ X w − y ∣ ∣ 2 = m i n w ( X w − y ) T ( X w − y ) min_w ||Xw - y||^2 = min_w (Xw - y)^T (Xw - y) minw∣∣Xw−y∣∣2=minw(Xw−y)T(Xw−y)
计算损失对w的梯度,得到:
∇ w ( X w − y ) T ( X w − y ) = 2 X T ( X w − y ) ∇w (Xw - y)^T (Xw - y) = 2X^T(Xw - y) ∇w(Xw−y)T(Xw−y)=2XT(Xw−y)
将梯度设为0,得到:
X T ( X w − y ) = 0 X^T(Xw - y) = 0 XT(Xw−y)=0
解得:
w = ( X T X ) − 1 X T y w = (X^TX)^-1X^Ty w=(XTX)−1XTy
当数据集较小或者特征较少时,解析解可能比使用随机梯度下降更好,因为解析解的计算复杂度是O(d^3),而随机梯度下降的计算复杂度是O(nd),当数据集较大或者特征较多时,使用随机梯度下降更为常见。
解析解可能失效的情况是,当矩阵X^TX不可逆时,即X中存在线性相关的列,此时解析解不存在。此外,当数据集过于复杂或者噪声较大时,解析解也可能不太准确,需要使用正则化等方法来提高模型的泛化能力。