Lecture 1_Extra Regression Case Study -- Predicting Pokemon CP

本文介绍了如何运用回归分析预测Pokemon的Combat Power (CP值),从一元线性到多元模型,涉及损失函数的选择、梯度下降优化过程,并讨论了局部最优问题。案例详细展示了数据收集、模型评估和优化策略。
摘要由CSDN通过智能技术生成

Lecture 1_Extra Regression: Case Study – Predicting Pokemon CP

Regression: Case Study – Predicting Pokemon CP

Regression

回归的定义

Regression 就是找到一个函数 f u n c t i o n function function ,通过输入特征 x x x,输出一个数值 S c a l a r Scalar Scalar

回归应用举例

  • 股市预测(Stock Market Forecast)
image-20220817121807412
  • 自动驾驶(Self-driving Car)
image-20220817121835008
  • 商品推荐(Recommendation)
image-20220817121859392
  • Pokemon精灵攻击力预测(Combat Power of a pokemon)

    • 进化前的 CP 值 x c p x_{cp} xcp、物种 x s x_s xs(Bulbasaur)、血量(HP) x h p x_{hp} xhp、重量(Weight) x w x_w xw、高度(Height) x h x_h xh
    • 输出值 y y y ( S c a l a r ) (Scalar) (Scalar),即Pokemen进化后的 CP 值。
image-20220817122341317

模型步骤

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

Step 1: Model – Linear Model

一元线性模型

以一个特征 x c p x_{cp} xcp 为例,线性模型假设 y = b + w ⋅ x c p y = b + w·x_{cp} y=b+wxcp

image-20220817123454980

其中 f 3 f_3 f3 显然不合理,因为 CP 值一定非负。

多元线性模型

利用进化前的 CP 值 x c p x_{cp} xcp、物种 x s x_s xs(Bulbasaur)、血量(HP) x h p x_{hp} xhp、重量(Weight) x w x_w xw、高度(Height) x h x_h xh 等特征作为输入:

image-20220817161033577

Step 2: Goodness of Function – Loss Function

单特征 x c p x_{cp} xcp
收集和查看数据

x 1 x^1 x1 上标 1 1 1 代表第 1 1 1 个完整的 object, y ^ 1 \hat y^1 y^1 代表第一个 object 进化后的真实 CP 值:

image-20220817161600090

10 10 10 组原始数据在二维图中展示,图中的每一个点 ( x c p n , y ^ n ) (x_{cp}^n,\hat{y}^n) (xcpn,y^n) 对应着 进化前的 CP 值和进化后的 CP 值:

image-20220817162113828
判断模型的好坏

求【进化后的 CP 值】与【模型预测的 CP 值】差,来判定模型的好坏。也就是使用损失函数(Loss function) 来衡量模型的好坏,统计 10 10 10 组原始数据 ( y ^ n − f ( x c p n ) ) 2 \left ( \hat{y}^n - f(x_{cp}^n) \right )^2 (y^nf(xcpn))2 的和,和越小模型越好。如下图所示:

image-20220817162656150

可视化输入的不同的 f u n c t i o n function function,通过 L o s s Loss Loss 值的大小来判断这个 f u n c t i o n function function 是否优秀:

image-20220817162904741

Step 3: Best Function – Gradient Descend

image-20220817163530880
先从最简单的只有一个参数 w w w 入手,定义 w ∗ = arg ⁡ min ⁡ ⁡ x L ( w ) w^* = \arg \underset{x}{\operatorname{\min}} L(w) w=argxminL(w)
image-20220817165614261

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

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

陷入局部最优的这个问题,在 R e g r e s s i o n Regression Regression 中并不存在!

那么两个参数呢?定义 w ∗ , b ∗ = arg ⁡ min ⁡ ⁡ x L ( w , b ) w^*,b^* = \arg \underset{x}{\operatorname{\min}} L(w,b) w,b=argxminL(w,b)
image-20220817170348288 image-20220817170416057
梯度下降推演最优模型的过程
image-20220817170625045
梯度下降算法面临的问题
image-20220817193553805
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值