当前位置: 首页 > news >正文

深度学习记录--正则化(regularization)

什么是正则化?

正则化(regularization)是一种实用的减少方差(variance)的方法,也即避免过度拟合

几种正则化的方法

L2正则化

又被称为权重衰减(weight dacay)

 在成本函数中加上正则项:

\frac{\lambda }{2m}\sum_{l=1}^{L}\left \| w^{\left [ l \right ]} \right \|^2_{F}

其中  \left \| x^{\left [ l \right ]} \right \|^2_{F}=\sum_{i=1}^{n^{\left [ l-1 \right ]}}\sum_{j=1}^{n^{\left [ l\right ]}}(w^{\left [ l \right ]}_{ij})^2 

 由于在w的更新过程中会递减,即权重衰减

w^{\left [l \right ]}:= w^{\left [l \right ]}-\alpha dw^{\left [l \right ]}

w递减的过程,实际上是w趋近于0的过程

在这个过程中,部分单元的影响逐渐减小(可以近似看作隐藏),最终成为深层神经网络(类似线性回归),从最开始的右图逐渐变为左图,即从high variance --> high bias

在变化的中间存在一个just right的状态,这个状态则是最优情况

缺点:

为了搜索合适的正则化参数lambda,需要进行大量验证计算,花费时间很长

dropout(随机失活)

dropout基本原理:将神经网络中的部分单元进行随机删除/失活(将它们的影响降至几乎不存在),让原本的神经网络样本训练规模变小

常用方法:inverted dropout(反向随机失活)

设置一个概率参数keep_prob,在例子中设置为0.8,表示有0.2的概率让单元失活

设置bool矩阵d3,将a3矩阵与d3矩阵进行矩阵乘法运算,然后a3/=keep_prob,保持未被失活单元的数据的完整性

代码实现:

import numpy as np
a3=np.random.rand(3,3)
print("before dropout : \n",a3)
keep_prob=0.8
# print(a3.shape[0],a3.shape[1])
d3=np.random.rand(a3.shape[0],a3.shape[1])<keep_prob
# print("d3 = ",d3)
a3=np.multiply(a3,d3)
a3/=keep_prob
print("after dropout : \n",a3)

运行结果: 

dropout合理性的解释

dropout会压缩权重(shrink weights),完成预防过拟合的外层正则化(类似L2正则化的功能),与L2正则化不同的是,dropout对不同的应用方式,会产生不同的效果

keep_prob的数值越小,dropout的效果越显著

对于某些层,若担心过拟合,可以设置更小的keep_prob参数值,而对于其他层,若无需使用dropout,则可以设置keep_prob=1

缺点

需要进行许多验证来得出不同的keep_prob参数值

同时,因为每次迭代部分节点都会被随机移除,J函数的定义无法被明确给出,难以对递减程度进行评估与复查

数据扩增data augmentation

当无法获得充足的数据时,又需要大量的数据时,则会选择这种方法:

对原有数据进行一定的处理,产生新的数据

缺点

需要额外的算法验证,对新数据判断是否合理

early stopping

只需运行一次梯度下降,找到w的较小值,中间值和较大值

在梯度下降过程中及时停止,得到较合理的dev set error和train set error

相关文章:

深度学习记录--正则化(regularization)

什么是正则化&#xff1f; 正则化(regularization)是一种实用的减少方差(variance)的方法&#xff0c;也即避免过度拟合 几种正则化的方法 L2正则化 又被称为权重衰减(weight dacay) 在成本函数中加上正则项&#xff1a; 其中 由于在w的更新过程中会递减&#xff0c;即权…...

Java的便捷输入方法及解析

在 Java 中&#xff0c;有多种便捷的输入方法可以从用户那里获取输入。下面是一些常见的便捷输入方法及解析&#xff1a; 使用 Scanner 类&#xff1a;在上述示例中&#xff0c;首先导入了 java.util.Scanner 类&#xff0c;创建了一个 Scanner 对象&#xff0c;并使用 System…...

抖音矩阵云混剪系统源码(免授权版)多平台多账号一站式管理,附带系统搭建教程

搭建教程 MySQL 5.6 PHP 7.2 Apache 数据库名称 juzhen Nginx环境切换伪静态 1、解压安装包到项目根目录&#xff0c;找到application/database.php 更换自己的数据库密码 2、阿里云现有的配置不要动 其他按照文档进行添加 3、项目访问目录&#xff1a;public 4、域名…...

【Linux】权限的深度解析

前言&#xff1a;在此之前我们学习了一些常用的Linux指令&#xff0c;今天我们进一步学习Linux下权限的一些概念 &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f449; 专栏分类:Linux的学习 &#x1f448; &#x1f4af;代码仓库:卫卫周大胖的学习日记&a…...

c++函数怎么返回多个值

文章目录 使用结构体或类&#xff1a;定义一个结构体或类&#xff0c;其中包含了所有需要返回的值。然后在函数中返回这个结构体或类的实例。 struct Result {int value1;double value2;char value3; };Result myFunction() {Result r;r.value1 1;r.value2 2.0;r.value3 a;r…...

