人工智能中复合函数的作用(95.人工智能激活函数的作用与函数图像的绘制)
激活函数对输入信息进行非线性变换,然后将变换后的输出信息作为输入信息传给下一个神经元。
如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,最终的输出都是输入的线性组合。
激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数。
激活通常为非线性函数,可以增强神经网络的表示能力和学习能力。常用的激活函数有S型函数和ReLU函数。
Sigmoid 型函数是指一类S型曲线函数,为两端饱和函数。常用的 Sigmoid 型函数有 Logistic 函数和 Tanh 函数,其数学表达式为:
公式表达式
函数图像绘
import numpy as np
import matplotlib.pyplot as plt
#定义Logistic函数
def logistic(x):
return 1.0 / (1 np.exp(-x))
#定义Tanh函数
def tanh(x):
return np.tanh(x)
#定义ReLU函数
def relu(x):
return np.maximum(0, x)
#绘制函数图像
#调整坐标轴位置
def adjust_axis():
#隐藏xy坐标轴
plt.gca().spines['top'].set_visible(False)
plt.gca().spines['right'].set_visible(False)
#调整xy坐标轴位置
plt.gca().spines['left'].set_position(('data', 0))
plt.gca().spines['bottom'].set_position(('data', 0))
x = np.arange(-10, 10, 0.01)
plt.figure(figsize=(16, 8))
#划分子图,1行2列
plt.subplot(1, 2, 1)
adjust_axis()
plt.plot(x, logistic(x), label='logistic', color='red')
plt.plot(x, tanh(x), label='tanh', color='green')
plt.legend()
plt.xlabel('x')
plt.ylabel('f(x)')
plt.subplot(1, 2, 2)
adjust_axis()
plt.plot(x, relu(x), label='relu', color='blue')
plt.legend()
plt.xlabel('x')
plt.ylabel('f(x)')
plt.show()
函数图像
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com