Regression回归

Regression回归

回归定义和应用例子

回归定义

​ Regression 就是找到一个函数 function ,通过输入特征 xx,输出一个数值 Scalar。

应用例子

股市预测,自动驾驶,商品推荐,Pokemon

模型步骤

  1. 模型假设,选择模型框架(线性模型)
  2. 模型评估,如何判断众多模型的好坏(损失函数)
  3. 模型优化,如何筛选最优的模型(梯度下降)

模型假设

1.一元线性模型(一个特征)

y = b + x c p y=b+x_{cp} y=b+xcp

2.多元线性模型(多个特征)

y = b + ∑ w i x i y=b+\sum w_ix_i y=b+wixi

x i x_i xi:各种特征

w i w_i wi:特征的权重

​ b:偏移量

模型评估

收集和查看训练数据

​ 将原始数据在二维图中表示

判断模型好坏

​ 损失函数:


L ( f ) = ∑ n = 1 10 ( y ^ n − f ( X c p n ) ) 2 【 f ( x ) = y 】 , 【 y = b + w ⋅ x c p 】 L o s s   f u n c t i o n : L ( f ) = ∑ n = 1 10 ( y ^ n − ( b + w ⋅ x c p ) ) 2 L(f)=\sum_{n=1}^{10}(\hat y^n-f(X_{cp}^n))^2\\【f(x)=y】,【y=b+w·x_{cp}】\\Loss~function:L(f)=\sum_{n=1}^{10}(\hat y^n-(b+w·x_{cp}))^2 L(f)=n=110(y^nf(Xcpn))2f(x)=y,y=b+wxcpLoss function:L(f)=n=110(y^n(b+wxcp))2

模型优化

最佳模型——梯度下降

在这里插入图片描述
在这里插入图片描述

首先在这里引入一个概念 学习率 :移动的步长,如图中的 $ η $

  • 步骤1:随机选取一个 $ w^0 $
  • 步骤2:计算微分,也就是当前的斜率,根据斜率来判定移动的方向
    • 大于0向右移动(增加w)
    • 小于0向左移动(减少w)
  • 步骤3:根据学习率移动
  • 重复步骤2和步骤3,直到找到最低点

在这里插入图片描述

∇ L = [ ∂ l ∂ w ∂ l ∂ b ] g r a d i e n t \nabla L=\begin{bmatrix} \frac {\partial l}{\partial w} \\ \frac {\partial l}{\partial b} \end{bmatrix}_{gradient} L=[wlbl]gradient
在这里插入图片描述

梯度下降算法在现实世界中面临的挑战
  • 问题1:当前最优(Stuck at local minima)

  • 问题2:等于0(Stuck at saddle point)

  • 问题3:趋近于0(Very slow at the plateau)

w和b偏微分的计算方法

L ( f ) = ∑ n = 1 10 ( y ^ n − ( b + w ⋅ x c p n ) ) 2 L(f)=\sum_{n=1}^{10}(\hat y^n-(b+w·x_{cp}^n))^2 L(f)=n=110(y^n(b+wxcpn))2

∂ l ∂ w = ∑ n = 1 10 2 ( y ^ n − ( b + w ⋅ x c p n ) ) ( − x c p n ) \frac {\partial l}{\partial w}=\sum_{n=1}^{10}2(\hat y^n-(b+w·x_{cp}^n))(-x_{cp}^n) wl=n=1102(y^n(b+wxcpn))(xcpn)

∂ l ∂ b = ∑ n = 1 10 2 ( y ^ n − ( b + w ⋅ x c p n ) ) \frac {\partial l}{\partial b}=\sum_{n=1}^{10}2(\hat y^n-(b+w·x_{cp}^n)) bl=n=1102(y^n(b+wxcpn))

如何验证训练好的模型的好坏

求一元一次模型 y = b + x c p y=b+x_{cp} y=b+xcp平均误差:

