「深度学习」dropout 技术

一、工作原理

1. 正则化网络

dropout 将遍历网络的每一层,并设置消除神经网络中节点的概率。

  1. 1. 每个节点保留/消除的概率为0.5:

  2. 2. 消除节点:

  3. 3. 得到一个规模更小的神经网络:

2. dropout 技术

最常用:反向随机失活 "Inverted dropout"

以三层网络 (l=3) 为例:

keep-prob = 0.8     #保留某个隐藏单元的概率
#生成随机矩阵,每个单元对应值为1的概率是0.8,用于决定第三层哪些元素应该归零
d3 = np.random.rand(a3.shape[0], a3.shape[1]) < keep-prob
#元素相乘,从第三层获取激活函数,过滤d3中所有等于0的元素
a3 = np.multiply(a3,d3)
a3 /= keep-prob   #dropout方法:修正,使得a3期望值不变

Inverted dropout 通过除以 keep-prob,确保激活值的期望值不变,使得测试阶段更加容易。

每次梯度下降归零的隐藏单元可能不一样。

3. 在测试阶段训练算法

  1. 将第0层激活函数标记为测试样本x

    a^{[0]} = x

  1. 在测试阶段不使用 dropout 技术,我们不希望输出结果随机。特别地:

    z^{[1]} = w^{[1]} a^{[0]} +b^{[1]}​

    a^{[1]} = g^{[1]}(z^{[1]})​

    z^{[2]} = w^{[2]} a^{[1]} +b^{[2]}​

    a^{[2]} = g^{[2]}(z^{[2]})​

    ...

    \widehat{y}

    目标:在测试阶段即使不执行 dropout,激活函数的预测结果也不会发生变化

二、理解 dropout

  1. 1. 每次 dropout 会生成一个更小的神经网络。

  2. 2. 收缩权重的平方范数:单元不能依赖任何特征 (该单元的任何特征都有可能被随机清除),故不会给任何一个输入加上过多的权重。

  3. 3. 一般来说,某层的隐藏单元越多,该层的 keep-prob 越小;可以某些层用 dropout,某些层不用。

用途:防止过拟合,常用在输入数据不足的情况 (如计算机视觉)。

缺点:代价函数 J 不再被明确定义,结果难以复查。

三、其他正则化方法

1. 增加训练集

以图片为例,可将图片进行水平翻转/旋转/裁剪/放大/扭曲图片,可扩增算法数据。(但需要人工验证图片经过处理后仍是原物)

2. early stopping

运行梯度下降时,绘制训练误差或代价函数 J 的优化过程 + 验证集的误差

early stopping:在中间点停止迭代过程,即提早停止训练神经网络。

优点:只需要一次梯度下降,就可以找到 w 的较小值、中间值、较大值。

缺点:不能同时进行代价函数 J 的优化和 防止过拟合两个问题的解决。

3. L2 正则化

缺点:神经网络的训练时间更长,需要尝试很多次正则化参数 \lambda 的值,计算代价高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/679913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

锐捷(二十一)全局地址绑定

vlan划分和vlanif接口配置略&#xff0c;注意vlanif接口里要no shutdown配置如下&#xff1a; Address-bind 192.168.1.1 AAAA.BBBB.CCCCAddress-bind uplink g0/0Address-bind binding-filter loggingAddress-bind install 此时&#xff0c;IP为192.168.1.1 mac地址为AAAA.B…

『运维备忘录』之 Netstat 命令详解

运维人员不仅要熟悉操作系统、服务器、网络等只是&#xff0c;甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作&#xff0c;持续给大家更新运维工作所需要接触到的知识点&#xff0c;希望大…

Python中Pymysql库的常见用法和代码示例

关注B站可以观看更多实战教学视频&#xff1a;肆十二-的个人空间-肆十二-个人主页-哔哩哔哩视频 (bilibili.com) pymysql是一个用于连接MySQL数据库的Python库&#xff0c;它允许你执行SQL查询并处理返回的结果。以下是pymysql库的一些常见用法和代码示例&#xff1a; 1. 安装…

GaussDB HCS 轻量化部署软件下载指引

一、Support 账号准备 1. 账号说明 华为的软件服务在华为support网站发布&#xff0c;注册该账号后&#xff0c;可以申请软件、下载离线文档&#xff0c;查看技术案例等功能 2. 账号注册 步骤 1&#xff1a;点击如下官方链接 华为运营商技术支持 - 华为 步骤 2&#xff1…

精通Python中的正则表达式

源码分享 https://docs.qq.com/sheet/DUHNQdlRUVUp5Vll2?tabBB08J2 正则表达式是一种强大的文本处理工具&#xff0c;广泛应用于字符串搜索、替换、验证等多种场景。Python通过内置的​​re​​模块提供了对正则表达式的支持。在爬虫开发中&#xff0c;能够熟练地使用正则表达…

powershell 离线安装Posh-SSH

PowerShell 离线安装 Posh-SSH 模块&#xff0c;可以按照以下步骤进行&#xff1a; 从可靠的来源获取 Posh-SSH 模块的 NuGet 安装包&#xff08;.nupkg 文件&#xff09;。确保该安装包是最新版本&#xff0c;并且与你的 PowerShell 版本兼容。将 NuGet 安装包复制到你的计算…

