第三章神经网络——基于numpy的代码详解

本专栏是书《深度学习入门》的阅读笔记一共八章:

第一章深度学习中的Python基础。主要讲解了深度学习将要用到的python的基础知识以及简单介绍了numpy库和matpoltlib库,本书编写深度学习神经网络代码仅使用Python和numpy库,不使用目前流行的各种深度学习框架,适合入门新手学习理论知识。

第二章感知机。主要介绍了神经网络和深度学习的基本单元感知机。感知机接收多个输入,产生一个输出,单层感知器可以实现与门,或门以及与非门,但是不能实现异或门,异或门的实现需要借助多层感知机,这也就是说,单层感知机只能表示线性空间,而非线性空间的表示需要借助多层感知机。

第三章神经网络

    上一章我们知道了,多层感知机理论上可以表示任何函数,甚至可以实现复杂的计算机,但是,截止目前为止,确定感知机的权重和偏置都是由人工计算得到的,对于多层感知机,人工确定权重和偏置的方法未免也太太太麻烦了,所以,神经网络的作用就是能够让网络自身进行学习权重和偏置,遗憾的是本章不打算介绍神经网络的学习算法,本章主要介绍神经网络的结构,神经网络的学习算法由下一章给出。

3.1激活函数

    感知机与神经网络的区别就在于激活函数,可以说,感知机就是激活函数选用了阶跃函数的神经网络,除了激活函数,其他方面比如神经元的多层连接的构造、信号的传递方法等感知机和神经网络都大致相同。

3.1.1阶跃函数

    用Python实现阶跃函数的代码为:

import numpy as np
def step_function(x):
    y=x>0#对输入的np数组进行不等式运算,得到y是一个布尔型数组
    return y.astype(np.int)#将布尔型数组y转换成int型数组,其中Ture转换为1
    #astype()函数通过参数指定期望的类型

函数图像: 

3.1.2sigmoid函数

sigmoid函数的数学表达式为:h(x)=\frac{1}{1+e^{-x}}

用Python编写sigmoid函数的代码为:

import numpy as np
def sigmoid(x):
    return 1/(1+np.exp(-x))

因为numpy具有广播的作用,所以可以直接输入numpy数组x并产生一个和x同样维度的数组。

函数图像 

3.1.3ReLU函数

ReLU函数的数学表达式为:

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值