您的位置:首页 > 理论基础 > 计算机网络

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

2015-12-07 20:39 387 查看

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。

当然在实际中,我们也并非立刻就能知道何时发生精确率的饱和现象。我们将继续对模型的训练,直到我们有足够的自信确定精确率发生饱和。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: