回归和拟合 Regression and Fitting

从优化问题的角度理解机器学习、曲线拟合、损失函数与正则化之间的关系。

回归和拟合 Regression and Fitting

所有的 机器学习 Machine Learning 都围绕着 优化问题 Optimization Problem 进行,曲线拟合 Curve Fitting 是最基本的回归方法,它通过多项式函数或指数函数来拟合求解线性系统

Ax=b\mathbf{A}\mathbf{x} = \mathbf{b}

这个线性系统可能是 过定 Over-Determined (系统无解) 的或 欠定 Under-Determined (系统有无穷多解) 的,要想找到它的解,我们必须:

  1. 选取某种模型
    直线,多项式,指数......
  2. 对解施加目标约束
    例如到原目标的距离最短 ( 距离向量的 2\ell_2-范数最小 ),即满足 Axb2\|\mathbf{A}\mathbf{x}-\mathbf{b}\|_2 最小的 x\mathbf{x}
  3. 对解自身施加约束 (称为 惩罚 penalty正则化 regularization)
    对解 x\mathbf{x} 自身的要求,比如要求它的长度最短 (注意区分,是自身长度,不是上一条说的到目标的距离),即 x2\| \mathbf{x} \|_2 最小 ( 自身的 2\ell_2-范数最小 )

以上三条可以表述为以下形式

argminx(Axb2+λg(x))\operatorname*{argmin}_{\mathbf{x}}(\|\mathbf{A}\mathbf{x}-\mathbf{b}\|_2+\lambda g(x))
  • Axb2+λg(x)\|\mathbf{A}\mathbf{x}-\mathbf{b}\|_2+\lambda g(x) 一起构成 目标函数 Objective Function
  • argminx\operatorname*{argmin}_{\mathbf{x}} 是一个运算符,表示找到使得它作用的对象最小时的条件,这里作用对象是目标函数 Axb2+λg(x)\|\mathbf{A}\mathbf{x}-\mathbf{b}\|_2+\lambda g(x),要找到使得目标函数最小的条件 x\mathbf{x} 的值
  • Axb2\|\mathbf{A}\mathbf{x}-\mathbf{b}\|_2 是对解施加的目标约束,它也被称为 损失函数 Loss Function
  • λg(x)\lambda g(x) 是对解自身施加的约束,它也被称为 惩罚 penalty正则化 regularization 项,根据我们上面的举例它应该是 g(x)=x2g(x)=\| \mathbf{x} \|_2,其中 λ\lambda 是权衡参数,表示正则化项自身的权重,即重要程度

可以看到,只要找到使得我们构造的目标函数 Axb2+λg(x)\|\mathbf{A}\mathbf{x}-\mathbf{b}\|_2+\lambda g(x) 取值最小的向量 x\mathbf{x} (这一过程由算子argminx\operatorname*{argmin}_{\mathbf{x}} 描述),我们的目的就达成了,我们就找到了系统的解,准确的来说是选择了某种模型 (直线,多项式,指数......) 且满足了两条约束 (目标约束和自身约束) 的解,我们必须施加这些额外条件,因为原系统本身是无解的,而我们最终得到的向量 x\mathbf{x} 存储的各分量则是我们选取的模型的参数,我们施加的正则项可以控制这些参数呈现我们想要的形式,例如最稀疏的 (0\ell_01\ell_1) 、整体长度最短的 (2\ell_2)

我们也可以把上述形式等价表示为

argminxg(x)subject toAxb2ϵ\operatorname*{argmin}_{\mathbf{x}} g(\mathbf{x}) \quad \text{subject to} \quad \|\mathbf{A}\mathbf{x}-\mathbf{b}\|_2 \leq \epsilon

这种形式强调目标约束,要在目标约束小于 ϵ\epsilon 的前提下,找到最小化正则项 g(x)g(\mathbf{x})x\mathbf{x},也就是说对于目标误差本身有所要求

损失函数 Loss Function (目标约束) 和 正则化 regularization 项 (自身约束) 可以是任意函数,所以我们将优化问题写成以下通用形式

argminx(f(A,x,b)+λg(x))orargminxg(x)subject tof(A,x,b)ϵ\begin{aligned} \operatorname*{argmin}_{\mathbf{x}}(f(\mathbf{A},\mathbf{x},\mathbf{b})+\lambda g(x)) \quad &\text{or} \\ \operatorname*{argmin}_{\mathbf{x}} g(\mathbf{x}) \quad &\text{subject to} \quad f(\mathbf{A},\mathbf{x},\mathbf{b}) \leq \epsilon \end{aligned}

由于这通常是非线性的,所以它成为一个 凸优化 Convex Optimization 问题,通常使用 梯度下降 Gradient Descent 算法求解,该算法也是火热的 深度学习 Deep Learning 算法的核心