吴恩达深度学习笔记(二)week1深度学习的实用层面

来源:互联网 发布:怎样注册淘宝网店铺 编辑:程序博客网 时间:2024/06/11 02:05

训练集、验证集、测试集


开发机器学习系统是一个高度迭代的过程
这里写图片描述
循环上面过程的效率决定了ML系统开发的效率,利用交叉验证的方法能有效得提高系统开发效率,交叉验证能很好的避免欠拟合和过拟合。

  • 小数据时代:60% / 20% / 20%
  • 大数据时代:98% / 1% / 1%(甚至训练集的比例更大)

偏差和方差

这里写图片描述

机器学习的基本方法

吴恩达老师提供的训练方法:
这里写图片描述

正则化

针对模型的过拟合,一般可以通过增加训练数据和正则化的方法来解决,但是并不是什么时候都能增加训练数据,这时正则化便能起到很好的作用。以逻辑回归为例,逻辑回归的代价函数如下:
J(w,b)=1mi=1mL(y^(i),y(i))+λ2m||w||22
- L2正则化:||w||22=j=1nxw2j=wTw
- L1正则化:||w||1=j=1nx|wj|

为什么正则化有利于防止过拟合

我们可以从两方面获得启发式理解。其一,如下图所示,当发生过拟合时,举个极端的例子,把λ设置非常大,当我们优化代价函数时第二项成了我们主要优化的项,结果自然W会被设置成很小,这就相当于中间的隐层“消失了”,相当于一个逻辑单元,最后变成了第一幅图中高偏差的情形,我们可以预见的是从右图过度到左图一定会经过第二幅图。

这里写图片描述
其二,我们知道当出现了过拟合时说明拟合的模型函数有很多高次方项,而当W很小时,相当于把激活函数的输入限制在原点附近,即激活函数的“线性部分”
这里写图片描述

标准化输入(Normalizing inputs)

这里写图片描述

  • 零均值化:μ=1mi=1mx(i),x:=xμ
  • 归一化方差:σ2=1mi=1mx(i)2,x=x/σ2
    为什么要标准化输入 ,因为有的特征取值的跨度比较大,而有的却比较小。如下图所示(以二维特征为例),当特征取值的范围相差比较大时,若不标准化输入则需要一个很小的学习速率才不会导致震荡(某一维度的震荡),标准化输入则可以避免这个问题。
    这里写图片描述
阅读全文
0 0