kafka教程

Kafka 中&#xff0c;Producer采用push模型&#xff0c;而Consumer采用pull模型。 Topic Topic&#xff08;主题&#xff09;是消息的逻辑分类或通道。它是Kafka中用于组织和存储消息的基本单元。一个Topic可以被看作是一个消息发布的地方&#xff0c;生产者将消息发布到一个…

机器学习9-随机森林

随机森林&#xff08;Random Forest&#xff09;是一种集成学习方法&#xff0c;用于改善单一决策树的性能&#xff0c;通过在数据集上构建多个决策树并组合它们的预测结果。它属于一种被称为“集成学习”或“集成学习器”的机器学习范畴。 以下是随机森林的主要特点和原理&…

IT行业含金量高的证书-软考

软考全称计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff0c;软考既是职业资格考试&#xff0c;又是职称资格考试。2021年12月2号发布新版的国家职业资格目录&#xff0c;软考是在计算机技术领域中的唯一的国家职业资格。 一、好处 软考是一个神奇又特…

【数据结构】14 队列(带头结点的链式存储和顺序存储实现)

定义 队列是一个有序线性表&#xff0c;但是队列的插入、删除操作是分别在线性表的两个不同端点进行的。 设一个队列 Q ( a 1 , a 2 , . . . , a n ) Q (a_1, a_2,...,a_n) Q(a1​,a2​,...,an​)&#xff0c;那么 a 1 a_1 a1​被称为队头元素&#xff0c; a n a_n an​为队…

金融科技力

金融科技 区块链二级目录三级目录 区块链 区块链安全&#xff1a;保密性、完整性、可用性 最重要的点&#xff1a;保密性零知识证明&#xff1a; 1、完整性&#xff08;真的假不了&#xff09; 2、可靠性&#xff08;假的真不了&#xff09; 3、零知识性&#xff08;知道真的&…

手把手教你开发Python桌面应用-PyQt6图书管理系统-图书信息修改实现

锋哥原创的PyQt6图书管理系统视频教程&#xff1a; PyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~_哔哩哔哩_bilibiliPyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~共计24条视频&…

从互联网的公开信息中,找到属于你的赚钱思路

一、教程描述 人们在互联网上的每一次搜索、每一次关注、每一次点击、每一次点赞、每一次评论、每一次付费&#xff0c;都生成了大量的数据和信息&#xff0c;暴露着人们的真实想法、欲望、恐惧和需求。这些数据和信息&#xff0c;就是我们身边的一座“金矿”&#xff0c;而大…

项目中的一些疑难杂记

疑难杂记 1. 关于正则表达式对象的匹配状态问题发现查找原因解决方法done 喜大普奔 1. 关于正则表达式对象的匹配状态 问题发现 因页面中多个函数使用到同一个正则表达式&#xff0c;想着定义个变量 export 出去然后在对应的函数中引用&#xff0c;一切正常中… 直到有一天&a…

1【算法】——最大子数组问题(maximum subarray)

一.问题描述 假如我们有一个数组&#xff0c;数组中的元素有正数和负数&#xff0c;如何在数组中找到一段连续的子数组&#xff0c;使得子数组各个元素之和最大。 二.问题分析 分治法求解&#xff1a; 初始状态&#xff1a; low0&#xff1b;highA.length-1&#xff1b;mid&am…

CGAL::2D Arrangements-2

2.3.2 遍历Arrangement Halfedge Arrangement的一条Halfedge是和一个 X_monotone_curve_2对象绑定&#xff0c;这个curve可以通过e->curve()获取。 e->source()得到源点&#xff0c;e->target()得到目标点&#xff0c;e->twin()得到半边的对边&#xff0c; 第个半…

最新的 Ivanti SSRF 零日漏洞正在被大规模利用

Bleeping Computer 网站消息&#xff0c;安全研究员发现 Ivanti Connect Secure 和 Ivanti Policy Secure 服务器端请求伪造 (SSRF) 漏洞&#xff08;CVE-2024-21893 &#xff09;正在被多个威胁攻击者大规模利用。 2024 年 1 月 31 日&#xff0c;Ivanti 首次就网关 SAML 组件…

Java设计模式——策略

前言 策略模式是平时Java开发中常用的一种&#xff0c;虽然已有很多讲解设计模式的文章&#xff0c;但是这里还是写篇文章来从自己理解的角度讲解一下。 使用场景 我们不妨进行场景假设&#xff0c;要对我们的软件进行授权管理&#xff1a;在启动我们的软件之前先要校验是否…

万维网的文档

目录 1 万维网的文档 动态万维网文档 CGI CGI 网关程序 活动万维网文档 用 Java 语言创建活动文档 1 万维网的文档 分为&#xff1a; 静态万维网文档。内容不会改变。简单。(html、xml、css) 动态万维网文档。文档的内容由应用程序动态创建。 活动万维网文档。由浏览器端…

SpringBoot3整合Knife4j

前置&#xff1a; 官网&#xff1a;快速开始 | Knife4j gitee&#xff1a;swagger-bootstrap-ui-demo: knife4j 以及swagger-bootstrap-ui 集成框架示例项目 - Gitee.com 1.依赖引入&#xff1a; ps&#xff1a;json处理需要引入相关包 <dependency><groupId>c…