许多机器学习算法的核心是优化。优化算法用于在机器学习中为给定训练集找出合理的模型参数设置。机器学习最常见的优化算法是随机梯度下降(SGD:stochastic gradient descent)。
本教程将指导大家用 Python 实现随机梯度下降对线性回归算法的优化。通过本教程的学习,你将了解到:
-
如何用随机梯度下降估计线性回归系数
-
如何对多元线性回归做预测
-
如何用带随机梯度下降的线性回归算法对新数据做预测
说明
本文将对线性回归、随即梯度下降方法以及本教程所使用的葡萄酒品质数据集做一个集中阐释。
多元线性回归
线性回归是一种用于预测真实值的方法。让人困惑的是,这些需要预测真实值的问题被称为回归问题(regression problems)。
线性回归是一种用直线对输入输出值进行建模的方法。在超过二维的空间里,这条直线被想象成一个平面或者超平面(hyperplane)。预测即是通过对输入值的组合对输出值进行预判。
y = b0 + b1 * x1 + b2 * x2 + ...
系数 (b) 用于对每个输入属性 (x) 进行加权,而学习算法的目的正是寻找一组能导出好的预测值 (y) 的系数。这些系数可以使用随机梯度下降的方法找到。
随机梯度下降