李宏毅机器学习02Regression

李宏毅机器学习02 Regression:case study

case:预测宝可梦CP值

目标

找一个function
input:一只宝可梦
output:进化后的CP值

参数

X X X: 表示一只宝可梦,用下标表示该宝可梦的某种属性

X c p X_{cp} Xcp​:表示该宝可梦进化前的cp值

X s X_s Xs: 表示该宝可梦是属于哪一种物种,比如妙瓜种子、皮卡丘…

X h p X_{hp} Xhp :表示该宝可梦的生命值

X w X_w Xw : 代表该宝可梦的重重量

X h X_h Xh : 代表该宝可梦的高度

f ( ) f ( ) f() : 表示我们要找的function

y y y: 表示function的output,即宝可梦进化后的cp值,是一个scalar

总体步骤

1.选择模型,即一系列函数f
2.定义loss function来评价函数f的好坏
3.找到最好的function

模型

linear model: w–weight b–bias
在这里插入图片描述

在这里插入图片描述

training data

10个训练数据

loss function

选择平方损失函数
在这里插入图片描述

pick “best” function

在这里插入图片描述

梯度下降方法

找到参数w,b

  1. 随机选择初始值 w 0 w_0 w0
  2. 求梯度
  3. 迭代
    在这里插入图片描述

缺点:找到的是局部最优
linear regression 不用担心,因为L是convex的

result

得到了b=-188.4,w=2.7

testing data

找到另外10只宝可梦,得到average error=35(大于training data上的31.9)

更好的model

加入平方项 X c p 2 X_{cp}^2 Xcp2

在这里插入图片描述

过拟合

更复杂的model对于training data能够拟合得更好,但是在testing data上会表现为过拟合

加入四次项testing error变大

为什么复杂模型拟合得更好?
更复杂的模型范围更广
eg.令四次项系数为零则四次模型变为三次模型

更复杂的模型范围更广eg.令四次项系数为零则四次模型变为三次模型

model selection

在这里插入图片描述
但是线性模型真的能够很好地拟合吗?
收集到更多数据时,发现只考虑进化前CP值是不够的,还有隐藏的因素没被考虑进去
在这里插入图片描述
隐藏的因素是物种类型
在这里插入图片描述

redesign the model

在这里插入图片描述
if语句可以利用冲激函数改写成成linear function
在这里插入图片描述
在这里插入图片描述
结果:
在这里插入图片描述
还会有其他因素吗?
在这里插入图片描述
把所有能想到的因素都加入模型
在这里插入图片描述

重新定义 l o s s f u n c t i o n loss function lossfunction ,加入正则项,这样期待得到更小的 w w w,使得function更平滑,这样output对于input变化的敏感度降低,这样当输入被噪声noise干扰时,受到的影响变小,得到更好的结果
在这里插入图片描述
λ \lambda λ越大,得到的function越平滑,training error越大,但testing error有一个先减后增的过程
最终选择 λ = 100 \lambda=100 λ=100,得到 e r r o r = 11.1 error=11.1 error=11.1
在这里插入图片描述

conclusion

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值