1 10 ∑ n = 1 10 ∣ y ^ n − ( b + w ⋅ x c p ) ∣ \frac {1}{10}\sum_{n=1}^{10} \lvert \hat y^n-(b+w·x_{cp}) \rvert 101n=110y^n(b+wxcp)
求一元n次模型 y = b + w 1 ⋅ x c p + w 2 ⋅ x c p 2 y=b+w_1 \cdot x_{cp}+w_2 \cdot x_{cp}^2 y=b+w1xcp+w2xcp2平均误差:
1 10 ∑ n = 1 10 ∣ y ^ n − ( b + w 1 ⋅ x c p + w 2 ⋅ x c p 2 ) ∣ \frac {1}{10}\sum_{n=1}^{10} \lvert \hat y^n-(b+w_1 \cdot x_{cp}+w_2 \cdot x_{cp}^2) \rvert 101n=110y^n(b+w1xcp+w2xcp2)

过拟合问题

问题表现:在训练集上面表现更为优秀的模型,在测试集上效果却更差,即模型的泛化能力不行

解决方式:获取更多数据或是选择合适的模型

步骤优化

Step 1 :2个input的四个线性模型是合并到一个线性模型中

x s = s p e c i e s   o f   x i f   x s = P i d g e y :        y = b 1 + w 1 ⋅ x c p i f   x s = W e e d l e :        y = b 2 + w 2 ⋅ x c p i f   x s = C a t e r p i e :     y = b 3 + w 3 ⋅ x c p i f   x s = E e v e e :        y = b 4 + w 4 ⋅ x c p x_s=species~of~x \\if~x_s=Pidgey:~~~~~~y=b_1+w_1 \cdot x_{cp} \\if~x_s=Weedle:~~~~~~y=b_2+w_2 \cdot x_{cp} \\if~x_s=Caterpie:~~~y=b_3+w_3 \cdot x_{cp} \\if~x_s=Eevee:~~~~~~y=b_4+w_4 \cdot x_{cp} xs=species of xif xs=Pidgey:      y=b1+w1xcpif xs=Weedle:      y=b2+w2xcpif xs=Caterpie:   y=b3+w3xcpif xs=Eevee:      y=b4+w4xcp

y = ∑ b i + ∑ w i x i = b 1 + w 1 ⋅ x c p + b 2 + w 2 ⋅ x c p + b 3 + w 3 ⋅ x c p + b 4 + w 4 ⋅ x c p y=\sum b_i+\sum w_ix_i=b_1+w_1 \cdot x_{cp}+b_2+w_2 \cdot x_{cp}+b_3+w_3 \cdot x_{cp}+b_4+w_4 \cdot x_{cp} y=bi+wixi=b1+w1xcp+b2+w2xcp+b3+w3xcp+b4+w4xcp

根据 x s x_s xs的值来选择对应的 b i , w i b_i,w_i bi,wi,将四个线性模型合并为y

Step 2 :如果希望模型更强大表现更好(更多参数,更多input)

更多特征,更多input,数据量没有明显增加,仍旧导致过拟合

Step 3 :加入正则化

权重 w 可能会使某些特征权值过高,仍旧导致过拟合,所以加入正则化
y = b + ∑ w i x i y=b+\sum w_ix_i y=b+wixi

L = ∑ n ( y ^ n − ( b + ∑ w i x i ) ) 2 + λ ∑ ( w i ) 2 L=\sum_n(\hat y^n-(b+\sum w_ix_i))^2+\lambda\sum(w_i)^2 L=n(y^n(b+wixi))2+λ(wi)2

y = b + ∑ w i ( x i + Δ x i ) y=b+\sum w_i(x_i+\Delta x_i) y=b+wi(xi+Δxi)

  • w 越小,表示 function 较平滑的, function输出值与输入值相差不大
  • 在很多应用场景中,并不是 w 越小模型越平滑越好,但是经验值告诉我们 w 越小大部分情况下都是好的。
  • b 的值接近于0 ,对曲线平滑是没有影响

总结

  • Pokemon:原始的CP值极大程度的决定了进化后的CP值,但可能还有其他的一些因素。
  • Gradient descent:梯度下降的做法;后面会讲到它的理论依据和要点。
  • Overfiting和Regularization:过拟合和正则化,主要介绍了表象;后面会讲到更多这方面的理论
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值