1、感知机

image.png
(有两个输入的感知机)

Neural-Network-1 - 图2

2、从感知机到神经网络

image.png
(神经网络简单图例)

2.1 激活函数 — 阶跃函数(单层感知机)

Neural-Network-1 - 图4

  1. def step_function(x):
  2. if x > 0:
  3. return 1
  4. else:
  5. return 0

image.png

  1. (阶跃函数图形)

2.2 激活函数 — sigmod函数

一般用于逻辑回归中

Neural-Network-1 - 图6

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

image.png
(sigmoid函数图形)

2.3 激活函数 — ReLU函数

一般用于线性回归中

Neural-Network-1 - 图8

  1. import numpy as np
  2. def relu(x):
  3. return np.maximum(0, x)

image.png

  1. (ReLU函数图形)

2.4 激活函数 — 恒等函数

输入和输出完全一致

2.5 激活函数 — softmax函数

Neural-Network-1 - 图10

函数特征:输出值是在0~1之间的实数,且输出值的总和是1。

  1. import numpy as np
  2. def softmax(a):
  3. # 此刻的c是为了防止指数过大导致溢出
  4. c = np.max(a)
  5. exp_a = np.exp(a - c)
  6. sum_exp_a = np.exp(exp_a)
  7. y = exp_a / sum_exp_a
  8. return y

3、输出层激活函数的选择

在神经网络中,一般设计到的是分类和回归问题,此时需要我们根据不同的情况选择不同的激活函数。一般来说回归问题选择恒等函数,分类问题选择softmax函数