回归(Regression)-1

参考来源:台大 李宏毅 2020机器学习深度学习课程

0、知识点

  • 回归(Regression)
  • 梯度下降(Gradient descent)
  • 过拟合(Overfitting)
  • 正则化(Regularization)

一、回归能做哪些事?(应用)


二、应用:预测宝可梦的CP(Combat Power)值

输入某一只宝可梦的所有属性值,找到一个函数f,输出其进化后的CP值
Xcp:某一只宝可梦的CP值
Xw:某一只宝可梦的重量值

按照机器学习的步骤依次进行:

Step1: Model

先设置函数集合 f1 , f2 , f3…
假定每一个 f 都是这个样子: y = b + w ∗ x c p y = b + w* x_{cp} y=b+wxcp
其中 b b b w w w是参数,理论上可以取任意值
可以进一步将多个待选函数 f 写成一个线性模型: y = b + ∑ w i x i y = b + \sum{w_{i}x_{i}} y=b+wixi

Step2: Goodness of Function
Training data:

其中 x 1 x^{1} x1表示第1个训练数据中的输入 , y ^ 1 {\hat{y}}^{1} y^1表示第一个训练数据的输出(真实数据)。

损失函数 Loss function

衡量一个函数的好坏 == 衡量一组参数的好坏
可以自己定义
此处定义为所有测试数据的真实值和预测值的平方的和

Step3: Best Function & Gradient Descent

只要损失函数Loss Function是可微分的,那么就可以用Gradient Descent(梯度下降)求得比较理想的function或参数

计算 d L d w ∣ w = w 0 \frac {dL} {dw}\vert_{w=w^0} dwdLw=w0后,如果斜率为负,说明w右侧的Loss更小,则下一步w向右移动;若斜率为正,则w向左移动。(梯度指向增长最大方向的,所以要反向负号)
η \eta η:学习率(Learning rate) 影响参数更新的幅度, η \eta η 越大的话,学习参数的速率更快,但可能使得参数错过Loss function的最小值对应的点。
可能会找到局部最优解,但不是全局最优解。
在线性回归中,不存在局部最优的问题。(凸优化函数的局部最优解就是全局最优解,等高线图是二维的)

两个参数的情况:

(最后一行的 w 0 w^0 w0 b 0 b^0 b0应该改为 w 1 w^1 w1 b 1 b^1 b1
梯度

梯度下降可能会遇到的问题

得到最优的解看人品(●’◡’●)
最后找到的结果及其在训练集上的平均误差:

实际上我们更要考虑的是在新的数据(测试集)上的表现 —— 泛化能力 如何?

此时Average Error = 35.0
不能只看训练集精度,还要看测试集精度,防止过拟合


三、如何改进(How can we do better?)

答:改变模型?

第1种改进:增加多项式模型的次数(复杂度)

一个越复杂的model在训练集上的误差越低

一个越复杂的model在训练集上的误差越低,但在测试集上误差并不一定更低,这就是**过拟合(Overfitting)**

第2种改进:收集更多测试数据,发现隐藏因素(物种或其他因素),将其加入模型

增加测试集

隐藏的因素是物种!!!
将不同的物种用不同的颜色表示

重新设计Model,加入物种的影响:

将上述式子写成线性模型的形式:

不同种类的宝可梦用的参数不一样,因此有不同的曲线:
结果:

第3种改进:损失函数正则化

还有其他因素吗?
体重、高度、HP… 加入到模型中

结果坏掉了/(ㄒoㄒ)/~~


损失函数正则化(Regularization)

参数 w i w_{i} wi越小,函数越平滑(smooth)
(因为假设输入 x i x_i xi的变化量为 Δ x i \Delta{x_i} Δxi,则输出的变化量为 w i Δ x i w_{i}\Delta{x_i} wiΔxi w i w_i wi越小,输出变化越小)
函数越平滑输出对输入的变化越不敏感


λ \bm{\lambda} λ是平滑因子,自己定值(超参)


正则化时不需要考虑偏置项bias,因为bias不影响函数的平滑程度


λ \lambda λ越大,说明在Loss函数中的误差平滑这两项中考虑平滑因素更多,所以 λ \lambda λ越大,函数就越平滑,但在Training data上的误差越大(因为考虑误差较少)


我们喜欢平滑的函数,但不喜欢太平滑的函数(太平滑的就是水平线),所以Testing data的平均误差随着 λ \lambda λ的增大先变小,后变大
我们要决定How smooth? 调参 —— 选择一个获得最佳模型 λ \bm{\lambda} λ 值,此处选择 λ = 100 \lambda = 100 λ=100.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值