线性回归模型

以一元线性回归为例,函数为:

y_i = \beta_{0} + \beta_{1}x_i + \varepsilon_i, i = 1,2,...n

其中,\beta_{0} + \beta_{1}x表示y随x的变化而线性变化的部分,\beta_0, \beta_1是待求解的参数;\varepsilon 是随机误差,是其他一切不确定因素的综合,其值不可观测,通常假定\varepsilonN(0,\sigma^2)

误差项分析:极大似然估计

因为误差\varepsilon 服从正态分布N(0,\sigma ^2),兼通过目标函数移项,得到其概率密度:

p(\varepsilon _i)=\frac{1}{\sqrt{2\pi }\sigma} exp(-\frac{(y_i-\beta _0-\beta_1x_i)^2}{2\sigma ^2} )

希望误差能尽量为0,因此误差发生的概率应尽可能地大(根据正态分布,越靠近均值,发生的概率越大?)。使用似然函数来估计参数,并加以对数变换使表达式从连乘变为连加,更好算:

logL(\beta_0,\beta_1)=log\prod_{i=1}^n \frac{1}{\sqrt{2\pi }\sigma} exp(-\frac{(y_i-\beta _0-\beta_1x_i)^2}{2\sigma ^2} )

展开化简,得到:

Q(\beta_0, \beta_1)=nlog\frac{1}{\sqrt{2\pi } \sigma } -\frac{1}{\sigma ^2}\cdot \frac{1}{2} \sum_{i}^n(y_i=\beta_0-\beta_1x_i)^2

继续化简,忽略常数项,得到估计参数的目标函数,此为最小二乘法的推导过程。


损失函数求解:最小二乘法

通过极大似然估计分析误差项(即最小二乘法),得到损失函数:

Q(\beta_0, \beta_1)=\sum_{i}^n(y_i-\beta_0-\beta_1x_i)^2

待求损失函数最小时的参数\beta_0, \beta_1值,即转换为:当损失函数关于\beta_0, \beta_1的一阶偏导数都等于0时,求解关于\beta_0, \beta_1的二元二次方程问题。求得:

\beta_1=\sum_{i}^n\frac{(x_i-\bar{x} )(y_i-\bar{y})}{(x_i-\bar{x} )^2} \beta_0=\bar{y} -\beta_1\bar{x}

损失函数求解:梯度下降法

原理

假设有m个参数,目标损失函数如下:

J(\beta_0, \beta_1,...\beta_m)=\frac{1}{n} \sum_{i}^n(y_i-\beta_0-\beta_1x_i...-\beta_mx_i)^2

这是一个关于\beta的多元函数,x_i相当于系数。所以,有几个\beta待求解,就相当于目标函数有几维。除以n是为了对损失值取平均值(因为样本量增加,累积的损失值也会增加)。

梯度下降法的思路是:

1. 先确定步长,包括方向和步子大小

步长是学习率和方向相乘的矢量。令学习率为\alpha ,代表步子的大小,相当于步长的模长。方向是梯度的负方向,在这个方向上函数值下降的最快,对每一个参数求偏导可得:

[\frac{\partial J(\beta)}{\beta_1} ,\frac{\partial J(\beta)}{\beta_2} ,...\frac{\partial J(\beta)}{\beta_m} ]

2. 对于每一个\beta,设定初始值,按照确定好的步长,代入x_i,y_i值,不断迭代:

\beta_j=\beta_j-\alpha \frac{\partial J(\beta)}{\partial \beta_j} =\beta_j-\alpha \cdot x_{ij}\cdot \frac{1}{n} \sum_{i}^n(y_i-\beta_0-\beta_1x_i...-\beta_mx_i)^2

此处x_{ij}是对\beta_j求导后得出的系数

3. 直到两次迭代结果相差小于预设要求即可

批量梯度下降

每次跌代都代入所有样本,容易得到最优解,但是速度很慢。

随机梯度下降

每次迭代随便找一个样本,速度很快,但不是每次都朝着对的收敛方向,此时m=1。

小批量梯度下降

每次迭代都新取一部分样本,兼顾速度和精度,此时m=某个比m小很多的数。


评估指标

y_i:真实观测值,\bar{y} :真实观测值的平均值,\hat{y} :拟合值(预测值)

残差平方和(SSE):拟合数据和原始数据之差的平方和

总离差平方和(SST):原始数据和均值之差的平方和

回归平方和(SSR):拟合数据和原始数据均值之差的平方和

确定系数(R-square):SSR/SST = 1- SSE/SST,如下

R^2=1-\sum_{i}^n\frac{(\hat{y_i}-y_i)^2 }{(y_i-\bar{y_i} )^2}

观测值、观测值均值与拟合值的关系

参考自:

线性回归与最小二乘法 - 乘风

线性回归算法 - 开发者学堂

梯度下降算法详解 - CDA数据分析师

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • AI人工智能时代,机器学习,深度学习作为其核心,本文主要介绍机器学习的基础算法,以详细线介绍 线性回归算法 及其 ...
    erixhao阅读 14,763评论 0 36
  • 摘要:本文结合实际案例,介绍机器学习的线性回归模型,包括一元线性回归和多元线性回归,以及模型的评估。案例展示用Py...
    刺猬ciwei_532a阅读 10,601评论 1 8
  • 一到高中,又多了好几门功课,学起来非常费劲。感觉自己有心无力,慢慢要被甩掉的感觉。在初中我被定位是成绩好的人,到了...
    无衣师尹_a5c9阅读 3,547评论 0 0
  • 一路向西,脚步迈向大门。道旁每棵树的脚下,是从井字塑料网孔中露出的希望,绿得在夜里也明澈。与之相伴的,自然是...
    fusulinids阅读 2,224评论 0 0
  • 花 与 爱 丽 丝 摄影师 eatting彡 @犬来八荒 @小陆离 花 与 爱 丽 丝 摄影师 eatting彡
    独立摄影师阅读 2,555评论 0 1

友情链接更多精彩内容