机器学习、深度神经网络的认识与结论

0. 深度神经网络的分类

  • General DL
    • FC:Fully Connected
  • Sequence Models:
    • 1D 数据
    • RNN、LSTM
  • Image
    • 2D、3D
    • CNN
  • Unsupervised Learning
  • Reinforcement Learning

1. iteration vs epoch

  • iteraton:迭代次数,表达的是样本内部,当分类精度达到饱和或者叫分类精度收敛时,迭代停止,最终执行的迭代次数是不定的。

  • epoch:表达的是样本间,进行一次epoch,对全体样本进行一次学习与训练。当然样本与样本都是相同,也即使用相同样本进行的训练。epoch的次数是固定的,除非发生early stopping

反映在代码中:

while epoch < epochs:       # for j in range(epochs):
    epoch += 1 
    for mini_batch_index in range(n_train_batches):
        iter = (epoch-1)*n_train_batches + mini_batch_index
                            # 迭代次数以mini_batch为单位

2. 关于validation_data

机器学习(监督学习)有关的数据形式:

  • training data
  • test data
  • validation data

Instead of using the test_data to prevent overfitting(避免模型过于复杂), we will use the validation_data.

也即我们使用validation_data避免过拟合,而不是使用test_data。

我们不仅通过validation data的使用避免过拟合,更一般地,我们使用validation data进行超参的选择

3. validation data 与 early stopping

我们在validation data上所做的工作和在test data上做的工作是一样的,那就是在每次epoch(一次epoch,表示对全部数据进行一次训练,当然在对全部数据进行训练时也可采用**S**tochastic **G**radient **D**escent的学习方法)结束之时,计算这次的分类精度。一旦在validation data上的分类精度出现了饱和的情况(也即增高不显著),我们就停止训练。这种策略就叫做early stopping

当然在实际中,我们也并非立刻就能知道何时发生精确率的饱和现象。我们将继续对模型的训练,直到我们有足够的自信确定精确率发生饱和。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值