李宏毅2022机器学习笔记(2)

在训练模型时可能遇到以下问题。

1、model bias

模型太过简单,不同未知参数得到不同的函式,所有的函式集合成函式集,函式集中没有让loss变低的函式,即让loss变低的函式不在模型可以描述的范围内。

解决方案:重新设计model,增加feature(函式中的x),通过deep learning让他有更大的弹性。

 

2、optimization issue

没有找到最低的loss,如下图

model bias与optimization issue的区分

在判断该问题时,可以先训练一个较浅或者较简单的网络,再训练一个较深的网络,如果较深的网络得到的loss比浅网络的loss还大,则是optimization issue问题。

3、optimization失败(local minima问题和saddle point问题)

通常optimization失败主要是因为local minima问题和saddle point问题,其问题如下图所示。当问题处于local minima时函数将无处可走,但当问题处于saddle point时问题还可以解决。

要判断损失函数处于local minima情况还是saddle point情况,需要对损失 函数进行计算

首先将损失函数进行泰勒展开,下图中是泰勒展开的式子。

由下图可以观察到,当处于critical point处,绿框中的值为0,则损失函数的变化主要看红框中函数。

所以可以根据来判断此处为local minima还是Saddle point。

上图中将(θ-{\theta }')用向量v来表示。

如果对任何可能的v,v^{T}Hv都大于零,也就是说现在θ无论为任何值,红色框里面都大于零。也就是L(θ)>L({\theta }'),那么在{\theta }'处为local minima。在线性代数中,如果对所有的v,v^{T}Hv都大于零,那这种矩阵叫做positive definite(正定矩阵),这类矩阵的所有的eigen value(特征值)都是正的。所以如果算出一个hessian,H的eigen value全为正。

若对任何可能的v,v^{T}Hv都小于零,也就是说现在θ无论为任何值,红色框里面都小于零。也就是L(θ)<L({\theta }'),那么在{\theta }'出为local maxima。而此处H的eigen value全为负数。

v^{T}Hv有时大于0有时小于0时,{\theta }'处为saddle point。此处H的eigen value有正有负。

当确定saddle point后我们还需要确定θ的更新方向。

有线性代数特征可得,当\lambda<0时,v^{T}Hv<0,则,因此,\lambda<0时所对应的特征向量即为未知参数的变化量,

下面我们举个例子,取模型函数为y=w1w2x,随机取数值x=1,在此处\hat{y}=1。

接下来定义该模型的损失函数

该损失函数如下图所示

将Loss的gradient求出来,w₁对L的微分,w₂对L的微分:

 

如果w₁=0 w₂=0就在圆心,并且w₁代0 w₂代0,w₁对L的微分 w₂对L的微分,算出来就都是零。这个时候就知道原点就是一个critical point,

接下来判断该点是为local minima还是Saddle point,计算H及其特征值。

H举证的特征值一正一副,所以是saddle point。
H知道了驻点的类型为鞍点,那么也可以通过H知道update的方向。

负特征值负特征值对应的特征向量为u,其中u+{\theta }'(其中{\theta }'为[0,0]T)为w1,w2更新的方向

下图为w1,w2更新的方向

4、overfitting

出现现象:训练集loss小,测试集loss大。

如下图所示,右边的函数就是过拟合了,虽然它在训练集上将所有的点都放在了线上,但是如果再来一个点就会不起作用,这就是过拟合

overfitting的解决办法:

1、使用更灵活的模型

2、给模型多些限制(较少的参数、公用参数、较少的feature,提前结束训练 )

如何选出这个最合适的model?训练模型时对训练数据进行分类

 根据validation set优化未知参数。

training set 和validation set分类如下图所示,将training set分为n等分,其中一份为val,将这几个数据的不同组合放在不同模型中训练,选出平均Loss最小的模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值