《李宏毅机器学习》- Task2 梯度下降、误差偏差方差的关系、模型评估

1、理解偏差和方差


偏差(bias):表示测试样本集的测试期望值距离groundtruth期望值的偏差;

a) bias越大,则说明预测结果越差,模型并未很好拟合训练集样本,欠拟合

b) 我们希望模型在测试样本上的bias足够小,那么就需要增加模型的复杂程度,或者简单理解为增加模型(映射函数)的泰勒展开式最高幂次。

方差(variance):表示模型在测试集上的预测结果是否稳定,或预测值距测试期望值的离散程度;

a) variance越大,则说明模型预测值在预测期望附近波动而很难接近真实值,过拟合,在测试样本上表现不好;

b) 我们希望在测试集上variance足够小,那么就要简化模型,减少模型参数,或者简单理解为减小模型(映射函数)的泰勒展开式最高幂次。

结论:

简单model受数据的影响小,所以方差小,偏差大,model未包含target值,欠拟合;

复杂model受数据的影响大,model希望拟合到所有采样数据,所以方差大,偏差小;

 

欠拟合:模型不能很好拟合训练集且在测试集上有较大误差,则模型受训练数据影响不大,在训练集上拟合不好,表现为模型简单,bias较大;要重新设计模型;

过拟合:模型可以很好拟合训练集而在测试集上有较大误差,则模型受训练数据影响较大,在训练集上拟合太好,表现为模型复杂,variance较大;增加训练数据,总的来说是为了让数据更丰富,让模型受噪声影响小,拟合更好的特征。

 

模型性能评估:交叉验证 / K折交叉验证

 

误差与偏差和方差的关系:

偏差:

其中 f 为真实值,y为预测值;

 

方差:

误差由偏差和方差共同产生:

 

2、学习鞍点,复习上次任务学习的全局最优和局部最优


鞍点:导数为零但不是极值的点,或者是在某一个(或多个)维度上为最大值而其他维度上是最小值的点,如下图红点

通常鞍点处误差曲面梯度为0,导致参数无法更新,从而成为损失下降的难点,鞍点不是局部最优点,但它与局部最优点、全局最优点都有使误差曲面趋于平缓的特性。

 

引入问题:当参数更新至鞍点处时,梯度趋于平缓,传统梯度下降方法更新参数会非常缓慢,如何解决?

调整梯度下降策略,见3

 

3、梯度下降


梯度下降的不同策略:

Batch GD(BGD,速度慢,抗噪声,损失总体向全局最优点下降)

批量梯度下降,更新一次参数

Mini-Batch GD (速度快,对噪声有一定适应能力,但会在全局最优点附近波动,难收敛)

每次同时取小批量数据来计算梯度,更新 B/min-batch 次参数

Stochastic Gradient Descent(SGD)

每个样本都更新一次参数;

详情参见:http://www.cnblogs.com/guoyaohua/p/8542554.html

 

Batch Size的选择:

当样本数不大时,可以使用BGD;

当样本数量较大时,可以选择Mini-BGD,且mini-batch size为2的幂次时,运行相对较快;

特征归一化:

归一化的原因:当学习率相同时,由于参数值大小不同而使得更新速度不一致,导致迭代次数增加,更新速度缓慢;如下图,在进行特征归一化以后,特征更新速度加快。

方法:减均值,除以方差;

 

补充:实际应用中,通过梯度下降更新参数的模型通常需要进行归一化,其中包括线性回归、逻辑回归、SVM、神经网络等,但对于决策树模型则不需要进行数据归一化,决策树是以信息增益、信息增益率、Gini系数为标准进行参数更新,由于特征归一化并不会改变样本在特征上的信息增益、信息增益率、Gini系数等标准,所以特征是否归一化不影响。

 

学习率不同会有什么影响;

  • 写出SGD和Mini-Batch的代码

待补充

4、学习交叉验证


以K折交叉验证为例:

 

将数据分为:测试数据(1)、训练数据(k-1)、验证数据(1);

在训练时:

在训练数据+验证数据中随机抽取k-1批样本作为训练集、其余作为验证集,验证集不参与更新参数;经过k次训练后,可以获得k组训练数据,每组数据由(训练集loss+验证集loss)组成;此时这k组数据即可用于评估模型的好坏。

 

5、学习归一化


减均值,除以方差

 

6、学习回归模型评价指标


常见的线性回归模型的评价指标即loss为

1)MSE,均方误差

2)RMSE,标准均方差

3)MAE,平均绝对误差

总的来说属于距离损失;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值