《剑指 Offer》专项突破版 - 面试题 15 : 字符串中的所有变位词(C++ 实现)

题目链接&#xff1a;LCR 015. 找到字符串中所有字母异位词 - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 输入字符串 s1 和 s2&#xff0c;如何找出字符串 s2 的所有变位词在字符串 s1 中的起始下标&#xff1f;假设两个字符串中只包含英文小写字母。例如&…...

03 SpringMVC响应数据之接收Cookie和请求头+原生API+共享域对象操作

下载postman,测试传json数据 1. 接收cookie 用CookieValue注解将cookie值绑定到控制器中的handler参数。 Controller类中的一个handler GetMapping("/CookieTest") public void handle(CookieValue("cookie的id(name)") String cookie) { //... }2. 接收…...

数据仓库(3)-模型建设

本文从以下9个内容&#xff0c;介绍数据参考模型建设相关内容。 1、OLTP VS OLAP OLTP&#xff1a;全称OnLine Transaction Processing&#xff0c;中文名联机事务处理系统&#xff0c;主要是执行基本日常的事务处理&#xff0c;比如数据库记录的增删查改,例如mysql、oracle…...

交换机配置及网络测试

实验环境 拓扑图 Ip规划表 部门 主机数量 网络地址 子网掩码 网关 可用ip Vlan 市场部 38 192.168.131.0 255.255.255.0 192.168.131.1 2-254 11 研发部 53 192.168.132.0 255.255.255.0 192.168.132.1 2-254 12 财务部 9 192.168.133.0 255.255.255…...

贪吃蛇游戏

文章目录 前言一.Win32API1.1GetStdHandle1.2GetConsoleCursorInfo1.3SetConsoleCursorInfo1.4SetConsoleCursorPosition1.5GetAsyncKeyState1.6setlocale二.游戏设计三.GameStart3.1蛇的创建3.2分文件3.3控制台设置3.4WelComeToGame3.5CreateMap3.6InitSnack3.7CreateFood 四.…...

DPDK trace 的简单使用

文章目录 前言trace的简单使用 前言 日志用于记录不太频繁&#xff0c;比较高level的事情。trace记录频繁发生的事情&#xff0c;它的开销低。 trace可以在运行时&#xff0c;通过参数控制是否启用&#xff1b;可以在任何时间点&#xff0c;将trace记录的缓冲区保存到文件系统…...

《游戏-01_2D-开发》

首先利用安装好的Unity Hub创建一个unity 2D&#xff08;URP渲染管线&#xff09;项目 选择个人喜欢的操作格局&#xff08;这里采用2 by 3&#xff09; 在Project项目管理中将双栏改为单栏模式&#xff08;个人喜好&#xff09; 找到首选项&#xff08;Preferences&#xff09…...

如何禁用WordPress站点的管理员电子邮件验证或修改检查频率?

今天boke112百科登录某个WordPress站点时&#xff0c;又出现“管理员邮件确认”的提示&#xff0c;要求确认此站点的管理员电子邮箱地址是否仍然正确。具体如下图所示&#xff1a; 如果点击“稍后提醒我”&#xff0c;那么管理员邮件验证页面就会在3天后重新显示。 说实话&…...

三、MySQL实例初始化、设置、服务启动关闭、环境变量配置、客户端登入(一篇足以从白走到黑)

目录 1、选择安装的电脑类型、设置端口号 2、选择mysql账号密码加密规则 3、设置root账户密码 4、设置mysql服务名和服务启动策略 5、执行设置&#xff08;初始化mysql实例&#xff09; 6、完成设置 7、MySQL数据库服务的启动和停止 方式一&#xff1a;图形化方式 方式…...

Ubuntu20.04-剪贴板

针对图形界面用户 1.两种方式 1.1 安装Parcellite 简单轻量级剪贴板管理器 sudo apt install parcellite 1.2 安装Gpaste 更强大的剪贴板管理器&#xff0c;包含历史记录和同步功能 sudo apt install gpaste...

springmvc常用的组件

SpringMVC常用组件 以下的Handler也叫Controller。 1、DispatcherServlet&#xff1a;前端控制器&#xff0c;不需要工程师开发&#xff0c;由框架提供 作用&#xff1a;统一处理请求和响应&#xff0c;整个流程控制的中心&#xff0c;由它调用其它组件处理用户的请求 2、H…...

Mysql中设置只允许指定ip能连接访问(可视化工具的方式)

场景 Mysql中怎样设置指定ip远程访问连接&#xff1a; Mysql中怎样设置指定ip远程访问连接_navicat for mysql 设置只有某个ip可以远程链接-CSDN博客 前面设置root账户指定ip能连接访问是通过命令行的方式&#xff0c;如果通过可视化工具比如Navicat来实现。 注&#xff1a…...

vue2+webpack升级vue3+vite,报错Cannot read properties of null (reading ‘isCE‘)

同学们可以私信我加入学习群&#xff01; 正文开始 前言问题分析解决总结 前言 系列文章&#xff1a;vue2webpack升级vue3vite&#xff0c;修改插件兼容性bug 前面的文章主要是介绍&#xff0c;在升级初始阶段遇到的一些显而易见的兼容性问题和bug。随着项目迭代的不断深入&a…...

【性能调优】local模式下flink处理离线任务能力分析

文章目录 一. flink的内存管理1.Jobmanager的内存模型2.TaskManager的内存模型2.1. 模型说明2.2. 通讯、数据传输方面2.3. 框架、任务堆外内存2.4. 托管内存 3.任务分析 二. 单个节点的带宽瓶颈1. 带宽相关理论2. 使用speedtest-cli 测试带宽3. 任务分析3. 其他工具使用介绍 本…...

Zabbix监控(2)

目录 一.自动发现 配置自动发现&#xff1a;&#xff08;被动模式&#xff09; 修改三台服务器的hosts文件&#xff1a; 修改agent02的配置文件&#xff1a; 访问页面&#xff0c;删除客服端主机配置&#xff1a; 在配置的自动发现中添加规则&#xff1a; 我们重启的zab…...

告别硬编码!在UE5 GAS里用曲线表格(Curve Table)动态管理RPG技能数值

告别硬编码&#xff01;在UE5 GAS里用曲线表格&#xff08;Curve Table&#xff09;动态管理RPG技能数值 在开发RPG游戏时&#xff0c;技能数值的调整往往是一个频繁且耗时的过程。传统的硬编码方式不仅效率低下&#xff0c;还容易导致版本混乱。本文将介绍如何利用UE5的GAS系统…...

从Quill光标到用户头像:手把手教你为Yjs协同编辑器添加完整的在线用户列表(附状态同步技巧)

从Quill光标到用户头像&#xff1a;构建企业级协同编辑器的完整用户感知系统 在数字化办公场景中&#xff0c;协同编辑器的用户体验往往决定了团队协作效率的上限。当多个用户同时编辑同一份文档时&#xff0c;简单的光标显示已无法满足现代团队对协作透明度的需求。本文将深入…...

从零搭建OpenStack私有云:我是如何用两台旧电脑打造个人开发测试平台的

从零搭建OpenStack私有云&#xff1a;我是如何用两台旧电脑打造个人开发测试平台的 去年整理仓库时发现两台闲置的旧台式机&#xff0c;配置都是i5-6500加16GB内存。看着它们积灰实在可惜&#xff0c;我决定用这两台"老伙计"搭建一个OpenStack私有云环境&#xff0c;…...

YimMenu技术深度探索:现代GTA V菜单框架的安全架构与扩展机制

YimMenu技术深度探索&#xff1a;现代GTA V菜单框架的安全架构与扩展机制 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/…...

WebShell-Bypass-Guide字符串处理函数免杀技巧详解

WebShell-Bypass-Guide字符串处理函数免杀技巧详解 【免费下载链接】WebShell-Bypass-Guide 从零学习Webshell免杀手册 项目地址: https://gitcode.com/gh_mirrors/we/WebShell-Bypass-Guide WebShell免杀技术是网络安全领域的重要技能&#xff0c;而字符串处理函数是构…...

cp520靶场学习笔记

正文1、端口扫描2、web登录页面用户密码爆破3、文件上传漏洞利用4、nc 反弹5、Linux用户检索与特权分析6、图片隐写7、解密与格式转换8、cp命令横向获取用户密码9、diff命令进行文件比较正文 kali攻击机地址&#xff1a;192.168.1.4 靶场地址&#xff1a;192.168.1.15 1、端口…...

序列近似整数规划导向的通用高性能离散变量拓扑优化新方法【附算法】

✨ 长期致力于拓扑优化、整数规划、序列近似规划、信赖域、拓扑不变量研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;正则松弛算法求解大规模可分离整…...

论文排版不求人:手把手教你用Word样式搞定独立目录、分栏与页眉页脚

论文排版不求人&#xff1a;Word样式驱动的全流程排版解决方案 在学术写作中&#xff0c;内容质量与格式规范同等重要。一篇结构清晰、排版专业的论文不仅能提升阅读体验&#xff0c;更能体现研究者的严谨态度。然而&#xff0c;许多学者和学生在面对Word复杂的排版功能时常常陷…...

实时娱乐资讯获取慢?Perplexity新闻查询延迟优化全解析,3步压降至800ms内

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;实时娱乐资讯获取慢&#xff1f;Perplexity新闻查询延迟优化全解析&#xff0c;3步压降至800ms内 在高并发娱乐资讯场景下&#xff0c;Perplexity API 默认配置常导致端到端响应延迟突破1.5秒&#xff0c;严…...

iPaaS厂商:五家主流集成平台的技术与市场观察

在数字化转型的深水区&#xff0c;企业级集成平台即服务&#xff08;iPaaS&#xff09;正在成为IT架构的“神经系统”。国内外众多厂商纷纷布局&#xff0c;形成了从全域智能集成到轻量SaaS连接的多极化格局。本文基于公开资料&#xff0c;对五家具有代表性的iPaaS厂商及其核心…...