简单易懂的线性回归基础和从极大似然估计推导最小二乘法

首先假设有这样一组数据

X1 X2 Y
a1 b1 c1
a2 b2 c2

目标是找到一条合适的线来拟合数据点,可以根据给的X预测Y值

设置权重参数

假设每个X都有一个对应的θ为它的权重参数,可得:

Y=Θ0+Θ1X1+Θ2X2+...Y=\Theta_0+\Theta_1X_1+\Theta_2X_2+...

Θ0\Theta_0为设置的偏置项,可以对这一项乘以一列X0,其中X0全部为1即可将式子化为:Y=i=1nΘi2xi=ΘTXY=\displaystyle\sum_{i=1}^{n} \Theta_i^2x_i=\Theta^TX
接着误差用ϵ\epsilon表示,误差一定存在,且经验可知误差是独立且一般为(0,Θ2\Theta^2)的高斯分布,如图:
简单易懂的线性回归基础和从极大似然估计推导最小二乘法
下面用小标r表示真实值,即ϵr\epsilon^r表示真实的误差值

  1. Yr=ΘXr+ϵrY^r=\Theta X^r+ \epsilon^r
  2. 由于误差服从高斯分布所以可得::P(ϵr)=1(2π)σe(ϵr)22σ2P(\epsilon^r)=\frac{1}{\sqrt (2\pi)\sigma}e^\frac{(\epsilon^r)^2}{-2\sigma^2}
  3. 1带入2式子可得:P(ϵr)=1(2π)σe(yrΘTXr)22σ2P(\epsilon^r)=\frac{1}{\sqrt (2\pi)\sigma}e^\frac{(y^r-\Theta^TX^r)^2}{-2\sigma^2}

手写比较方便,下面上图

这里引入似然函数,

似然函数简单来讲,就是根据样本来估计权重参数的值,即假假设权重参数使之与数据组合之后能接近真实值),因为每一次产生误差都是相互独立的事件,所以应该概率相乘
简单易懂的线性回归基础和从极大似然估计推导最小二乘法

对数似然

之所以取log运算由于累乘不好算,对似然函数取对数,将累乘化成累加,再化简可得:
简单易懂的线性回归基础和从极大似然估计推导最小二乘法
误差一定产生了,既然产生,我们就根据极大似然估计断定一定发生在概率最大的地方。换句话说Log(L(θ))越大,预测值接近真实值的可能性就越大,为了尽可能接近真实值,所以Log(L(θ))要尽可能大, 而前一项可知是恒正的,因此需要后一项尽可能小,再去掉σ这个常数项之后最终可得:

简单易懂的线性回归基础和从极大似然估计推导最小二乘法
是不是很眼熟,这里就是最小二乘法。
要注意的是,这里的X,θ,Y都是矩阵,A矩阵的平方=A的转置×A,可得
简单易懂的线性回归基础和从极大似然估计推导最小二乘法
再使偏导等于0
简单易懂的线性回归基础和从极大似然估计推导最小二乘法
为什么偏导等于0就能取到极小值点?因为机器学习中的凸优化,默认函数为凸函数(这个以后再说)。
现在就得到了一个可求的权重参数,但是这个θ一般是无法直接进行求解的,需要进行优化(例如梯度下降等),通常不直接求解。

评估方法

最常用评估项
简单易懂的线性回归基础和从极大似然估计推导最小二乘法
分子表示预测值减去真实值,可以推出分子越小越好,即R²越接近1模型拟合的越好

学习笔记