线性回归算法

线性回归算法

我的微信公众号: s406205391; 欢迎大家一起学习,一起进步!!!
线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。

​ 我们看下面一组数据,这组数据通过工资和年龄两个特征来预测银行贷款的额度。

那么,工资和年龄对银行贷款给我们的额度的影响会有多大呢?这也就是我们所需要求的参数

工资年龄额度
40002520000
80003070000
50002835000
7500335000
120004085000

通俗的讲:我们通过图片来展示我们的数据,图中X1和X2就是我们的两个特征(年龄,工资),Y是银行最终会借给我们多少钱。我们现在就需要找到最合适的一条线(想象一个高维)来最好的拟合我们的数据点。这时,我们假设θ1是年龄的参数,θ2是工资的参数。我们便可得到一个拟合平面:

h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 h_\theta(x)=\theta_0 + \theta_1 x_1 + \theta_2 x2 hθ(x)=θ0+θ1x1+θ2x20是偏置项)

​ 将上述公式用矩阵表达,即得:

h θ ( x ) = ∑ i = 0 n θ i x i = θ T x h_\theta(x)=\sum\limits_{i=0}\limits^{n}\theta_{i}x_{i}=\theta^{T}x hθ(x)=i=0nθixi=θTx

​ 该式展开其实为: h θ ( x ) = θ 0 x 0 + θ 1 x 1 + θ 2 x 2 h_\theta(x)=\theta_{0}x_{0} + \theta_{1}x_{1} + \theta_{2}x_{2} hθ(x)=θ0x0+θ1x1+θ2x2,相较于上式,多引入一个特征x0,这是为了后期方便矩阵的计算。所以我们可以把特征x0统一赋值为1。

​ 因为,真实值和预测值之间肯定是要存在误差的。我们引入ε来表示误差。所以对于每一个样本,即方程即为: y ( i ) = θ T x ( i ) + ϵ ( i ) y^{(i)}=\theta^{T}x^{(i)} + \epsilon^{(i)} y(i)=θTx(i)+ϵ(i)

误差满足高斯分布

误差具有如下特点

  • 误差是独立并且具有相同的分布,并且服从均值为0,方差为θ2的高斯分布

  • 独立:误差在样本之间是相互独立的。

  • 同分布。

    既然,误差是服从高斯分布的,那么我们就可以用高斯分布的方程来表示: y ( i ) = θ T x ( i ) + ϵ ( i ) y^{(i)}=\theta^{T}x^{(i)} + \epsilon^{(i)} y(i)=θTx(i)+ϵ(i)

求解目标函数

​ 我们首先将高斯函数,带入我们的方程,即可得:

预测值与误差 y ( i ) = θ T x ( i ) + ϵ ( i ) y^{(i)}=\theta^{T}x^{(i)} + \epsilon^{(i)} y(i)=θTx(i)+ϵ(i) (1)

由于误差服从高斯分布 p ( ϵ ( i ) ) = 1 2 π δ e − ( ϵ ( i ) ) 2 2 σ 2 p(\epsilon^{(i)})=\frac{1}{\sqrt{2\pi\delta}}e^{-\frac{(\epsilon^{(i)})^2}{2\sigma^{2}}} p(ϵ(i))=2πδ 1e2σ2(ϵ(i))2 (2)

将(1)式带入(2)式可得 p ( y ( i ) ∣ x ( i ) ; θ ) = 1 2 π δ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 p(y^{(i)}|x^{(i)};\theta)=\frac{1}{\sqrt{2\pi\delta}}e^{-\frac{(y^{(i)}-\theta^{T}x^{(i)})^{2}}{2\sigma^{2}}} p(y(i)x(i);θ)=2πδ 1e2σ2(y(i)θTx(i))2

​ 上式我们可以用最大函数求解

