python实现神经网络之---构建神经元模型1(python3.7)

 本文主要要以周志华的机器学习书为蓝本编写


                                                 第5章神经网络

5.1python 实现神经元模型

神经网络中最基本的成分是神经元 (neuro且)模型,如下图所示:

1943 年, [McCulloch and Pitts, 1943] 将上述情形抽象为国 5.1所示的简单模型,这就是一直沿用至今的 "M-P 神经元模型 "。在这个模型中,神经元接收到来自n个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接(connection)进行传递,神经元接收到的总输入值将与神经元的阀值进行比较,然后通过"激活函数" (activation function) 处理以产生神经元的输出。

理想中的激活函数是图5.2(a)所示的阶跃函数,它将输入值映射为输出值"0"或"1",显然 "1" 对应于神经元兴奋,"0"对应于神经元抑制。然而,阶跃函数具有不连续、不光滑等不太好的性质,因此实际常用Sigmoid函数作为激活函数典型的Sigmoid函数如图5.2(b) 所示,它把可能在较大范围内变化的输入值挤压到 (0,1) 输出值范围内,因此有时也称为 "挤压函数" (squashiing function)。

把许多个这样的神经元按-定的层次结构连接起来,就得到了神经网络.事实上,从计算机科学的角度看,我们可以先不考虑神经网络是否真的模拟了生物神经网络,只需将一个神经网络视为包含了许多参数的数学模型,这个模型是若干个函数,例如y_i=f(\sum\nolimits_i w_i x_i - \theta _j)的相互(嵌套)代入而得.有效的神经网络学习算法大多以数学证明为支撑。

5.1.1 Python实现Sigmoid函数

数据集如下:

计算神经元输出的方程:y=f(\sum_{i=1}^nw_ix_i-\theta )

训练集输入方式:training_set_inputs = array([[0, 0, 1], [1, 1, 1], [1, 0, 1], [0, 1, 1]])

训练集的输出方式:training_set_outputs = array([[0, 1, 1, 0]]).T

定Sigmoid函数:

import math
#导入math模块,然后使用math静态对象调用幂函数。
def Sigmoid(x):#定义函数
    y = 1 / (1 + math.exp(-x))
    print(y)

Sigmoid(5)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leihengxin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值