线性回归(linear regression)是一种基于数学模型的算法,首先假设数据集与标签之间存在线性关系,然后简历线性模型求解参数。在实际生活中,线性回归算法因为其简单容易计算,在统计学经济学等领域都有广泛的应用,所以也作为工业界常用的模型。下面按照目录的顺序介绍:
1线性回归的三要素
1线性映射
2损失函数
3优化目标---将损失函数(MSE,mean squared error)最小化
2两种常用的求解方法
话不多说,这里我们使用实例代码介绍正规方程和梯度下降。
1正规方程(Normal Equation)
theta = np.linalg.inv(X.T @ X) @ X.T @ y_train
-
X 是特征矩阵(包含所有样本的特征数据)。
-
X⊤ 是矩阵 X 的转置。
-
X⊤X是特征矩阵的内积。
这个公式表示的是通过正规方程直接计算最优回归系数 θ 的方法。
2梯度下降(gradient descent)
-
α 是学习率,决定每次更新的步长。
-
∇J(θ) 是损失函数 J(θ) 对 θ的梯度,表示损失函数在当前参数点的变化率。
这个公式表示的是 梯度下降算法 中的参数更新步骤,通过反向传播梯度,逐步调整模型的参数,以最小化损失函数。
Q&A环节:
1.MSE 对比下 RMSE 区别和用法?
两者非常接近,但是对RMSE平方后开方的操作使其与y有相同的量纲,从直观角度易于比较。我们可以简单认为RMSE作为模型的评价指标 ,MSE则是作为损失函数用在训练的时候。
2关于梯度下降,选取什么样式的梯度下降?
不论是MBGD(小批量梯度下降) SGD (随机梯度下降)其实都可以叫做SGD ,虽然理论上两种算法不一样,SGD不如MBGD稳健(B是关键点哈哈)一般情况不怎么做严格的分别。
3学习率对于训练影响
显然,选择合适的学习率非常重要哈,步子太小会赶不上时代,太大会伤到自己。
4啥时候使用正规方程以及梯度下降法?
正规方程优雅简洁,适合理论;梯度下降灵活万用,适合实战。有点类似于正规方程是优雅的数学系,不需要学习率设置,更不需要去迭代,最最最nb的是得出的就是最优解。梯度下降法是工程师以及生活中更加通用的方法(那谁说局部最优不是最优解!!!达不到想要的那就从头再试一下嘛哈哈哈)哈哈哈。
5回归系数有几个啊?
一般来说是特征数加上一个偏置项。
6线性回归的标准化重要么如果不标准化对结果是否有很大改变呢?