似然函数 L ( θ ) = ∏ i = 1 m p ( y ( i ) ∣ x ( i ) ; θ ) = ∏ i = 1 m 1 2 π δ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 L(\theta)=\prod\limits_{i=1}\limits^{m} p(y^{(i)}|x^{(i)};\theta)= \prod\limits_{i=1}\limits^{m}\frac{1}{\sqrt{2\pi\delta}}e^{-\frac{(y^{(i)}-\theta^{T}x^{(i)})^{2}}{2\sigma^{2}}} L(θ)=i=1mp(y(i)x(i);θ)=i=1m2πδ 1e2σ2(y(i)θTx(i))2

​ 为了方便求解,我们将上式取对数:

对数似然,并化简

l o g L ( θ ) = l o g ∏ i = 1 m p ( y ( i ) ∣ x ( i ) ; θ ) = l o g ∏ i = 1 m 1 2 π δ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 logL(\theta)=log\prod\limits_{i=1}\limits^{m} p(y^{(i)}|x^{(i)};\theta)= log\prod\limits_{i=1}\limits^{m}\frac{1}{\sqrt{2\pi\delta}}e^{-\frac{(y^{(i)}-\theta^{T}x^{(i)})^{2}}{2\sigma^{2}}} logL(θ)=logi=1mp(y(i)x(i);θ)=logi=1m2πδ 1e2σ2(y(i)θTx(i))2

= ∑ i = 1 m l o g 1 2 π δ e − ( y ( i ) − θ T x ( i ) ) 2 2 σ 2 =\sum\limits_{i=1}\limits^{m}log\frac{1}{\sqrt{2\pi\delta}} e^{-\frac{(y^{(i)}-\theta^{T}x^{(i)})^{2}}{2\sigma^{2}}} =i=1mlog2πδ 1e2σ2(y(i)θTx(i))2

= m l o g 1 2 π δ − 1 δ 2 1 2 ∑ i = 1 m ( y ( i ) − θ T x i ) 2 =mlog\frac{1}{\sqrt{2\pi\delta}} - \frac{1}{\delta^2}\frac{1}{2} \sum\limits_{i=1}\limits^{m}(y^{(i)}-\theta^Tx^{i})^2 =mlog2πδ 1δ2121i=1m(y(i)θTxi)2

目标:去除常数项之后,让目标函数越大越好

J ( θ ) = 1 2 ∑ i = 1 m ( y ( i ) − θ T x ( i ) ) 2 J(\theta)=\frac{1}{2}\sum\limits_{i=1}\limits^{m}(y^{(i)} - \theta^T x^{(i)})^2 J(θ)=21i=1m(y(i)θTx(i))2; 即让该式越小越好,可以用最小二乘解

应用最小二乘法求解上式

J ( θ ) = 1 2 ∑ i = 1 m ( y ( i ) − θ T x ( i ) ) 2 = 1 2 ( X θ − y ) T ( X θ − y ) J(\theta)=\frac{1}{2}\sum\limits_{i=1}\limits^{m}(y^{(i)} - \theta^T x^{(i)})^2=\frac{1}{2}(X\theta-y)^T(X\theta-y) J(θ)=21i=1m(y(i)θTx(i))2=21(Xθy)T(Xθy)

​ 对该式求偏导即得:

θ = ( x T X ) − 1 X T y \theta=(x^TX)^{-1}X^Ty θ=(xTX)1XTy

常用的评估方法,得到最佳目标函数的参数

​ 上述我们将目标函数直接求出了结果,但是在某些情况下,我们并不能直接求得结果,因为上述我们对X求其逆矩阵,但是逆矩阵并不是一定能求的。

​ 那么,我们如何评估目标函数拟合的效果呢?我们一般会用到R2项。R2的取值越接近于1,我们认为模型拟合的越好。

最常用的评估项R2: 1 − ∑ i − 1 m ( y ^ i − y i ) 2 ∑ i = 1 m ( y i − y ) ‾ 2 1-\frac{\sum\limits_{i-1}\limits^{m}(\hat y_{i} - y_i)^2}{\sum\limits_{i=1}\limits^{m}(y_i-y\overline)^2} 1i=1m(yiy)2i1m(y^iyi)2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值