【深度学习】吴恩达网易公开课练习(class2 week1 task2 task3)
正则化
定义:正则化就是在计算损失函数时,在损失函数后添加权重相关的正则项。
作用:减少过拟合现象
正则化有多种,有L1范式,L2范式等。一种常用的正则化公式
\[J_{regularized} = \small \underbrace{-\frac{1}{m} \sum\limits_{i = 1}^{m} \large{(}\small y^{(i)}\log\left(a^{[L](i)}\right) + (1-y^{(i)})\log\left(1- a^{[L](i)}\right) \large{)} }_\text{cross-entropy cost} + \underbrace{\frac{1}{m} \frac{\lambda}{2} \sum\limits_l\sum\limits_k\sum\limits_j W_{k,j}^{[l]2} }_\text{L2 regularization cost}\]
使用正则化,需要分别在计算损失函数和反向传播计算导数时做相应的修改。
上述正则化对应的反向传播公式需添加一项:
\[\frac{d}{dW} ( \frac{1}{2}\frac{\lambda}{m} W^2) = \frac{\lambda}{m} W\]
dropout
定义:dropout是指在每次迭代训练时随机从网络结构中去掉部分节点
作用:减少过拟合
注意:只在训练时使用dropout,测试时不使用
实现方法:给每一层节点都设置一个保留概率keep_prob
- 前向传播:
- 定义一个和每一层输入相同结构的mask,随机初始化为0-1之间的小数
- mask中小于keep_prob的,置为1(节点保留),否则为0(节点丢弃)
- 该层输入 = 该层输入 * mask / keep_prob
- 反向传播:
- dA = dA * mask / keep_prob
梯度校验
定义:通过比较反向传播梯度值与双边近似梯度值校验反向传播过程是否正确
作用:深度神经网络的前向传播实现相对简单,而反向传播相对复杂,容易出现差错。故用前向传播的结果近似计算梯度值,并与梯度值做比较。如果误差足够小,则认为反向传播计算是正确的。
梯度近似公式:
\[ \frac{\partial J}{\partial \theta} = \lim_{\varepsilon \to 0} \frac{J(\theta + \varepsilon) - J(\theta - \varepsilon)}{2 \varepsilon}\]
梯度差异公式:
\[ difference = \frac {\| grad - gradapprox \|_2}{\| grad \|_2 + \| gradapprox \|_2 }\]
- \(\varepsilon\)一般取1e-7,如果最终差异小于1e-7认为是正确,大于1e-3认为错误,介于之间需要仔细确认。
- 梯度校验非常耗时,训练时不进行校验,只在需要验证时运行。
- 如果使用drop_out想进行梯度校验,先将keep_prob置为1,即关闭drop_out,校验无误后再打开drop_out
【深度学习】吴恩达网易公开课练习(class2 week1 task2 task3)的更多相关文章
- 【深度学习】吴恩达网易公开课练习(class2 week1)
权重初始化 参考资料: 知乎 CSDN 权重初始化不能全部为0,不能都是同一个值.原因是,如果所有的初始权重是相同的,那么根据前向和反向传播公式,之后每一个权重的迭代过程也是完全相同的.结果就是,无论 ...
- 【深度学习】吴恩达网易公开课练习(class1 week4)
概要 class1 week3的任务是实现单隐层的神经网络代码,而本次任务是实现有L层的多层深度全连接神经网络.关键点跟class3的基本相同,算清各个参数的维度即可. 关键变量: m: 训练样本数量 ...
- 【深度学习】吴恩达网易公开课练习(class1 week2)
知识点汇总 作业内容:用logistic回归对猫进行分类 numpy知识点: 查看矩阵维度: x.shape 初始化0矩阵: np.zeros((dim1, dim2)) 去掉矩阵中大小是1的维度: ...
- 【深度学习】吴恩达网易公开课练习(class1 week3)
知识点梳理 python工具使用: sklearn: 数据挖掘,数据分析工具,内置logistic回归 matplotlib: 做图工具,可绘制等高线等 绘制散点图: plt.scatter(X[0, ...
- 深度学习 吴恩达深度学习课程2第三周 tensorflow实践 参数初始化的影响
博主 撸的 该节 代码 地址 :https://github.com/LemonTree1994/machine-learning/blob/master/%E5%90%B4%E6%81%A9%E8 ...
- cousera 深度学习 吴恩达 第一课 第二周 学习率对优化结果的影响
本文代码实验地址: https://github.com/guojun007/logistic_regression_learning_rate cousera 上的作业是 编写一个 logistic ...
- 2017年度好视频,吴恩达、李飞飞、Hinton、OpenAI、NIPS、CVPR、CS231n全都在
我们经常被问:机器翻译迭代了好几轮,专业翻译的饭碗都端不稳了,字幕组到底还能做什么? 对于这个问题,我们自己感受最深,却又来不及解释,就已经边感受边做地冲出去了很远,摸爬滚打了一整年. 其实,现在看来 ...
- 第19月第8天 斯坦福大学公开课机器学习 (吴恩达 Andrew Ng)
1.斯坦福大学公开课机器学习 (吴恩达 Andrew Ng) http://open.163.com/special/opencourse/machinelearning.html 笔记 http:/ ...
- 吴恩达深度学习第4课第3周编程作业 + PIL + Python3 + Anaconda环境 + Ubuntu + 导入PIL报错的解决
问题描述: 做吴恩达深度学习第4课第3周编程作业时导入PIL包报错. 我的环境: 已经安装了Tensorflow GPU 版本 Python3 Anaconda 解决办法: 安装pillow模块,而不 ...
随机推荐
- mac用BootCamp装windows装完之后驱动问题
刚装完会有一个临时盘里面找到BootCamp文件夹然后运行setup.exe,装完即可.
- 父元素高度设置为min-height,子元素高度设置为100%,但实际上子元素高度你知道是多少吗?
前言 给父元素一个min-height,子元素设置height:100%. 代码 <!DOCTYPE html> <html> <head> <title&g ...
- jforum(1)--环境搭建
JForum 是采用Java开发的功能强大且稳定的论坛系统.它提供了抽象的接口.高效的论坛引擎以及易于使用的管理界面,同时具有完全的权限控制.多语言支持(包括中文).高性能.可自定义的用户接口.安全. ...
- CentOS配置防火墙操作实例
CentOS 配置防火墙操作实例(启.停.开.闭端口): 注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service iptables status<回 ...
- idea设置java内存
-Xms1024m -Xmx10240m -XX:MaxPermSize=512m 设置环境变量JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSi ...
- 第九节:JWT简介和以JS+WebApi为例基于JWT的安全校验
一. 简介 1. 背景 传统的基于Session的校验存在诸多问题,比如:Session过期.服务器开销过大.不能分布式部署.不适合前后端分离的项目. 传统的基于Token的校验需要存储Key-Val ...
- 第八节:Task的各类Task<TResult>返回值以及通用线程的异常处理方案。
一. Task的各种返回值-Task<TResult> PS: 在前面章节,我们介绍了Task类开启线程.线程等待.线程延续的方式,但我们并没有关注这些方式的返回值,其实他们都是有返回值的 ...
- mysql用户管理与备份
用户管理 我们知道在Mysql中root用户是最高权限的用户,其他用户的创建和权限授予都是通过root用户来操作的 查看用户 在root用户界面下 select user,host,password ...
- Regularity criteria for NSE 4: $\p_3u$
In [Zhang, Zujin. An improved regularity criterion for the Navier–Stokes equations in terms of one d ...
- [物理学与PDEs]第3章第5节 一维磁流体力学方程组 5.1 一维磁流体力学方程组
1. 当磁流体力学方程组中的量只依赖于 $t$ 及一个空间变量时, 该方程组称为一维的. 2. 一维磁流体力学方程组 $$\beex \bea \cfrac{\p H_2}{\p t}& ...