简单多元线性回归(梯度下降算法与矩阵法)
from:https://www.cnblogs.com/shibalang/p/4859645.html 多元线性回归是最简单的机器学习模型,通过给定的训练数据集,拟合出一个线性模型,进而对新数据做出预测。 对应的模型如下: n: 特征数量。 一般选取残差平方和最小化作为损失函数,对应为: M: 训练样本数量。 通过最小化代价损失函数,来求得 值,一般优化的方法有两种,第一是梯度下降算法( Gradient Descent ),第二种是矩阵法( The normal equations )。 梯度下降算法 给 一个初始值,然后逐步的迭代改变的值,是代价损失函数逐次变小,使每次都往梯度下降的方向改变: 表示下降速度。 为了求偏导数,当只有一个样本时,即 ; 即: 当有多个训练样本时,下降梯度算法即为: 由于每次迭代都需要计算所有样本的残差并加和,因此此方法也叫做批下降梯度法( batch gradient descent),当有大规模数据时,此方法不太适合,可采取它得一个变种,即每次更新权重时,不是计算所有的样本,而是选取其中一个样本进行计算梯度,这个方法叫做随机下降梯度法( stochastic gradient descent): 随机下降梯度法与下降梯度法对比可能收敛更快,但是可能找不到最优点而在最优点附近徘徊。 矩阵求解法 由于梯度下降算法需要多次迭代,并且需要指定下降速率