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

news/2024/12/31 7:32:35/

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


                                                 第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)


http://www.ppmy.cn/news/93492.html

相关文章

数据结构初阶--栈和队列OJ题

目录 前言有效的括号思路分析代码实现 用队列实现栈思路分析代码实现 用栈实现队列思路分析代码实现 设计循环队列思路分析代码实现 前言 本篇文章将对部分栈和队列综合运用题进行讲解,以对栈和队列有一个更深层次的理解。 有效的括号 先来看题 思路分析 这里…

Linux服务器安装MYSQL

安装MYSQL 涉及到的工具及软件连接 链接:https://pan.baidu.com/s/1r577kFeuojUrMoEUn88B8w 提取码:xh93 查看是否已经安装了mariadb 检查linux是否安装了mariadb数据库,mariadb数据库是mysql的分支。是免费开源的。mariadb和msyql会有冲突…

C/C++ 数据结构设计与应用(一): 数据结构的选择与应用 (Data Structure Selection and Application)

C/C 数据结构的选择与应用 C/C 数据结构设计与应用:自定义数据结构的设计 (Design of Custom Data Structures)一 、选择合适的数据结构 (Choosing the Right Data Structure)二 、 数据结构在编程中的应用 (Data Structure Application in Programming)2.1 数据的存…

每日三问-前端(第十期)

2023年5月26日 先来回顾一下昨天的面试题及答案: 当然,请见以下三个前端常见的问题: 1. 问题:什么是 AJAX?它在前端开发中有什么作用? 解答: AJAX(Asynchronous JavaScript and XML&…

ESG成全球风潮,联想造了一个可持续的“进托邦”

不得不承认,全球经济前景仍然存在较大的不确定和挑战。全球经济疲软、地缘政治逆风、行业竞争加剧等多重压力让很多人都感受到了寒意。 在可预见的未来,我们将继续在一个复杂多变的全球环境中运营。 因此,著名的科技思想家凯文凯利提出&#…

git如何清除已提交的内容?

Git 提供了多种方式来清除已提交的内容,但这通常需要对 Git 有一定的理解,并且清除已提交的内容可能会对你的仓库和其他协作者产生影响。所以在清除已提交的内容之前,请一定要谨慎。 使用 git reset 命令。这个命令会将 HEAD 指针移动到指定的…

为什么一个矩阵乘以一个满秩矩阵后秩不变

A为N阶方阵&#xff0c;r(A) p &#xff0c;其中p< n. B为N阶方阵&#xff0c;r(B)n. 证明: r(AB) p. 定理1&#xff1a;矩阵B可逆&#xff0c;则存在有限个初等矩阵 P 1 , P 2 , P 3 . . . P n P_1,P_2,P_3...P_n P1​,P2​,P3​...Pn​,使得 A P 1 P 2 . . . . P n AP_…

Oracle11G安装说明

Oracle11G安装说明 一、序二、安装安装依赖包基础环境配置安装Oracle 三、配置Oracle 一、序 Oracle和MySQL语法区别&#xff1a;https://blog.csdn.net/lanmuhhh2015/article/details/97763615 Oracle创建用户、角色、授权、建表&#xff1a;https://www.cnblogs.com/roger1…