线性回归 (LR) 模型深入理解——机器学习经典回归算法

/ Machine Learning / 没有评论 / 436浏览

什么是回归

最终预测的不是一个类别,而是一个具体的数值

如果想了解回归,请查看机器学习 (ML) 及其基本概念——人工智能(AI)的理论基础

线性回归

随机变量 $X = (x_1,x_2,...,x_m)$ 与随机变量 $Y = (y_1,y_2,...,y_m)$ 之间存在一种线性关系.

其中 $x$ 是 n 维向量, 即$x =(x^{(1)}, x^{(2)},..., x^{(n)})^{T}$ 是 n 维特征

$y$ 是真实值,参数 $\omega = (\theta^{(1)}, \theta^{(2)},..., \theta^{(n)})^{T}$ 是权重,令$x^{(0)} = 1, \theta^{(0)} = b$

则预测值

$$h_{\theta}(x) = \omega^{T} \cdot x + b =\theta^{(0)}x^{(0)}+ \theta^{(1)}x^{(1)} + \theta^{(2)}x^{(2)}+,,,+\theta^{(n)}x^{(n)} = \sum_{i = 0}^{n}\theta^{(i)}x^{(i)} = \theta^{T}x$$

误差推导

如果想了解损失函数,请查看损失函数与风险评估详细介绍——统计机器学习模型评价

误差定义

真实值 $y$ 与预测值 $h_\theta(x)$ 的差 $\varepsilon$ 定义为误差

$$\varepsilon = y - h_\theta(x) = y - \theta^Tx \tag{1}$$

给定假设

误差 $\varepsilon$ 是独立同分布的,通常认为是服从均值为 0, 方差为 $\theta^2$ 的高斯分布,则

$$p(\varepsilon) = \frac{1}{\sqrt{2\pi} \sigma} exp \left (-\frac{\varepsilon^2}{2\sigma^2} \right )$$

显然,当 $\varepsilon$ 越接 0(均值),也及 $p(\varepsilon)$ 越大(高斯分布),误差就越小。将 (1) 式带入得

$$p(\varepsilon) = \frac{1}{\sqrt{2\pi} \sigma} exp \left (-\frac{(y - \theta^Tx )^2}{2\sigma^2} \right )$$

似然函数

$$L(\theta) = \prod_{i = 1}^{m}p(\varepsilon_{i}) = \prod_{i = 1}^{m} \frac{1}{\sqrt{2\pi} \sigma} exp \left (-\frac{(y_i - \theta^Tx_i )^2}{2\sigma^2} \right )$$

对数似然函数

$$\begin{aligned}\log L(\theta) &= \log \prod_{i = 1}^{m} \frac{1}{\sqrt{2\pi} \sigma} exp \left (-\frac{(y_i - \theta^Tx_i )^2}{2\sigma^2} \right ) \\ &= \sum_{i=1}^m \log \frac{1}{\sqrt{2\pi} \sigma} exp \left (-\frac{(y_i - \theta^Tx_i )^2}{2\sigma^2} \right ) \\ &= m \log \frac{1}{\sqrt{2\pi} \sigma} - \frac{1}{\sigma^2} \cdot \frac{1}{2} \sum_{i=i}^m(y_i - \theta^Tx_i )^2\end{aligned}$$

令$J(\theta) = \frac{1}{2} \sum_{i=i}^m(y_i - \theta^Tx_i )^2$, 要使 $p(\varepsilon)$ 越大,那么$J(\theta)$ 越小越好

对于矩阵来说,平方项相当于矩阵的转置乘上它自己

$$J(\theta) = \frac{1}{2} \sum_{i=i}^m(y_i - \theta^Tx_i )^2 = \frac{1}{2}(y -X\theta)^T (y-X\theta)$$

求导数

$$\begin{aligned} \frac{\partial J}{\partial \theta}J(\theta) &= \frac{\partial J}{\partial \theta} \left [ \frac{1}{2}(y-X\theta)^T (y-X\theta) \right ] \\ &= \frac{\partial J}{\partial \theta} \left [ \frac{1}{2}(y^T-\theta^TX^T) (y-X\theta) \right ] \\ &= \frac{\partial J}{\partial \theta} \left [ \frac{1}{2} \left( y^Ty - y^TX\theta -\theta^TX^Ty + \theta^T X^T X \theta \right) \right ] \\ &= \frac{1}{2} \left( -(y^T\theta)^T - X^Ty + 2X^TX\theta \right) \\ &= X^TX\theta - X^Ty \end{aligned}$$

求极值

令导数 $X^TX\theta - X^Ty = 0$ 得

$$ \theta = (X^TX)^{-1}X^Ty$$

未完待续