11、机器学习中的过拟合、欠拟合及通用工作流程

机器学习中的过拟合、欠拟合及通用工作流程

1. 过拟合与欠拟合:Dropout技术

在神经网络训练中,过拟合和欠拟合是常见的问题。为了解决过拟合,Dropout是一种非常有效且常用的正则化技术。它由Geoff Hinton和他在多伦多大学的学生开发。

Dropout的原理是在训练过程中,随机“丢弃”(将其设置为零)某一层的部分输出特征。例如,对于一个给定的输入样本,某一层通常会返回向量[0.2, 0.5, 1.3, 0.8, 1.1],应用Dropout后,这个向量可能会随机出现一些零元素,如[0, 0.5, 1.3, 0, 1.1]。丢弃率是被置零的特征比例,通常设置在0.2到0.5之间。

在测试时,不会丢弃任何单元,但会将该层的输出值按丢弃率进行缩放,以平衡训练时和测试时活跃单元数量的差异。以下是使用Numpy实现Dropout的代码示例:

import numpy as np

# 训练时
layer_output *= np.random.randint(0, high=2, size=layer_output.shape)
# 测试时
layer_output *= 0.5

也可以在训练时同时完成这两个操作,测试时保持输出不变,这也是实际中常用的实现方式:

layer_output *= np.random.randint(0, high=2, size=layer_output.shape)
layer_output /= 0.5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值