线性回归问题

1.问题概述

线性回归是根据一个或一组自变量的变动情况来预测与其相关关系的某随机变量的未来值的方法。这是一种监督学习方法。

2.表达式

线性回归问题模型如下:
y ( i ) = θ T x ( i ) + ε ( i ) (1) y^{(i)} = \theta^{T}x^{(i)} + \varepsilon ^{(i)} \tag{1} y(i)=θTx(i)+ε(i)(1)

其中, x ( i ) x^{(i)} x(i)代表第i个自变量, ε ( i ) \varepsilon^{(i)} ε(i)表示第i个误差, y ( i ) y^{(i)} y(i)代表数据标签, θ T \theta^{T} θT表示待求解权重。
由上述公式可知,当误差为0时, y ( i ) = θ T x ( i ) y^{(i)} = \theta^{T}x^{(i)} y(i)=θTx(i),即模型达到最优解,但在实际问题中,这几乎不可能实现。那么,为了尽可能使模型最优,需要误差尽可能的小,线性回归问题转换成求解误差最小值问题。

3.误差

误差 ε ( i ) \varepsilon^{(i)} ε(i)是独立同分布的,且服从均值为0,方差为 θ 2 \theta^{2} θ2的高斯分布,将误差代入高斯分布公式可得:
p ( ε ( i ) ) = 1 2 π σ e x p ( − ( ε ( i ) ) 2 2 σ 2 ) (2) p(\varepsilon^{(i)}) = \frac{1}{\sqrt {2\pi\sigma}}exp(-\frac{(\varepsilon^{(i)})^2}{2\sigma^2}) \tag{2} p(ε(i))=2πσ 1exp(2σ2(ε(i))2)(2)
将式(1)代入式(2),可得:
p ( y ( i ) ∣ x ( i ) ; θ ) = 1 2 π σ e x p ( − ( y ( i ) ) 2 − ( θ T x ( i ) ) 2 2 σ 2 ) (3) p(y^{(i)}|x^{(i)};\theta) = \frac{1}{\sqrt {2\pi\sigma}}exp(-\frac{(y^{(i)})^2-(\theta^{T}x^{(i)})^2}{2\sigma^2}) \tag{3} p(y(i)x(i);θ)=2πσ 1exp(2σ2(y(i))2(θTx(i))2)(3)
于是,由式(1)和式(3)的数学性质可知, θ \theta θ值越小,误差值越小,预测值 θ T x ( i ) \theta^{T}x^{(i)} θTx(i)就越接近标签 y ( i ) y^{(i)} y(i)

4.似然函数

