神经网络 权重w 偏置b 激励函数 f = Σxw + b 上层网络→下层网络 m*n矩阵代表权重矩阵;偏置的数量和下层网络的神经元数量一致,为n; u = np.dot(x,w) + b 一般来说,输出层的神经元数量n个,则用n阶形式的独热编码格式数据来表示 几种激励函数: 1、阶跃函数 阶梯型函数,类似分段函数但是分段水平 def step_function(x): return np.where(x<=0,0,1) 2、sigmoid函数 在0-1间平滑变化 def sigmoid_function(x): return 1/(1+np.exp(-x)) 3、tanh函数(双曲正切函数) def tanh_function(x): return np.tanh(x) 4、ReLU函数(线性整流函数) def relu_function(x): return np.where(x<=0,0,x) 5、Leaky ReLU函数 对ReLU进行了改进,使其在负数区域增加了一个小的梯度,避免输出为0影响后续学习 def leaky_relu_function(x): return np.where(x<=0,0.01*x,x) 6、恒等函数 将输入直接作为输出返回;处理预测连续数值中存在的回归问题用 y = x 7、SoftMax函数 形式类似概率公式,可以将输出结果当做概率来解释 def softmax_function(x): return np.exp(x)/np.sum(np.exp(x)) 单一神经元实现:
import numpy as np
import matplotlib.pyplot as plt
X = np.arange(-1.0,1.0,0.2)
Y = np.arange(-1.0,1.0,0.2)
Z = np.zeros((10,10))
w_x = 2.5
#权重的影响是:对应的输入对结果影响的大小,在这里表示为神经元的兴奋状态依赖于x轴变化的程度
w_y = 3.0
bias = 0.1
#偏置的影响是:神经元是否易于产生兴奋,网格颜色的变化加速度
for i in range(10):
for j in range(10):
u = X[i]*w_x + Y[j]*w_y + bias
y = 1/(1+np.exp(-u))
Z[i][j] = y
plt.imshow(Z,"gray",vmin=0.0,vmax=1.0)
plt.colorbar()
plt.show()
https://zhuanlan.zhihu.com/p/96040773
标签:10,plt,1.0,偏置,神经网络,np,相关,神经元
From: https://www.cnblogs.com/bbnltxdy/p/17612948.html