与门(AND gate) 的Python 实现

使用Python 定义一个感知机,处理与门(AND gate)问题。

形式一(带有权重形式):

y={0(w1x1+w2x2⩽θ)1(w1x1+w2x2>θ)y=\begin{cases} \begin{matrix} 0& \left( w_1x_1+w_2x_2\leqslant \theta \right)\\ \end{matrix}\\ \begin{matrix} 1& \left( w_1x_1+w_2x_2>\theta \right)\\ \end{matrix}\\ \end{cases} y={0​(w1​x1​+w2​x2​⩽θ)​1​(w1​x1​+w2​x2​>θ)​​

定义一个接收 两个参数 的 AND 函数。

def AND(x_1,x_2):w_1,w_2,theta=0.5,0.5,0.7tmp=x_1*w_1+x_2*w_2if tmp<=theta:return 0elif tmp>theta:return 1

输入数据,检验结果:

import numpy as np
x_1=np.array([0,1,0,1])
x_2=np.array([0,0,1,1])for i in range(len(x_1)):Name="AND("+str(x_1[i])+","+str(x_2[i])+"):"Tmp=AND(x_1[i],x_2[i])print(Name,str(Tmp))# 运行结果如下:
"""
AND(0,0): 0
AND(1,0): 0
AND(0,1): 0
AND(1,1): 1
"""

形式二(带有权重及偏置形式):

将 参数 θ\thetaθ 修改为 −b-b−b 即另一种常用形式:

y={0(b+w1x1+w2x2⩽0)1(b+w1x1+w2x2>0)y=\begin{cases} \begin{matrix} 0& \left( b+w_1x_1+w_2x_2\leqslant 0 \right)\\ \end{matrix}\\ \begin{matrix} 1& \left( b+w_1x_1+w_2x_2>0 \right)\\ \end{matrix}\\ \end{cases} y={0​(b+w1​x1​+w2​x2​⩽0)​1​(b+w1​x1​+w2​x2​>0)​​

使用 权重和偏置形式 重新定义 AND函数:

import numpy as np def AND(x_1,x_2):w=np.array([0.5,0.5])b=-0.7tmp=np.sum(w*x)+bif tmp<=0:return 0elif tmp>0:return 1

输入数据,验证结果:

x=np.array([[0,0],[0,1],[1,0],[1,1]])
for i in range(len(x)):Name="AND("+str(x[i,0])+","+str(x[i,1])+")"Value=AND(x[i,0],x[i,1])print(Name,str(Value))# 运行结果如下:
"""
AND(0,0) 1
AND(0,1) 1
AND(1,0) 1
AND(1,1) 1
"""

参考:

  • 《深度学习入门:基于Python的理论与实现》;

与门的Python实现相关推荐

  1. Python实现感知器的逻辑电路(与门、与非门、或门、异或门)

    在神经网络入门回顾(感知器.多层感知器)中整理了关于感知器和多层感知器的理论,这里实现关于与门.与非门.或门.异或门的代码,以便对感知器有更好的感觉. 此外,我们使用 pytest 框架进行测试. p ...

  2. 单层感知机实现与门,或门,与非门双层感知机实现异或门(python)

    感知机perceptron算法是Frank Rosenblatt于1957年提出,它是神经网络和深度学习的起源算法. 感知机接受多个信号,输出一个信号,具体更多原理,请参见这篇博文 本文用python ...

  3. 使用python来实现逻辑电路(与门、与非门、或门)

    使用python来实现逻辑电路 与门 与非门 或门 与门 感知机: 感知机就是接受多个信号,然后输出一个信号,而且信号只有"流/不流"(1/0)两种情况,其中的1也就是传递信号,0 ...

  4. 贝叶斯与门特卡洛采样python库

    转载地址:http://hao.jobbole.com/pymc/ PyMC是一个实现贝叶斯统计模型和马尔科夫链蒙塔卡洛采样工具拟合算法的Python库.PyMC的灵活性及可扩展性使得它能够适用于解决 ...

  5. 计算机专业有python课程吗-作为计算机专业学生,最应该学习的课程前五位是什么?...

    先列一下我心目中的TOP5:数学课(线性代数,概率统计,离散数学,高等数学/数学分析) 算法和数据结构 可计算理论 组成原理和体系结构 操作系统 另外,这个问题其实意义不大,因为如果你想成为一个基础扎 ...

  6. python 列表 换行_python基础语法学习——参考Python Crash Course

    第一章:python在各个系统之间的安装和使用(略) 第二章: 变量 2.1.每个变量都存储了一个值 --与变量相关联的信息.在程序中可随时修改变量的值,而 Python将始终记录变量的最新值. 2. ...

  7. 符号 RUNOOB python练习题 51

    用来练手的python练习题,原题链接: python练习实例51 python中的 & 和 | 使用过程中,变量类型不同,这两个符号的作用也不同. 1. 对于数字变量,&\& ...

  8. python入门指南_Python中的逻辑门–入门指南

    python入门指南 This article comprehensively covers the different logic gates in Python. Logic gates are ...

  9. python 数据结构与算法分析 逻辑门半加器与全加器实现

    该书是北大数据结构与算法python版课程教材,视频b站上有,第一章课后练习有逻辑门电路实现. 在数字电路中,所谓"门"就是只能实现基本逻辑关系的电路.最基本的逻辑关系是与.或.非 ...

最新文章

  1. Jenkins报错‘Gradle build daemon disappeared unexpectedly‘的问题解决
  2. UML大战需求分析阅读笔记——02
  3. Exception在方法继承中的限制
  4. 霍夫码编码(一种不等长,非前缀编码方式)
  5. ECCV 2020 论文大盘点-视频目标检测篇
  6. OSI 七层网络协议的定义与理解
  7. 无外网环境下CentOS 7安装MySQL 5.7.18
  8. 介绍几款在线编程工具(Python)
  9. 深圳租房你必须知道的问题有哪些?
  10. coreldraw怎么画猴子_小猴子的画法
  11. layui数据表格自带的排序功能
  12. /lib//libclntsh.so: file format not recognized; treating as linker script
  13. jmap常用命令以及dump文件查看
  14. 小程序画布功能+JAVA用KUMO生成词云图片
  15. uboot中ftd命令
  16. 区块链如何支持元宇宙经济?
  17. 网络安全工具使用集锦手册
  18. 真因数之和编程matlab,真因数
  19. c++用递归方法求n阶勒让德多项式的值,递归公式为:
  20. 如何用C++写一个网站

热门文章

  1. hashmap hash冲突怎么解决_10个HashMap问题搞定面试官
  2. 程序员的节日1024
  3. 读书笔记:《流畅的Python》第17章 使用future处理并发
  4. 事业单位计算机面试基础知识,求事业单位面试题目(计算机岗位)
  5. proto3字段值为空时被忽略问题
  6. 记录一次最坑的微信会员卡 跳转型开发时的bug errcode72011
  7. (一)性能测试(压力测试、负载测试)、
  8. Java培训完能不能就业?
  9. YOLSO: You Only Look Small Object
  10. 真我之旅 梦想之颠 到南极之序