深度学习--机器学习相关(1)

1.训练集、测试集、验证集

        在做一个训练任务的时候,能获取的所有的数据包含两类, 类有特征和标签;另一类有特征没有标签需要预测标签,即测试集。在第一类有特征有标签的数据中,  般会分为训练集和验证集。训练集就是课本,验证集就是模考卷子,测试集就是考试。

        最常见的问题就是验证集究竟是否参与到训练过程中。如果不参与,那么岂不是浪费 了这些有标签的数据吗?这里引入n-fold 的方法。把所有的给了标签的数据三等分,然后每一份都作为一个验证集,这样每一个验证集对应的训练集应该占全部有标签数据的三分之二,而且每一个训练集和对应的验证集之间的数据不重复。训练3个模型,每一个模型只用训练集数据训练,然后用对应的验证集进行检验,判断模型是否训练完成。最后在预测测试集标签时将3个模型的输出求均值。这样的方法可以增强模型的泛化能力,而且可以利用所有的可用数据并且防止数据泄露问题。

2.epoch batch mini-batch

        讲到机器学习神经网络,绕不开的就是这几个基础概念。现在假设要处理的是图片分 类任务,总共有10张图片作为全部的训练集。

(1)sample  每一张训练集中的图片,称为一个样本,总共有十个样本。

(2)Epoch  假想一个人在背书学习的时候,只看一遍书够吗?不够的,要翻来覆去反复多次地看。这里也是一样,10张图片模型看过一遍称为一个 Epoch, 但是模型没学好又 看了一遍,就是2个Epoch Epoch 就是全部训练集的学习次数。

(3)batch (批) 计算机的内存是有限的, 一般是不能把全部的训练数据集同时放到内存中进行计算。只能从十张图片中拿五张出来,进行训练,更新参数,之后把内存中的数据清空,再放入另外五张图片。这样, 一个Epoch  中就有两个 batch, 每一个batch 会更新一次 模型的参数。

(4)mini-batch  在论文中应该会出现这个概念。这个是用在多处理器同时训练的情况下的。依然是上面的例子,假设为了加快训练速度,准备了5个处理器并行训练,这样一 Batch        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值