回归问题的求解以及梯度下降法

问题:面积100平米售价120万是否值得投资?
在这里插入图片描述
1、确定x、y间的定量关系
y=f(x)

这一步是核心,有了这个定量关系,才能进一步去预测价格,然后进一步作出判读

2、根据关系预测合理价格
3、做出判断

如图,把对应的数进行可视化,然后通过线性模型y=ax+b去拟合这些点,对应了回归分析的方法。
在这里插入图片描述
原因:线性模型最基础最简单,而且点的分布接近于线性分布的
根据模型y=ax+b,那么就可以把整个问题转化成求解合理的a和b的过程。

若当a=0;b=1000000,如图
不符合数据点的分布,点到线的距离差距过大,也不符合实际情况。
在这里插入图片描述
若当a=-100000;b=1500000,如图
点和线差距更大,即拟合程度更加偏离实际值了。
在这里插入图片描述
假设 y = a 0 x + b 0 y = a_0 x + b_0 y=a0x+b0,可以先把a和b先假设出来

假设有m套房子,每套房子面积 x i \mathop x\nolimits_i xi对应实际售价为 y i \mathop y\nolimits_i yi
线性模型预测的售价为 y i ′ y'_i yi,让 y i \mathop y\nolimits_i yi y i ′ y'_i yi尽可能接近,则拟合就是好的,

m i n i m i z e { ∑ i = 1 m ( y ′ i − y ′ ) 2 } {\rm{minimize\{ }}\sum\limits_{{\rm{i = 1}}}^{\rm{m}} {\mathop {{\rm{(y'}}_{\rm{i}} {\rm{ - y')}}}\nolimits^{\rm{2}} } {\rm{\} }} minimize{i=1m(yiy)2},m为样本数,即为损失函数,代表了样本的实际结果和预测结果的距离的平方和,这个要尽可能的小。

若拟合理想,则如图。
在这里插入图片描述
求解过程,判断那条线拟合程度更好。
在这里插入图片描述
代入公式进行计算
j 1 = 1 2 m ∑ i = 1 m ( y 1 ′ − y ) 2 = 1 2 × 3 × ( ( 0.5 − 1 ) 2 + ( 1 − 2 ) 2 + ( 1.5 − 3 ) 2 ) = 0.583 j_1 = {1 \over {2m}}\sum\limits_{i = 1}^m {\mathop {(y'_1 - y)}\nolimits^2 } = {1 \over {2 \times 3}} \times (\mathop {(0.5 - 1)}\nolimits^2 + \mathop {(1 - 2)}\nolimits^2 + \mathop {(1.5 - 3)}\nolimits^2 ) = 0.583 j1=2m1i=1m(y1y)2=2×31×((0.51)2+(12)2+(1.53)2)=0.583

j 2 = 1 2 m ∑ i = 1 m ( y 2 ′ − y ) 2 = 1 2 × 3 × ( ( 4 − 1 ) 2 + ( 3 − 2 ) 2 + ( 2 − 3 ) 2 ) = 1.83 j_2 = {1 \over {2m}}\sum\limits_{i = 1}^m {\mathop {(y'_2 - y)}\nolimits^2 } = {1 \over {2 \times 3}} \times (\mathop {(4 - 1)}\nolimits^2 + \mathop {(3 - 2)}\nolimits^2 + \mathop {(2 - 3)}\nolimits^2 ) = 1.83 j2=2m1i=1m(y2y)2=2×31×((41)2+(32)2+(23)2)=1.83

1.83>0.583,所以绿色的线拟合会更好

那么在a和b未知的情况下,首先我们就采用梯度下降法进行求解a,b

梯度下降法引入

现实问题的思考
选择哪一种路线下山速度最快,即选择坡度最大的方向。
在这里插入图片描述

寻找函数极小值的方法
核心:计算开始点 x i \mathop x\nolimits_i xi对应梯度,以一定步长向梯度反方向到达新的点 x i + 1 \mathop x\nolimits_{i + 1} xi+1,重复此过程,直到 x i \mathop x\nolimits_i xi x i + 1 \mathop x\nolimits_{i + 1} xi+1几乎不再变化。
y = f ( x ) y = f(x) y=f(x) 搜索方法: x i + 1 = x i − α ⋅ ∂ y i ∂ x i \mathop x\nolimits_{i + 1} = \mathop x\nolimits_i - \alpha \cdot {{\partial \mathop y\nolimits_i } \over {\partial x_i }} xi+1=xiαxiyi

即是从一个点出发 x i \mathop x\nolimits_i xi,沿着梯度 ∂ y i ∂ x i {{\partial \mathop y\nolimits_i } \over {\partial x_i }} xiyi相反的方向,走一定的步长 α \alpha α,找到新的点 x i + 1 \mathop x\nolimits_{i + 1} xi+1,直到新的点和旧的点不再变化了,就找到了极小值的点

例子
在这里插入图片描述
y = f ( x ) = x 2 − 4 x + 4 y = f(x) = \mathop x\nolimits^2 - 4x + 4 y=f(x)=x24x+4
x i x_i xi=1, α \alpha α=0.01
x i + 1 x_{i + 1} xi+1=?

根据 x i + 1 = x i − α ⋅ ∂ y i ∂ x i \mathop x\nolimits_{i + 1} = \mathop x\nolimits_i - \alpha \cdot {{\partial \mathop y\nolimits_i } \over {\partial x_i }} xi+1=xiαxiyi
代入 x i + 1 \mathop x\nolimits_{i + 1} xi+1 =1-0.01·(2·1-4)=1.02
这期间点就会往前挪动,直到挪动到逐渐接近极小值点x=2,来回不怎么变化,那么就找到了那个点。
在这里插入图片描述

minimize(J)
需要我们去寻找a和b使损失函数最小
J = 1 2 m ∑ i = 1 m ( y ′ − y ) 2 = 1 2 m ∑ i = 1 m ( a x i + b − y ) 2 = g ( a , b ) J = {1 \over {2m}}\sum\limits_{i = 1}^m {\mathop {(y' - y)}\nolimits^2 } = {1 \over {2m}}\sum\limits_{i = 1}^m {\mathop {(ax_i + b - y)}\nolimits^2 } = g(a,b) J=2m1i=1m(yy)2=2m1i=1m(axi+by)2=g(a,b)

重复计算直到收敛
首先计算机会生成临时变量 t e m p a temp_a tempa t e m p b temp_b tempb

t e m p a = a − α ∂ ∂ a g ( a , b ) = a − α 1 m ∑ i = 1 m ( a x i + b − y i ) temp_a = a - \alpha {\partial \over {\partial a}}g(a,b) = a - \alpha {1 \over m}\sum\limits_{i = 1}^m {(ax_i + b - y_i )} tempa=aαag(a,b)=aαm1i=1m(axi+byi)

t e m p b = b − α ∂ ∂ b g ( a , b ) = b − α 1 m ∑ i = 1 m ( a x i + b − y i ) temp_b = b - \alpha {\partial \over {\partial b}}g(a,b) = b - \alpha {1 \over m}\sum\limits_{i = 1}^m {(ax_i + b - y_i )} tempb=bαbg(a,b)=bαm1i=1m(axi+byi)

传入下面的值

a = t e m p a a = temp_a a=tempa

b = t e m p b b = temp_b b=tempb

然后继续循环,往上代入计算

在这里插入图片描述
通过梯度下降法,从山丘某点出发,可以找到下降到山底最快的线路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

侬本多情。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值