线性回归

最小二乘法

假设数据集为: 𝒟 = {(x1, y1), (x2, y2), ⋯, (xN, yN)} 后面我们记: X = (x1, x2, ⋯, xN)T, Y = (y1, y2, ⋯, yN)T 线性回归假设: f(w) = wTx

我们的任务是寻找到最合适的一个w,这必然需要定义合适的损失函数,如何定义?

合理的假设:噪声是高斯分布的,那么有y = wTx + ϵ, ϵ ∼ 𝒩(0, σ2),也就是y ∼ 𝒩(wTx, σ2)

我们使用使用最大似然估计求解w,也就是 w = argmaxlog p(Y|X, w)

这个式子表示表示在模型参数w 固定且已知输入数据 X 的条件下,输出数据 Y 出现的概率。我们要求的就是:给定怎样的w可以使得这个概率最大 $$\begin{aligned}&=argmax\log\prod_{i=1}^Np(y_i|x_i,w)\\&=argmax\sum_{i=1}^N\log(\frac1{\sqrt{2\pi\sigma}}e^{-\frac{(y_i-w^Tx_i)^2}{2\sigma^2}})\end{aligned} $$ $$=argmin\sum_{i=1}^N(y_i-w^Tx_i)^2$$

因此使用二范数定义损失函数

$$L(w)=\sum_{i=1}^N||w^Tx_i-y_i||_2^2$$

 = (wTXT − YT) ⋅ (Xw − Y)

$$\begin{aligned} \hat{w}=argmin L(w)& \longrightarrow\frac\partial{\partial w}L(w)=0 \\ &\longrightarrow2X^TX\hat{w}-2X^TY=0 \\ &\longrightarrow\hat{w}=(X^TX)^{-1}X^TY=X^+Y \end{aligned}$$

这个式子中(XTX)−1XT又被称为伪逆。对于行满秩或者列满秩的X ,可以直接求解,但是对于非满秩的样本集合,需要使用奇异值分解 (SVD)的方法,对X求奇异值分解,得到 X = UΣVT 于是: X+ = VΣ−1UT

正则化

正则化是防止过拟合的关键手段,从代数上朴素的看,就是在原有loss函数的基础上加上一项有关于w的惩罚项,防止w过大,L1正则化和L2正则化可以写为下式

$$L1:argmin L(w)+\lambda||w||_1,\lambda>0\\L2:argmin L(w)+\lambda||w||_2^2,\lambda>0$$

然而正则化的引入依然有其概率意义,关于惩罚项的引入实际上出自于我们对最大似然估计的修正,最大似然估计看似合乎直觉,实际上并没有考虑到先验概率对于某一条件概率的影响,事实上最大后验估计往往比最大似然估计更准确!
假设权重先验分布满足高斯分布,则 $$\begin{aligned} w\sim\mathcal{N}(0,\sigma_0^2) \\ \hat{w}=argmax \log p(w|Y)& =\underset{w}{\operatorname*{argmax}}p(Y|w)p(w) \\ &=argmax\log p(Y|w)p(w) \\ &=argmax(\log p(Y|w)+\log p(w)) \\ &=argmin[(y-w^Tx)^2+\frac{\sigma^2}{\sigma_0^2}w^Tw] \end{aligned}$$

这就是L2正则化的由来,本质上是考虑了p(w)带来的修正项


线性回归
http://example.com/2024/07/13/机器学习/线性回归/
作者
bradin
发布于
2024年7月13日
许可协议