浅层神经网络

1.激活函数

在神经网络中,激活函数有很多种,常用的有sigmoid()函数,tanh()函数,ReLu函数(修正单元函数),泄露ReLu(泄露修正单元函数)。它们的图形如下:

sigmoid()激活函数,范围是y属于{0, 1},所以0<= y <=1。但是sigmoid函数平均收敛是1,最后的效果可能不太好。

在这个基础上有了tanh激活函数。图形如下:

主要是把sigmoid函数平移得到的。但是这样会有了优化,最终的平均收敛值为0,训练效果更好。所以在实际中,一般是选用tanh代替sigmoid激活函数。

常用的还有ReLu激活函数图形如下。

ReLu激活函数的升级版是泄露ReLu激活函数,图形如下:

通过常用激活函数的对比,在实际中调参数的时候,还要结合交叉验证来选择最优的参数。

2.非线性激活函数

线性激活函数就是输入线性关系输出。一半输出层是线性激活函数。但是在隐藏层单元中如果要实现复杂的神经网络要用到非线性激活函数,所以不是简单的相加,相减等关系。

3.激活函数的导数

sigmoid函数的导数如下。通过图形和计算得知,sigmoid函数用在神经网络中,学习速度有最大值和收敛值,而且平均收敛值是1。 

tanh函数的导数如下。通过图形和计算得知,tanh函数通过sigmoid函数平移得到,虽然学习速度基本一样,但是最终的平均收敛值不一致,tanh是0,因此,最终的模型学习效果更好。 

ReLu函数的导数如下。通过图形和计算得知,ReLu函数的学习速度没有收敛值,不会随着输入特征的维度增大而减低,因此,在实际中,ReLu激活函数使用很广泛。 

4.随机初始化

随机初始化在神经网络中很重要,有时候如果初始化参数取不对,会造成没有学习效果,因此在初始化神经网络的参数时,需要通过计算来确定大概的初始化参数。有一个方法是随机初始化。

《Andrew Ng深度学习》笔记4的更多相关文章

  1. 《Netlogo多主体建模入门》笔记8

    8 -GINI系数计算与 如何使用行为空间做实验     首先,我们加入保底机制. 对于每一个agent,都有一个随机的保底比例 s(每个agent的 s 不都一样,且s初始化之后不会改变) 进行交易 ...

  2. 《Netlogo多主体建模入门》笔记 2

    从自带的模型库开始     财富分配模型 黄色代表稻谷,有的人消化快,有的慢,稻谷的积累代表财富的积累,不涉及交易行为.   点击setup后 ,点击 go   红线--穷人: 绿线-- 中产 : 蓝 ...

  3. 《Netlogo多主体建模入门》笔记4

    4- 从Langton的蚂蚁看Turtle与Patch的交互   这只蚂蚁从10000步开始,就会自发地 “建桥”     Turtle与Patch就好比是,一个方块和一个格子的关系. 一个格子上可以 ...

  4. 《Netlogo多主体建模入门》笔记3

    3- 用“生命游戏”认识Patch     代码:   patches-own[living] to setup clear-all ask patches [ < 0.3[ set pcolo ...

  5. 每天成长一点---WEB前端学习入门笔记

    WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...

  6. ES6入门笔记

    ES6入门笔记 02 Let&Const.md 增加了块级作用域. 常量 避免了变量提升 03 变量的解构赋值.md var [a, b, c] = [1, 2, 3]; var [[a,d] ...

  7. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  8. React.js入门笔记

    # React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...

  9. redis入门笔记(2)

    redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...

  10. redis入门笔记(1)

    redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...

随机推荐

  1. 解决Axis2在webservice中遇到特殊字符的无法传输的缺陷(<CDATA>数据类型)

    在使用Axis2进行soa webservice开发时,遇到类似以下的错误信息: com.ctc.wstx.sw.BaseStreamWriter.writeCharacters(BaseStream ...

  2. DLL卸载

    [DLL卸载] 1.扫描Module.通过CreateToohelp32Snapshot.Module32First.Module32Next来完成. 2.通过FreeLibrary来卸载.通过在ke ...

  3. opennebula image单个实例响应数据格式

    { ", ", ", "TEMPLATE": { "DEV_PREFIX": "hd", " }, ...

  4. xamarin.droid自己的示例工程有些都装不上模拟器,是因为它的architectures选项没设对

    也许是版本更迭导致的,有些老工程的architectures不对,如果x86不勾的话,是不能在genymotion的模拟器上跑的.

  5. python日期,时间函数

    获取当前格式化时间: now_time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) 获取当前时间戳: now_tim ...

  6. 用CSS3.0画圆

    CSS3.0中有一个border-radius属性,这个属性允许向 div 元素添加圆角边框,也就是div边角不再一直是直角,在CSS3.0中可以做成圆角了,所以我们可以用这个属性用div画一个圆,或 ...

  7. ESP8266文档阅读ESP8266 SDK 入门指南

    ESP8266 SDK  入门指南 1.概述 1.2.ESP8266 HDK 1.3.ESP8266 SDK 1.4.ESP8266 FW 1.5.ESP8266 工具集 2.1.开发板方案 3.软件 ...

  8. Which Uri Encoding method should i use in C#/.net?

    June 19, 2015 This too is one of the boring "factual" posts. Sorry Lachlan. I never know w ...

  9. 在使用webstorm打开本地项目文件夹的html文件时,浏览器提示404错误

    错误原因:在使用webstorm打开本地项目文件夹的html文件时,浏览器提示404错误. 错误分析:文件夹命名内包含“+”,此特殊符号导致浏览器解析错误. 改正方案:去掉特殊符号“+”

  10. bzoj 3224/Tyvj 1728 普通平衡树(splay)

    Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数 ...