龙空技术网

跟我一起学Python之机器学习神经元激活函数实践

京小瓷 222

前言:

此刻我们对“python激活教程视频”都比较着重,朋友们都需要剖析一些“python激活教程视频”的相关资讯。那么小编同时在网上网罗了一些对于“python激活教程视频””的相关文章,希望同学们能喜欢,我们一起来了解一下吧!

激活函数在机器学习中扮演着重要的角色,是人工智能神经网络神经元上运行的函数,负责将神经元的输入映射到输出端。通俗地说,激活函数就像是一个“开关”,决定了一个神经元是否应该被“激活”或“触发”。

在神经网络中,每个神经元接收来自其他神经元的输入,并将这些输入加权求和。然后,这个加权和会被传递给激活函数,激活函数会根据这个值来决定神经元的输出。

激活函数的作用非常重要,因为它们引入了非线性特性,使得神经网络能够学习和理解非常复杂和非线性的函数。如果没有激活函数,神经网络就只能学习线性函数,这将大大限制它的能力。

以下是几种常见的激活函数及其作用:

Sigmoid激活函数:将输入值映射到0到1之间,通常用于输出层,表示概率或置信度。

ReLU激活函数:将输入值映射到0或正数,对于负数输入值为0,对于正数输入值保持不变。ReLU激活函数在隐藏层中广泛使用,因为它计算速度快且可以避免梯度消失问题。

Tanh激活函数:将输入值映射到-1到1之间,与Sigmoid类似,但tanh函数的输出范围是-1到1之间。tanh函数在训练深度神经网络时表现良好。

Softmax激活函数:将输入值映射到概率分布上,通常用于多分类问题的输出层。softmax函数可以将一组输入值转换为概率分布,使得所有输出值的和为1。

常见激活函数

这些激活函数各有特点,选择适合任务的激活函数是神经网络训练中非常重要的一步。不同的激活函数具有不同的性质,选择合适的激活函数可以提高网络的表达能力和泛化能力。以下是小编总结的一些选择适合任务的激活函数的建议:

1. 对于线性可分的数据,可以选择sigmoid函数或tanh函数。这些函数可以将输入值压缩到0~1之间(对于sigmoid函数)或-1~1之间(对于tanh函数),从而实现非线性映射。

2. 对于非线性可分的数据,可以选择ReLU函数。ReLU函数在输入为正时输出原值,在输入为负时输出0,可以实现快速的梯度传播和更强的表达能力。

3. 对于稀疏连接的情况,可以选择LeakyReLU函数。LeakyReLU函数在输入为负时输出一个非零值,可以避免出现“死亡神经元”的问题,并且对于小负值的权重更新较小,可以加速训练。

4. 对于存在大量负值的数据,可以选择tanh函数或ReLU函数。这些函数可以更好地处理负数数据,避免出现梯度消失的问题。

5. 对于存在大量噪声的数据,可以选择Softmax函数。Softmax函数可以将输入值映射到0~1之间的概率分布,适用于多分类任务和生成模型。

总之,选择适合任务的激活函数需要根据具体的任务和数据情况来确定。对于二分类问题,Sigmoid和tanh激活函数是常见的选择;对于多分类问题,Softmax激活函数通常更合适。

下面我们一起通过TensorFlow实现sigmoid激活函数,旨在通俗形象的理解TensorFlow框架sigmoid的工作流程和设计思想:

sigmoid激活函数

1)建立线性数学模型:

h (x)= W*x+b

W为权重n*m矩阵,x为样本数据m*n的矩阵,b为偏值1*n的向量;

2)构建非线性sigmoid数学模型:

sigmoid(x) = 1 / (1 + exp(-x))

3)通过tensorflow实现算法模型:

import tensorflow as tf

import numpy as np

session = tf.InteractiveSession()

#初始化变量

x=tf.placeholder(shape=[1,10],dtype=tf.float32,name='x')

W=tf.Variable(tf.random_uniform(shape=[10,5],minval=-0.1,maxval=0.1,dtype=tf.float32),name='W')

b=tf.Variable(tf.zeros(shape=[5],dtype=tf.float32),name='b')

#构建模型

h=tf.matmul(x,W)+b

y=tf.nn.sigmoid(h)

tf.global_variables_initializer().run()

#预测

y_eval=session.run(y,feed_dict={x: np.random.rand(1,10)})

print('y_eval:{}'.format(y_eval))

session.close()

标签: #python激活教程视频