回归和拟合 Regression and Fitting
所有的 机器学习 Machine Learning 都围绕着 优化问题 Optimization Problem 进行,曲线拟合 Curve Fitting 是最基本的回归方法,它通过多项式函数或指数函数来拟合求解线性系统
Ax=b
这个线性系统可能是 过定 Over-Determined (系统无解) 的或 欠定 Under-Determined (系统有无穷多解) 的,要想找到它的解,我们必须:
- 选取某种模型
直线,多项式,指数......
- 对解施加目标约束
例如到原目标的距离最短 ( 距离向量的 ℓ2-范数最小 ),即满足 ∥Ax−b∥2 最小的 x
- 对解自身施加约束 (称为 惩罚 penalty 或 正则化 regularization)
对解 x 自身的要求,比如要求它的长度最短 (注意区分,是自身长度,不是上一条说的到目标的距离),即 ∥x∥2 最小 ( 自身的 ℓ2-范数最小 )
以上三条可以表述为以下形式
xargmin(∥Ax−b∥2+λg(x))
- ∥Ax−b∥2+λg(x) 一起构成 目标函数 Objective Function
- argminx 是一个运算符,表示找到使得它作用的对象最小时的条件,这里作用对象是目标函数 ∥Ax−b∥2+λg(x),要找到使得目标函数最小的条件 x 的值
- ∥Ax−b∥2 是对解施加的目标约束,它也被称为 损失函数 Loss Function
- λg(x) 是对解自身施加的约束,它也被称为 惩罚 penalty 或 正则化 regularization 项,根据我们上面的举例它应该是 g(x)=∥x∥2,其中 λ 是权衡参数,表示正则化项自身的权重,即重要程度
可以看到,只要找到使得我们构造的目标函数 ∥Ax−b∥2+λg(x) 取值最小的向量 x (这一过程由算子argminx 描述),我们的目的就达成了,我们就找到了系统的解,准确的来说是选择了某种模型 (直线,多项式,指数......) 且满足了两条约束 (目标约束和自身约束) 的解,我们必须施加这些额外条件,因为原系统本身是无解的,而我们最终得到的向量 x 存储的各分量则是我们选取的模型的参数,我们施加的正则项可以控制这些参数呈现我们想要的形式,例如最稀疏的 (ℓ0 或 ℓ1) 、整体长度最短的 (ℓ2)
我们也可以把上述形式等价表示为
xargming(x)subject to∥Ax−b∥2≤ϵ
这种形式强调目标约束,要在目标约束小于 ϵ 的前提下,找到最小化正则项 g(x) 的 x,也就是说对于目标误差本身有所要求
损失函数 Loss Function (目标约束) 和 正则化 regularization 项 (自身约束) 可以是任意函数,所以我们将优化问题写成以下通用形式
xargmin(f(A,x,b)+λg(x))xargming(x)orsubject tof(A,x,b)≤ϵ
由于这通常是非线性的,所以它成为一个 凸优化 Convex Optimization 问题,通常使用 梯度下降 Gradient Descent 算法求解,该算法也是火热的 深度学习 Deep Learning 算法的核心