本文是Deep Learning Specialization系列课程的第1课《Neural Networks and Deep Learning》中Python Basics with NumPy练习的学习笔记。
Numpy是科学计算中最重要的Python库,之前也写过一篇关于NumPy的文章NumPy学习记录 part1。这里主要是学习一下深度学习中会使用到的NumPy函数,比如np.exp
, np.log
, 和np.reshape
等,并通过这些函数来把上节课02 神经网络 - 神经网络和深度学习 [Deep Learning Specialization系列]的一些基础知识做一个简单的实现。
1. sigmoid函数
sigmoid函数是深度学习中常用的一个非线性的激活函数,其方程式为:
s i g m o i d ( x ) = 1 1 + e − x sigmoid(x) = {1 \over {1 + e^{-x}}} sigmoid(x)=1+e−x1
这里的代码实现需要用到NumPy的np.exp()
函数:
import numpy as np
def sigmoid(x):
s = 1 / (1 + np.exp(-x)
return s
sigmoid函数的梯度
通过计算图的反向传播可以求得sigmoid函数关于输入x的梯度(导数)为: ∂ ∂ x σ ( x ) = σ ( x ) ( 1 − σ ( x ) ) {\partial \over\partial x}\sigma(x) = \sigma (x) (1 - \sigma(x)) ∂x∂</