深度学习(python)——神经网络(Artificial Neural Networks)激活函数代码

目录

1.概述

2.激活函数

(1)基本概念

 (2)sigmoid函数(常用)

 代码(sigmoid)

 (3)阶跃函数

 代码(阶跃函数)

(4)ReLU函数(目前常用)

 代码(ReLU函数)


1.概述

        在感知机中,权重w是由人工输入的,而神经网络可以自动地从数据中学习到合适的权重参数。可以理解为,神经网络从数据中抓取数据的特征而得到权重,最后由权重来识别陌生数据。

神经网络结构图如下:

 上图为3层神经网络,是最为简单的神经网络结构,其中中间层,有时我们也称作“隐藏层”。与感知机类似,在神经网络中我们输入数据样本作为输入信号,再通过隐藏层获取数据的特征计算得到权重,最后在输出层得到需要的输出结果。

2.激活函数

(1)基本概念

首先我们先来看一下感知机的公式:

将感知机的公式简化为   y=h(b+w 1x1+w2x2)

其中h(x):

由此可以得到 

a=b+w1x1+w2x2

y=h(a)

其中h(a)就是激活函数。其结构如下:

 (2)sigmoid函数(常用)

公式:

 其中exp(-x)表示e的-x平方。(这个公式不用记,只是一种计算方法)

代码(sigmoid):

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

 (3)阶跃函数

阶跃函数和sigmoid函数都是非线性函数,但是与sigmoid不一样的是,sigmoid函数是一条平滑的曲线,而阶跃函数则是急剧下降或上升的曲线。

其函数曲线比较如下:

 代码(阶跃函数)

def step_function(x):
    y = x > 0
    return y.astype(np.int)

(4)ReLU函数(目前常用)

目前使用较多的是ReLU函数,其公式如下:

代码(ReLU函数):

def relu(x):
    return np.maximum(0, x)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值