【机器学习】线性回归——数学原理推导

1. 定义

y = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n y = \theta_0 + \theta_1x_1 + \theta_2x_2 + ... + \theta_nx_n y=θ0+θ1x1+θ2x2+...+θnxn

2. 误差函数

y ( i ) = θ T x ( i ) + ϵ ( i ) y^{(i)} = \theta^Tx^{(i)} + \epsilon ^{(i)} y(i)=θTx(i)+ϵ(i)

  • y ( i ) y^{(i)} y(i) : 真实值
  • ϵ ( i ) \epsilon^{(i)} ϵ(i) : 误差值

这里我们假定误差 ϵ ( i ) \epsilon^{(i)} ϵ(i)是独立且同分布的,服从期望为0,方差为 σ 2 \sigma^2 σ2的高斯分布。(根据中心极限定理得出:在特定条件下,大量统计独立的随机变量的和的分布趋于正态分布,这就是中心极限定理)

p ( ϵ ( i ) ) = 1 2 π σ e − ( ϵ ( i ) ) 2 2 σ 2 p(\epsilon^{(i)}) = \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(\epsilon^{(i)})^2}{2\sigma^2}} p(ϵ(i))=2π σ1e2σ2(ϵ(i))2

将上式带入可得:

p ( y ( i ) ∣ x ( i ) ; θ ) = 1 2 π σ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 p(y^{(i)}|x^{(i)};\theta) = \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y^{(i)}-\theta^Tx^{(i)})^2}{2\sigma^2}} p(y(i)x(i);θ)=2π σ1e2σ2(y(i)θTx(i))2

3. 极大似然估计

似然函数:

L ( θ ) = ∏ i = 1 m p ( y ( i ) ∣ x ( i ) ; θ ) = ∏ i = 1 m 1 2 π σ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 L(\theta) = \prod_{i=1}^{m}{p(y^{(i)}|x^{(i)};\theta)} = \prod_{i=1}^{m}{\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y^{(i)}-\theta^Tx^{(i)})^2}{2\sigma^2}}} L(θ)=i=1mp(y(i)x(i);θ)=i=1m2π σ1e2σ2(y(i)θTx(i))2

将连乘转换为累加,转换为对数似然函数:

ln ⁡ L ( θ ) = ln ⁡ ∏ i = 1 m 1 2 π σ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 \ln{L(\theta)} = \ln{\prod_{i=1}^{m}{\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y^{(i)}-\theta^Tx^{(i)})^2}{2\sigma^2}}}} lnL(θ)=lni=1m2π σ1e2σ2(y(i)θTx(i))2

化简:

∑ i = 1 m ln ⁡ 1 2 π σ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 \quad\sum_{i=1}^{m}{\ln{\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y^{(i)}-\theta^Tx^{(i)})^2}{2\sigma^2}}}} i=1mln2π σ1e2σ2(y(i)θTx(i))2

= m ln ⁡ 1 2 π σ − 1 2 σ 2 ∑ i = 1 m ( y ( i ) − θ T x ( i ) ) 2 =m\ln{\frac{1}{\sqrt{2\pi}\sigma}} - \frac{1}{2\sigma^2}\sum_{i=1}^{m}{(y^{(i)}-\theta^Tx^{(i)})^2} =mln2π σ12σ21i=1m(y(i)θTx(i))2

由于m, σ \sigma σ是常数,可以得出目标(损失)函数如下:

J ( θ ) = 1 2 ∑ i = 1 m ( θ T x i − y i ) 2 \quad J(\theta) = \frac{1}{2}\sum_{i=1}^{m}{(\theta ^T x^{i} - y^{i})^2} J(θ)=21i=1m(θTxiyi)2

= 1 2 ( X θ − y ) 2 =\frac{1}{2}(X\theta - y)^2 =21(Xθy)2

= 1 2 ( X θ − y ) T ( X θ − y ) =\frac{1}{2}(X\theta - y)^T(X\theta - y) =21(Xθy)T(Xθy)

该损失函数也称为最小二乘法

我们期望似然函数的值越大越好(因为根据高斯分布,越靠近期望的位置其函数值越大,而我们代入的标准高斯分布其均值为0,这意味着越靠近均值,误差值越小),即损失函数的值越小越好(从推导过程可以得出似然函数与损失函数成负相关)

4. 计算参数

∇ θ J ( θ ) = ∇ θ [ 1 2 ( θ T X T − y T ) ( X θ − y ) ] \nabla_\theta J(\theta) = \nabla_\theta[\frac{1}{2}(\theta^TX^T - y^T)(X\theta - y)] θJ(θ)=θ[21(θTXTyT)(Xθy)]

= ∇ θ [ 1 2 ( θ T X T X θ − y T X θ − θ T X T y + y T y ) ] \quad=\nabla_\theta[\frac{1}{2}(\theta^TX^TX\theta-y^TX\theta-\theta^TX^Ty+y^Ty)] =θ[21(θTXTXθyTXθθTXTy+yTy)]

= 1 2 ( X T X θ + θ T X T X − ( y T X ) T − X T y ) \quad=\frac{1}{2}(X^TX\theta+\theta^TX^TX-(y^TX)^T-X^Ty) =21(XTXθ+θTXTX(yTX)TXTy)

= 1 2 ( 2 X T X θ − 2 X T y ) \quad=\frac{1}{2}(2X^TX\theta-2X^Ty) =21(2XTXθ2XTy)

= X T X θ − X T y \quad=X^TX\theta-X^Ty =XTXθXTy

∇ θ J ( θ ) = 0 \nabla_\theta J(\theta)=0 θJ(θ)=0 可得:
θ = ( X T X ) − 1 ( X T y ) \theta = (X^TX)^{-1}(X^Ty) θ=(XTX)1(XTy)

即当 θ = ( X T X ) − 1 ( X T y ) \theta = (X^TX)^{-1}(X^Ty) θ=(XTX)1(XTy)时,损失函数取最小值,似然函数得最大值

注: θ T X T X \theta^TX^TX θTXTX在转换为 X T X θ X^TX\theta XTXθ时,由于 X T X X^TX XTX是方阵,所以可以移动 θ T \theta^T θT,将 X T X X^TX XTX看成一个整体,将 θ T \theta^T θT向后移动,并需要进行转置

5. 正则化

为了避免模型过拟合,一般在目标(损失)函数后添加惩罚因子(正则项)。根据使用正则化的方式不同添加不用的惩罚因子

L1正则:

J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) + λ ∑ j = 0 n ∣ θ j ∣ J(\theta) = \frac{1}{2}\sum_{i=1}^{m}(h_\theta(x^{(i)}) - y^{(i)}) + \lambda\sum_{j=0}^{n}|\theta_j| J(θ)=21i=1m(hθ(x(i))y(i))+λj=0nθj

L2正则:

J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) + λ ∑ j = 0 n ( θ j ) 2 J(\theta) = \frac{1}{2}\sum_{i=1}^{m}(h_\theta(x^{(i)}) - y^{(i)}) + \lambda\sum_{j=0}^{n}(\theta_j)^2 J(θ)=21i=1m(hθ(x(i))y(i))+λj=0n(θj)2

你可能感兴趣的:(机器学习)