逻辑函数的神经网络实现

1.单层感知器实现基本逻辑函数

 先给大家抛出一道例题

(一)种类 

a.OR函数

目标:当至少一个输入为1时,输出1;否则输出0。

权重设置

输入权重:所有 wi=1(i=1,2,...,m)。

偏置:w0=n-0.5。(n为负文字数量) 

b.AND函数

目标: 当所有输入为1时,输出1,否则输出0。

权重设置:

输入权重:所有wi=1。

偏置:w0=0.5-n。

c.NOT函数

目标:输入1,输出0,输入0,输出1。

权重设置:

输入权重:w=-1。

偏置:w0=0.5。

数学原理:

s=0.5−x,当 x=1 时 s=−0.5<0,输出0;x=0 时 s=0.5>0,输出1。

d.NAND(与非)函数

目标:当所有输入为1时输出为0,否则输出1。

权重设置:

输入权重:w1=-1,w2=-1。

偏置:w0=1.5。

e.NOR(或非)函数 

目标:当任一输入为1时输出0,否则输出1。

权重设置:

输入权重:w1=-1,w2=-1。

偏置:w0=0.5。

f.imply(蕴含)函数 

(二)单层感知器的局限性

 

2.两层神经网络实现复杂逻辑(CNF) 

我们现在利用上述知识来看一下例题:(A∨B)∧(¬B∨C∨¬D)∧(D∨¬E)

步骤一:分解为析取项(OR项)

每个析取项对应一个隐藏层节点:

  1. 第一隐藏节点:A∨BA∨B

  2. 第二隐藏节点:¬B∨C∨¬D¬B∨C∨¬D

  3. 第三隐藏节点:D∨¬ED∨¬E

步骤二:设置隐藏层权重与偏置

  • 输入权重

    • 正文字(如A, C, D):权重 +1。

    • 负文字(如¬B, ¬D, ¬E):权重 -1。

  • 偏置:w0=k−0.5,其中 k 是当前析取项中负文字的数量。

简单举个例子:

同理对其他两个进行表达,可分别得出,并将三者进行合并。

 

步骤三:输出层实现合取(AND项) 

  • 输入权重:所有隐藏节点到输出的权重为1。

  • 偏置:w0=0.5−m,其中 m 是隐藏节点数(本例中 m=3)。

    • 偏置 w0=0.5−3=−2.5。

  • 数学原理

    • 输出层加权和 s=−2.5+h1+h2+h3s=−2.5+h1​+h2​+h3​。

    • 仅当所有隐藏节点输出1时,s=−2.5+3=0.5>0s=−2.5+3=0.5>0,最终输出1。

所以,最后的神经网络长这样

3.异或(XOR)网络实现 

已知单层神经网络是无法解决非线性可分问题(例如XOR),我们只能引入多层神经网络来进行表达。大家先来看一道例题。

网络结构

  • 输入层:两个节点 x1​ 和 x2。

  • 隐藏层:两个节点,分别计算以下两个中间逻辑函数:

    1. 节点 h1​:计算 x1∧x2​(AND)。

    2. 节点 h2​:计算 x1∨x2(OR)。

  • 输出层:一个节点,计算 NOR(h1,h2)。

  • 关键逻辑

    • 当 h1=1(即 x1=x2=1),输出被抑制为0。

    • 当 h2=1(即至少一个输入为1),输出也被抑制为0。

    • 唯一输出1的情况是 h1=0 且 h2=0,即 x1=x2=0。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/70481.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SF-HCI-SAP问题收集1

最近在做HCI的集成&#xff0c;是S4的环境&#xff0c;发现很多东西都跑不通&#xff0c;今天开始收集一下错误点 如果下图冲从0001变成0010&#xff0c;sfiom_rprq_osi表就会存数据&#xff0c;系统检查到此表就会报错&#xff0c;这个选项的作用就是自定义信息类型也能更新&a…

(面试经典问题之分布式锁)分布式锁的基本原理、作用以及实现

一、什么是分布式锁 分布式锁指的是在分布式场景中实现互斥类型的锁。 分布式是什么意思&#xff1f;分布式表示运行的节点可能在不同的机器或不同的网段中&#xff0c;节点间通信通过socket。互斥类型是什么意思&#xff1f;互斥类型表示同一时刻只允许一个执行体进入临界资…

机械硬盘与固态硬盘的区别-机械硬盘的未来在哪里?

随着近年来固态硬盘的技术成熟和成本的下探&#xff0c;固态硬盘&#xff08;SSD&#xff09;俨然有要取代传统机械硬盘&#xff08;HDD&#xff09;的趋势&#xff0c;但目前单位容量下机械硬盘每GB价格相比闪存还有5-7倍的优势&#xff0c;那么机械硬盘是否已经发展到极限&am…

06排序 + 查找(D1_排序(D1_基础学习))

目录 学习预热&#xff1a;基础知识 一、什么是排序 二、为什么要排序 三、排序的稳定性 四、排序稳定性的意义 五、排序分类方式 方式一&#xff1a;内外分类 方式二&#xff1a;比较分类 六、排序算法性能评估 1. 算法的时间复杂度 2. 算法的空间复杂度 七、知识小…

简讯:Rust 2024 edition and v1.85.0 已发布

详见 https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html 升级方法&#xff1a;rustup update stable

Python 错误和异常处理

目录 try-except块 例子&#xff1a; 输出&#xff1a; 捕获多种异常 例子&#xff1a; else和finally 例子&#xff1a; 输出&#xff1a; 自定义异常 例子&#xff1a; 输出&#xff1a; 好的&#xff0c;简单来说&#xff0c;错误和异常处理是编程中用来处理程序…

