当前位置:
首页 >
玩玩机器学习4——TensorFlow基础之激活函数
发布时间:2025/3/11
27
豆豆
生活随笔
收集整理的这篇文章主要介绍了
玩玩机器学习4——TensorFlow基础之激活函数
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
激活函数(activation function)运行时激活神经网络中某一部分神经元,将激活信息向后传入下一层的神经网络。神经网络之所以能解决非线性问题(如语音、图像识别),本质上就是激活函数加入了非线性因素,弥补了线性模型的表达力,把“激活的神经元的特征”通过函数保留并映射到下一层。
因为神经网络的数学基础是处处可微的,所以选取的激活函数要能保证数据输入与输出也是可微的。那么激活函数在 TensorFlow 中是如何表达的呢?激活函数不会更改输入数据的维度,也就是输入和输出的维度是相同的。TensorFlow 中有如下激活函数,它们定义在 tensorflow-1.1.0/tensorflow/python/ops/nn.py 文件中,这里包括平滑非线性的激活函数,如 sigmoid、tanh、elu、softplus 和 softsign,也包括连续但不是处处可微的函数 relu、relu6、crelu 和 relu_x,以及随机正则化函数 dropout
#4,激活函数的使用 import numpy as np import matplotlib.pyplot as plt import tensorflow as tf# fake data x = np.linspace(-5, 5, 200) #产生-5至5之间200个点 y_relu = tf.nn.relu(x)#定义relu激活函数,输入数据点 y_sigmoid = tf.nn.sigmoid(x)#定义sigmod激活函数,输入数据点 y_tanh = tf.nn.tanh(x)#定义tanh激活函数,输入数据点 y_softplus = tf.nn.softplus(x)#定义softplus,输入数据点 sess = tf.Session()#创建session y_relu, y_sigmoid, y_tanh, y_softplus = sess.run([y_relu, y_sigmoid, y_tanh, y_softplus])#生成激活函数#绘制relu的图像 plt.figure(1, figsize=(8, 6)) plt.subplot(221) plt.plot(x, y_relu, c='red', label='relu') plt.ylim((-1, 5)) plt.legend(loc='best')#绘制sigmoid的图像 plt.subplot(222) plt.plot(x, y_sigmoid, c='red', label='sigmoid') plt.ylim((-0.2, 1.2)) plt.legend(loc='best')#绘制tanh的图像 plt.subplot(223) plt.plot(x, y_tanh, c='red', label='tanh') plt.ylim((-1.2, 1.2)) plt.legend(loc='best')#绘制softplus的图像 plt.subplot(224) plt.plot(x, y_softplus, c='red', label='softplus') plt.ylim((-0.2, 6)) plt.legend(loc='best')plt.show()
输出结果:
总结
以上是生活随笔为你收集整理的玩玩机器学习4——TensorFlow基础之激活函数的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 使用 Packer、Ansible 和
- 下一篇: java数组怎么倒循环_java – 用