第三周:李宏毅机器学习

目录

摘要

Abstract

一、机器学习指南

1、训练集loss 

2、测试集loss 

3、如何合理的选择model? 

二、局部最小值和鞍点

1、局部最小值的分类 

2、类别的判定 

3、举例说明

4、local  minimaV.S.saddle point 

总结 


摘要

在前几周掌握了机器学习基本步骤后,本周了解了模型在不同情况下的发生原因以及改进措施,可以看出loss的观测无论在训练集还是测试集上都至关重要。最优化是机器学习的重要步骤,但是总是达不到最优,分析得到了以下几种原因:局部最小值和鞍点、批次、学习率、损失函数等。接着对几种原因进行分析并找出解决办法。

Abstract

After mastering the basic steps of machine learning in the previous weeks, this week we have learned the reasons why the model occurs in different situations and the measures to improve it, and it can be seen that the observation of the loss function is crucial both in the training set and the test set. Optimization is an important step in machine learning, but it always fails to reach the optimum, and the analysis obtained the following several reasons: local minima and saddle points, batch, learning rate, loss function, and so on. Then several reasons are analyzed and solutions are found.

一、机器学习指南

机器学习HW的完成步骤:

训练数据:计算损失函数L(\theta )最小值时的参数的\theta ^{\ast }

测试数据:将\theta ^{\ast }带入y=f_{\theta }(x)来预测测试函数

1、训练集loss 

首先观测在训练集上的loss,如果此时training loss很大就代表模型在训练集上效果不好,有以下两种可能性:

(1)model bias

问题:model过于简单,使loss最小的function不在function set中

解决:适当增加model的复杂性,使得它具有更大的弹性

(2)optimization issue

 

问题:model中存在某一个function使得loss达到local minima

解决:有两中国情况local minima或是paddle point。详见(二、局部最小值和鞍点)

如何区分是model bias还是optimization issue? 

答:详见(二、局部最小值和鞍点)

2、测试集loss 

 下一步需要观察测试集上的loss,如果loss较小表示训练效果不错,如果loss较大表示在测试集上的效果不好,有以下两种可能:

(1)overfitting

极端情况:model在训练集上什么也没有学到,只是单纯复制了训练的完全符合训练集的function

一般情况:model的弹性过大(数学原理next lecture) 

解决1:增加训练数据、数据增强

数据增强data augmentation:数据增强是通过一定的方式改变输入数据,以生成更多的训练样本,从而提高模型的泛化能力和效果。数据增强可以减少模型对某些特征的过度依赖,从而避免过拟合。

 

解决2:限制model

 

限制model的方法:减少参数(减少神经元个数、共享参数等)、减少输入特征 、 early stopping、正则化、dropout

为什么不能给model太大的限制?会出现model bias的情况,如下图:

 

model又趋于简单,几乎接近于linear model。 

(2)mismatch

训练集和测试集的分布不同。与过拟合不同,不能通过“增加训练数据”来解决。

 

3、如何合理的选择model? 

交叉验证,如下图:

交叉验证cross validation:当model对与测试集的预测不好时,我们会将训练集的一小部分单独分出来作为验证集,作用是不参与训练而是进行对训练生成的参数进行验。

如何合理的分开training set和validation set?

二、局部最小值和鞍点

1、局部最小值的分类 

optimization失败的原因可能使出现了局部最小值的情况 ,如下图: 

当进行gradient descent中微分几乎为零时,经过不断的参数更新但training loss还未达到最小值。

微分为零(驻点critical point)但是loss还没到最小值时有以下两种情况:

 

可以看出,如果是local minima的情形,此时的极小值无法再经过梯度下降到达最小值处;如果是saddle point的情形,此时的极小值点(鞍点)仍旧可以梯度下降到最小值点出。

2、类别的判定 

泰勒级数逼近tayler series approximation

海森矩阵hessian matrix

 

当参数\theta是loss函数中的驻点时,gradient为零,泰勒近似公式只剩下三项。此时驻点的特性有以下三种情况:

 v设为特征向量,若任何v^{T}Hv大于0,说明矩阵H是正定矩阵,即所有特征值大于0,此时情况为local minima;若任何v^{T}Hv小于0,说明矩阵H是负定矩阵,即所有特征值小于0,此时情况为local maxima;若v^{T}Hv有小于0也 有大于0,此时情况为saddle point。

3、举例说明

 

该model训练效果比较差, training loss比较大且不是model bias的情况,所以是optimization比较失败的情况,需要判断出现local minima还是saddle point?

 

如果是鞍点的话,这个局部最小值的问题就很好解决了。找到特征值为负的方向对应的特征向量,来更新参数即可。 

 

4、local  minimaV.S.saddle point 

 一般情况下,saddle point的情况更加常见,如下图:

经实验所得,大部分的critical point的loss值都有正有负,即是saddle point的情况。所以一般情况都是可以再继续梯度下降的到global minima。 

minima ratio就是正特征值再所有特征值中的所占比例。结合上图,在minima ratio取任何值时,saddle point几乎都有一半的概率。 

总结 

本周以机器学习的基本框架为主体逐步分析,旨在于找到最好的训练效果,其中optimization比较复杂。如果在optimization这一步出现问题,说明它可能出现以下几种情况:局部最小值和鞍点、批次和鞍点、学习率、损失函数。本周学习了它的其中一个原因:局部最小值和鞍点,并且给出了解决方案。在接下来的周报中,将继续分析其他的几种原因。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值