线性回归
Posted swenwen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性回归相关的知识,希望对你有一定的参考价值。
1 线性回归的模型
线性回归的模型十分的简单,就是对回归问题中每一个特征X乘以一个系数,使其拟合到输出Y,线性回归模型就是找到这样一组系数。
线性回归的模型如下:
其中x是数据的特征,是一个d维的列向量,是权重系数,也是一个d维的列向量,y是模型的输出
2 线性回归的损失函数
在做回归问题的时候,模型的预测输出值和真实值总是存在一个误差,误差满足均值为0,标准差为的高斯分布,则线性归回的模型变为
其中。
由于满足高斯分布,则其概率密度函数为:
将带入上式密度函数中,得到:
上式即为似然函数,为了使模型更好的拟合数据集,需要最大化似然函数:
其中N使数据集的个数。
为了计算方便,对上式取对数:
其中const是一个常数,则最大化上式可等价于下式:
则定义线性回归的损失函数为:
3 优化线性回归模型
由上一节得到线性归回的损失函数为:
需要优化的问题是:找到一组,使上式的损失函数最小,即对损失函数求导:
则参数 可通过迭代求解:
其中为学习率。
上式的迭代算法是批量梯度下降算法(BGD),每更新一次,需要计算所有样本上的梯度的平均值。
下面是随机梯度下降(SGD),每更新一次,只是从样本数据中随机挑选一个样本来计算梯度值:
最后一个为小批量随机梯度下降(Mini-Batch GD),每更新一次,从所有样本中随机挑选一批样本来计算这一批的梯度的平均值:
其中Nk为小批量的个数。
4 张量视角
其中X为样本,n为样本的个数,d为样本的特征个数,即每一行为一个样本。是模型的参数,是一个d维的列向量。y是样本的标签,是一个n维的列向量。
则,线性回归模型的矩阵形式为:
线性回归的损失函数的矩阵形式为:
上式对向量求梯度,即矩阵对向量求梯度,需要以下矩阵对向量的知识才能得出:
则可求出J对的梯度为:
让上式子等于零,可求出最优的参数:
5 线性回归模型的正则化
线性回归模型的正则化可解决两个问题:
1 可以解决模型的过拟合问题
2 若奇异,即不可逆,则上节用最小二乘法就求不出解,加入正则化项则可解决这一问题
加入L2正则化项的损失函数:
求梯度:
求解:
以上是关于线性回归的主要内容,如果未能解决你的问题,请参考以下文章
R语言回归分析(regression)常见算法:简单线性回归多项式回归多元线性回归多水平回归多输出回归逻辑回归泊松回归cox比例风险回归时间序列分析非线性回归非参数回归稳健回归等