对于 θ \theta θ最大值求解,我们可以采用似然函数来实现。似然函数公式如下:
L ( θ ) = ∏ i = 1 m p ( y ( i ) ∣ x ( i ) ; θ ) ) = ∏ i = 1 m 1 2 π σ e x p ( − ( y ( i ) ) 2 − ( θ T x ( i ) ) 2 2 σ 2 ) (4) L(\theta) = \prod_{i=1}^{m}p(y^{(i)}|x^{(i)};\theta))= \prod_{i=1}^{m}\frac{1}{\sqrt {2\pi\sigma}}exp(-\frac{(y^{(i)})^2-(\theta^{T}x^{(i)})^2}{2\sigma^2}) \tag{4} L(θ)=i=1mp(y(i)x(i);θ))=i=1m2πσ 1exp(2σ2(y(i))2(θTx(i))2)(4)
易知,乘法操作在实际应用中难以实现,且我们只关注式中自变量 θ \theta θ,而非因变量 L ( θ ) L(\theta) L(θ)。因此,可以通过对数方式将连乘操作转换成累加操作,如式(5)所示:
l o g L ( θ ) = l o g ∏ i = 1 m 1 2 π σ e x p ( − ( y ( i ) ) 2 − ( θ T x ( i ) ) 2 2 σ 2 ) (5) logL(\theta) = log\prod_{i=1}^{m}\frac{1}{\sqrt {2\pi\sigma}}exp(-\frac{(y^{(i)})^2-(\theta^{T}x^{(i)})^2}{2\sigma^2})\tag{5} logL(θ)=logi=1m2πσ 1exp(2σ2(y(i))2(θTx(i))2)(5)
对式(5)进行化简:
l o g L ( θ ) = ∑ i = 1 m l o g 1 2 π σ e x p ( − ( y ( i ) ) 2 − ( θ T x ( i ) ) 2 2 σ 2 ) = m ∑ i = 1 m l o g 1 2 π σ − 1 2 σ 2 ∑ i = 1 m ( ( y ( i ) ) 2 − ( θ T x ( i ) ) 2 ) (6) logL(\theta) = \sum_{i=1}^{m}log\frac{1}{\sqrt {2\pi\sigma}}exp(-\frac{(y^{(i)})^2-(\theta^{T}x^{(i)})^2}{2\sigma^2})\\=m\sum_{i=1}^{m}log\frac{1}{\sqrt {2\pi\sigma}}-\frac{1}{2\sigma^2}\sum_{i=1}^{m}((y^{(i)})^2-(\theta^{T}x^{(i)})^2) \tag{6} logL(θ)=i=1mlog2πσ 1exp(2σ2(y(i))2(θTx(i))2)=mi=1mlog2πσ 12σ21i=1m((y(i))2(θTx(i))2)(6)
由式(6)可知, m ∑ i = 1 m l o g 1 2 π σ m\sum_{i=1}^{m}log\frac{1}{\sqrt {2\pi\sigma}} mi=1mlog2πσ 1是一个常数,问题转成求 1 2 σ 2 ∑ i = 1 m ( ( y ( i ) ) 2 − ( θ T x ( i ) ) 2 ) \frac{1}{2\sigma^2}\sum_{i=1}^{m}((y^{(i)})^2-(\theta^{T}x^{(i)})^2) 2σ21i=1m((y(i))2(θTx(i))2)的最小值,即:
J ( θ ) = m i n ( 1 2 σ 2 ∑ i = 1 m ( ( y ( i ) ) 2 − ( θ T x ( i ) ) 2 ) ) = > m a x ( θ ) J(\theta) = min(\frac{1}{2\sigma^2}\sum_{i=1}^{m}((y^{(i)})^2-(\theta^{T}x^{(i)})^2))=>max(\theta) J(θ)=min(2σ21i=1m((y(i))2(θTx(i))2))=>max(θ)
该式即为线性回归问题中的目标函数,属于最小二乘问题。在机器学习中,该式并不能直接求解,而是采用一系列优化算法进行数据处理得到最终较为理想的结果。优化过程正是机器学习数据的过程。

5.梯度下降

对于最小二乘问题问题,一般采用的优化算法为梯度下降算法。梯度下降实质上是一种局部最优求解算法,通过给定数据样本和目标函数,让机器按照梯度下降最快的方向进行优化处理。对于目标函数的某一点而言,其梯度位置的变化最快,变化率最大,因此沿着梯度的反方向能更快得到预期结果。一般梯度下降算法按照求解的样本数量可分为批量梯度下降、随机梯度下降和小批量梯度下降法。

5.1 批量梯度下降

批量梯度下降即每次都对所有数据样本进行求导,然后取其平均值作为最终的 θ \theta θ值:
θ j ′ = θ j + 1 m ∑ i = 1 m ( y i − h θ ( x i ) ) x j i \theta_{j}^{'} = \theta_{j}+\frac{1}{m}\sum_{i=1}{m}(y^i-h_{\theta}(x^i))x_{j}^i θj=θj+m1i=1m(yihθ(xi))xji
批量梯度下降会得到最精确的 θ \theta θ值,但对于大量数据样本的任务时,耗时很长,速度非常慢。

5.2 随机梯度下降

随机梯度下降在每次运算中,只随机选择一个样本进行求导:
θ j ′ = θ j + ( y i − h θ ( x i ) ) x j i \theta_{j}^{'} = \theta_{j}+(y^i-h_{\theta}(x^i))x_{j}^i θj=θj+(yihθ(xi))xji
这种方式求解速度很快,但是由于样本数量单一,且具有随机性,无法保证收敛方向的正确性。

5.3 小批量梯度下降

小批量梯度下降是模型训练过程中最常用的方式,选取部分样本数量进行求导操作:
θ j : = θ j − α 1 b s ∑ k = i i + b s − 1 ( h θ ( x k ) − y k ) x j k \theta_{j}: = \theta_{j}-\alpha\frac{1}{bs}\sum_{k=i}^{i+bs-1}(h_{\theta}(x^k)-y^k)x_{j}^k θj:=θjαbs1k=ii+bs1(hθ(xk)yk)xjk
其中, α \alpha α是学习率(learning rate);bs表示每次梯度下降的样本数量(batch size)。

你可能感兴趣的:(机器学习,线性回归,算法)