EdX Columbia ML 2. 线性回归与最小二乘

回归的定义:给定输入\(x\in \mathbb{R}^d\),输出\(y \in \mathbb{R}\),回归问题的目的是找到函数\(f: \mathbb{R}^d \rightarrow \mathbb{R}\)使得对数据对\((x,y)\)\(y \approx f(x;w)\)。这里\(f(x;w)\)称为一个回归函数,其自由参数为\(w\)。如果\(f\)是未知参数\(w\)的线性函数,则称此回归为线性的

线性回归的模型可以表示为 \[ y_i \approx f(x_i;w) = w_0 + \sum_{j=1}^d x_{ij} w_j \]

目标函数为最小二乘函数,即选取使平方误差和最小的\(w\) \[ w_{\rm LS} = \mathop{\rm arg}\min_w \sum_{i=1}^n \left(y_i - f(x_i;w)\right)^2 \equiv \mathop{\rm arg}\min_w \mathcal{L} \\ \mathcal{L} = \sum_{i=1}^n(y_i - w_0 - \sum_{j=1}^dx_{ij}w_j)^2 \\ \mathcal{L} = \sum_{i=1}^n(y_i - x_i^Tw)^2\ \ 向量形式表示 \] 向量形式下推导如下: \[\begin{align*} 0 &= \sum_{i=1}^n \nabla_w (y_i - x_i^Tw)^2 \\ &= \sum_{i=1}^n \nabla_w (y_i - x_i^Tw)^T(y_i - x_i^Tw) \\ &= \sum_{i=1}^n \nabla_w (y_i^Ty_i - y_i^Tx_i^Tw - w^Tx_iy_i + w^Tx_ix_i^Tw) \end{align*}\] 由于\(y_i,\ w^Tx_i\)都是标量,标量的转置与自身相同,因此上式可以转化为 \[ \sum_{i=1}^n \nabla_w (y_i^2 - 2w^Tx_iy_i + w^Tx_ix_i^Tw) = 0 \] 根据之前的向量求导法则,有 \[ -\sum_{i=1}^n2y_ix_i + \left(\sum_{i=1}^n 2x_ix_i^T \right)w = 0 \Rightarrow w_{\rm LS} = \left(\sum_{i=1}^n x_ix_i^T\right)^{-1}\left(\sum_{i=1}^n y_ix_i \right) \] 矩阵形式可以更加简洁 \[ \mathcal{L} = \sum_{i=1}^n (y_i - x_i^Tw)^2 = |\!|y-Xw|\!|^2 = (y - Xw)^T(y-Xw) \] 根据求导法则 \[ \nabla_w \mathcal{L} = 2X^TXw - 2X^Ty = 0 \Rightarrow w_{\rm LS} = (X^TX)^{-1}X^Ty \] 上式有解的条件是\(X^TX\)是满秩矩阵,即\(n\times (d+1)\)矩阵\(X\)有至少\(d+1\)个线性无关的行

可以通过向模型中加入\(x^2,x^3,\ldots\)等高次变量对线性回归进行扩展,拟合出更复杂的曲线。如果把\(x^2,x^3,\ldots\)看作是不同的变量,则其还是一个线性回归问题,之前的解法仍然有效

坚持原创技术分享,您的支持将鼓励我继续创作!