机器学习套路:线性回归

线性回归可以说是机器学习中最简单,最基础的机器学习算法,它是一种监督学习方法,可以被用来解决回归问题。它用一条直线(或者高维空间中的平面)来拟合训练数据,进而对未知数据进行预测。

基本套路

机器学习方法,无外乎三点:模型,代价函数,优化算法。

首先找到一个模型用于预测未知世界,然后针对该模型确定代价函数,以度量预测错误的程度,最后使用优化算法在已有的样本数据上不断地优化模型参数,来最小化代价函数。

通常来说,用的最多的优化算法主要是梯度下降或拟牛顿法(L-BFGS或OWL-QN),计算过程都需要计算参数梯度值,下面仅从模型、代价函数以及参数梯度来描述一种机器学习算法。

基本模型

代价函数

参数梯度

上述描述是按照常规的机器学习方法来描述线性回归,模型参数一般是通过梯度下降或拟牛顿法优化迭代得到。

其实线性回归问题是可解的,只是在样本维度较大时很难求解才使用优化迭代的方法来逼近,如果样本维度并不是很大的情况下,是可以解方程一次性得到样本参数。

最小二乘

加权最小二乘

应用套路

在实际应用时,基于上述基本套路可能会有些小变化,下面首先还是从模型、代价函数以及参数梯度来描述。

正则化

为了防止过拟合,一般会在代价函数上增加正则项,常见的正则方法有:

加上正则项后,代价函数变成如下形式:

由于L1正则项不可导,如果 α 不为0,那么不能简单的套用梯度下降或 L-BFGS,需要采用借助软阈值(Soft Thresholding)函数解决,如果是使用拟牛顿法,可以采用OWL-QN,它是基于L-BFGS算法的可用于求解L1正则的算法。基于上述代价函数,下面仅列出包含L2正则项时的参数梯度:

实际上,使用L2正则,是将前面所述的最小二乘方程改成如下形式:

标准化

一般来说,一个特征的值可能在区间 (0,1)之间,另一特征的值可能在区间(−∞,∞),这就是所谓的样本特征之间量纲不同,这样会导致优化迭代过程中的不稳定。

当参数有不同初始值时,其收敛速度差异性较大,得到的结果可能也有较大的差异性,如下图所示,可以看到X和Y这两个变量的变化幅度不一致,如果直接使用梯度下降来优化迭代,那么量纲较大的特征信息量会被放大,量纲较小的特征信息量会被缩小。

所以一般要对数据作无量纲化处理,通常会采用标准化方法 (x−u)/σ ,得到如下数据分布,这样无论从哪个点开始,其迭代方向的抖动都不会太大,每个特征的信息也不至于被放大和缩小。

总结

虽然线性回归现在可能很少用于解决实际问题,但是因为其简单易懂,学习它有助于对机器学习有个入门级的初步掌握,了解机器学习的套路等。

文章来源网络,如有侵权请联系小编

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171212B02WCH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券