吴恩达深度学习课程学习总结

本文章主要总结吴恩达DeepLearning课程中所提到的一些机器学习策略

1、激活函数

  • Sigmoid函数
  • tanh函数
  • ReLU函数

2、权重初始化

  • 全零初始化的弊端:若权重初始化为0,则在训练过程中,每个隐含层之间存在对称性,即在训练过程中,每个隐含层的求导等计算都相同,导致权值更新也相同,这使得多个隐含层实现相同的功能,使得多个隐含层的存在变得毫无意义
  • 随机初始化:为避免全零初始化带来的弊端,将权重随机初始化为很小的值。例如在使用sigmoid或tanh激活函数时,权值越靠近0,目标值将更加靠近tanh或sigmoid函数上斜率较大的部分,使得在梯度下降时下降速度较快,可以增加其学习速度。
    • w= np.random.randn()*0.01
    • b=np.zeros() 

3、超参数(Hyperparameter)

    指的是除了网络权值w,偏置b之外的参数,Hyperparameter可以控制w与b

    超参数有:学习率(learning rate)、隐含层层数(number of hidden layer)、隐含层节点数(number of hidden units)、激活函数类型(choice of activation function)等......

       调参过程如图所示,不断反复直至模型效果最好

4、数据集处理

一般将数据集分为3部分:训练集(training set)、验证集(dev set)、测试集(test set)。

其中,三者的数据规模比例一般为60/20/20,若数据集的规模非常大,则验证集与测试集的比例可相对缩小,将大部分数据用于训练集中。

  • training set的作用是用于网络训练
  • dev set的作用是用于交叉验证,防止网络的过拟合
  • test set的作用是用于无偏估计

dev set 是网络在用于测试之前对于网络性能的一个估计,因此要求dev set与test set来自于同一分布。

5、偏差(bias)与方差(variance)

欠拟合又叫高偏差,过拟合又叫高方差。

欠拟合是指training set error较高,过拟合指dev set error 相对于training set error较高。其中,training set error的高低是相对于人本身对样本的识别效果,即最优误差(optimal error | Bayes error)

  • 在此处加入正则化的思想,正则化适用于解决overfitting的问题,由上面三个图可看到,从左到右,分类的线是越来越扭曲的,分类效果最好的是中间的线,‘high bias’的图中,网络偏向于一个线性网络,‘high variance’中,网络由于隐含层变量增加,使得网络非线性性增加,因此线变得过拟合,而通过适当减少隐含层变量来使得网络非线性性减少而又不至于变到线性的范畴,此为网络正则化的基本思想。实现方法有:(1) L2 Regularization;(2) Dropout

猜你喜欢

转载自blog.csdn.net/oqqwhy555/article/details/82457286
今日推荐