可执行源码:https://download.csdn.net/download/haoyutiangang/10369625
Part 1: Python 基础工具包 Numpy
1 用numpy实现基本方法
1.1 sigmoid 方法 与 np.exp()
利用 np.exp() 方法实现sigmoid方法
s i g m o i d ( t ) = 1 1 + e − t − − − − − − − − − − − − − − − − − − − − − − − − − − − − s = 1 1 + e − t s ′ = s ( 1 − s ) sigmoid(t) = \frac{1}{1+e^{-t}} \\ ---------------------------- \\ s = \frac{1}{1+e^{-t}} \\ s' = s(1-s) sigmoid(t)=1+e−t1−−−−−−−−−−−−−−−−−−−−−−−−−−−−s=1+e−t1s′=s(1−s)
math.exp(x) : x为一个值
import math
import numpy as np
def basic_sigmoid(x):
s = 1.0 / (1 + 1/ math.exp(x))
return s
np.exp(X) : X 为一个向量或矩阵
import numpy as np
def sigmoid(x):
s = 1.0 / (1 + 1 / np.exp(x))
return s
补充:声明数组和向量
定义数组:x = np.array([1, 2, 3])
定义向量:x = [1, 2, 3]
1.2 sigmoid 函数的导数
s i g m o i d _ d e r i v a t i v e ( x ) = f ′ ( x ) = f ( x ) ( 1 − f ( x ) ) sigmoid\_derivative(x) = f'(x) = f(x)(1-f(x)) sigmoid_derivative(x)=f′(x)=f(x)(1−f(x))
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ sigmoid'(t) &=…
def sigmoid_derivative(x):
s = 1.0 / (1 + 1 / np.exp(x))
ds = s * (1 - s)
return ds
1.3 Reshape 数组
- 获取向量或矩阵的维度:X.shape()
- 构造其它维度的向量或矩阵:X.reshape()
Reshape X from 3D array to 1D vector
v = image.reshape((image.shape[0] * image.shape[1] * image.shape[2], 1))
参数中的运算符 * 为拼接只用
def image2vector(image):
v = image.reshape((image.shape[0