Linux系统使用Docker部署Geoserver并做数据挂载进行地图服务的发布和游览

文章目录 1、前提环境2、拉取geoserver镜像3、创建数据挂载目录4、 运行容器5、 测试使用&#xff08;发布shp数据为服务&#xff09;5.1、创建工作区5.2、添加数据存储5.3、发布图层5.4、服务游览 1、前提环境 部署环境&#xff1a;Linux&#xff0c;Centos7 &#xff0c;Doc…

Innovus中快速获取timing path逻辑深度的golden脚本

在实际项目中我们经常会遇到一条timing path级数特别多&#xff0c;可能是一两页都翻不完。此时&#xff0c;我们大都需要手工去数这条path上到底有哪些是设计本身的逻辑&#xff0c;哪些是PR工具插入的buffer和inverter。 数字IC后端手把手培训教程 | Clock Gating相关clock …

Python爬虫实战:从零到一构建数据采集系统

文章目录 前言一、准备工作1.1 环境配置1.2 选择目标网站 二、爬虫实现步骤2.1 获取网页内容2.2 解析HTML2.3 数据保存 三、完整代码示例四、优化与扩展4.1 反爬应对策略4.2 动态页面处理4.3 数据可视化扩展 五、注意事项六、总结互动环节 前言 在大数据时代&#xff0c;数据采…

SpringBoot中实现限流和熔断功能

我们将使用Java的ScheduledExecutorService来实现一个简单的令牌桶算法(Token Bucket Algorithm),并结合一个自定义的服务类来处理第三方API调用。 1. 创建限流器 首先,创建一个简单的限流器类: import java.util.concurrent.*;public class SimpleRateLimiter {

如何使用Python快速开发一个带管理系统界面的网站-解析方案

如果你想用 Python 开发一个 管理系统界面 的网站&#xff0c;并且希望界面美观&#xff0c;可以考虑以下几个框架和库&#xff1a; 1. Streamlit&#xff08;快速、简洁&#xff09; 适合&#xff1a;数据分析、仪表盘、内部管理系统特点&#xff1a; 写法简单&#xff0c;类…

Git常见命令--助力开发

git常见命令&#xff1a; 创建初始化仓库&#xff1a; git 将文件提交到暂存区 git add 文件名 将文件提交到工作区 git commit -m "注释&#xff08;例如这是发行的版本1&#xff09;" 文件名 查看状态 如果暂存区没有文件被提交显示&#xff1a; $ git status On…

Java 前后端时间格式转换

在 Web 开发里&#xff0c;时间格式处理既常见又关键。由于前端和后端对时间的表示、处理方式存在差异&#xff0c;熟练掌握时间格式的转换方法就显得尤为重要。这篇文章会深入探讨 Java 前后端时间格式转换的相关知识&#xff0c;特别是 Java 时间转换的多种方式&#xff0c;其…

MySQL要点总结一

大纲 一.InnoDB的内存结构和更新机制 二.InnoDB的存储模型 三.并发事务原理 四.索引原理和索引优化 一.InnoDB的内存模型 1.SQL的执行流程 2.InnoDB的内存模型 3.Buffer Pool中的空闲缓存页与free链表 4.Buffer Pool中的脏页和flush链表 5.Buffer Pool通过LRU链表来淘…

常用网络工具分析(ping,tcpdump等)

写在前面 本文看下常用网络工具。 1&#xff1a;ping 1.1&#xff1a;用途 用于检验网络的连通性。 1.2&#xff1a;实战 在Linux环境中执行&#xff1a;ping www.sina.com.cn&#xff1a; [rootlocalhost ~]# ping www.sina.com.cn PING spool.grid.sinaedge.com (111.…

基于Flask的第七次人口普查数据分析系统的设计与实现

【Flask】基于Flask的第七次人口普查数据分析系统的设计与实现&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 基于Flask的人口普查可视化分析系统 二、项目界面展示 登录/注册 首页/详情 …

11.Docker 之分布式仓库 Harbor

Docker 之分布式仓库 Harbor Docker 之分布式仓库 Harbor1. Harbor 组成2. 安装 Harbor Docker 之分布式仓库 Harbor Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器&#xff0c;由 VMware 开源&#xff0c;其通过添加一些企业必需的功能特性&#xff0c;例…

Zookeeper应用案例-分布式锁-实现思路

以下是具体实现代码 第一步&#xff1a;注册锁节点 第二步&#xff1a;获取锁节点&#xff0c;如果自己是最小的节点&#xff0c;就获取权限 第三步&#xff1a;拿到锁就开始自己的业务逻辑 第四步&#xff1a;业务逻辑好了就要释放这把锁 第五步&#xff1a;重新注册监听&…

Elasticsearch7.1.1 配置密码和SSL证书

生成SSL证书 ./elasticsearch-certutil ca -out config/certs/elastic-certificates.p12 -pass 我这里没有设置ssl证书密码&#xff0c;如果需要设置密码&#xff0c;需要再配置给elasticsearch 在之前的步骤中&#xff0c;如果我们对elastic-certificates.p12 文件配置了密码…

Linux(ubuntu) GPU CUDA 构建Docker镜像

一、创建Dockerfile FROM ubuntu:20.04#非交互式&#xff0c;以快速运行自动化任务或脚本&#xff0c;无需图形界面 ENV DEBIAN_FRONTENDnoninteractive# 安装基础工具 RUN apt-get update && apt-get install -y \curl \wget \git \build-essential \software-proper…