逻辑函数的神经网络实现

news/2025/2/24 9:05:03

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.niftyadmin.cn/n/5864146.html

相关文章

C++ 类和对象(友元、内部类、匿名对像)

目录 一、前言 二、正文 1.友元 1.1友元函数的使用 1.1.1外部友元函数可访问类的私有成员&#xff0c;友员函数仅仅是一种声明&#xff0c;他不是类的成员函数。 1.1.2一个函数可以是多个类的友元函数 2.友元类的使用 2.1什么是友元类 2.2 友元类的关系是单向的&#x…

Distilabel 入门指南:基本概念、安装与快速上手

系列文章&#xff1a; Distilabel 入门指南&#xff1a;基本概念、安装与快速上手 Distilabel 基础指南&#xff1a;概念与入门 Distilabel 高级指南&#xff1a;深度功能与最佳实践 Distilabel API 文档&#xff1a;功能详解与使用 正文&#xff1a; 概述 Distilabel 是…

掌握 ElasticSearch 组合查询:Bool Query 详解与实践

掌握 ElasticSearch 组合查询&#xff1a;Bool Query 详解与实践 一、引言 (Introduction)二、Bool 查询基础2.1 什么是 Bool 查询&#xff1f;2.2 Bool 查询的四种子句2.3 语法结构 三、Bool 查询的四种子句详解与示例3.1 must 子句3.2 filter 子句3.3 should 子句3.4 must_no…

QQ登录测试用例报告

QQ登录测试用例思维导图 一、安全性测试用例 1. 加密传输与存储验证 测试场景&#xff1a;输入账号密码并提交登录请求。预期结果&#xff1a;账号密码通过加密传输&#xff08;如HTTPS&#xff09;与存储&#xff08;如哈希加盐&#xff09;&#xff0c;无明文暴露。 2. 二…

【springcloud】快速搭建一套分布式服务springcloudalibaba(一)

第一篇 基于nacos搭建一套springcloud分布式服务 项目所需 maven nacos java8 idea git 当前项目为快速搭建 用户服务提供查询&#xff0c;商品服务查询用户信息 请先准备好环境&#xff0c;可以直接clone下来项目去部署。 快速搭建一套分布式服务 项目结构关于搭建下载配置…

驱动开发系列39 - Linux Graphics 3D 绘制流程(二)- 设置渲染管线

一:概述 Intel 的 Iris 驱动是 Mesa 中的 Gallium 驱动,主要用于 Intel Gen8+ GPU(Broadwell 及更新架构)。它负责与 i915 内核 DRM 驱动交互,并通过 Vulkan(ANV)、OpenGL(Iris Gallium)、或 OpenCL(Clover)来提供 3D 加速。在 Iris 驱动中,GPU Pipeline 设置 涉及…

跨平台公式兼容性大模型提示词模板(飞书 + CSDN + Microsoft Word)

飞书云文档 CSDN MD编辑器 Microsoft Word 跨平台公式兼容方案&#xff1a; 一、背景痛点与解决方案 在技术文档创作中&#xff0c;数学公式的跨平台渲染一直存在三大痛点&#xff1a; 飞书云文档&#xff1a;原生KaTeX渲染与导出功能存在语法限制微软Word&#xff1a;Math…

数据结构3-栈和队列

栈和队列的操作特点 栈和队列是限定插入和删除只能在表的“端点”进行的线性表 栈&#xff08;操作尾部&#xff09;和队列&#xff08;操作头部&#xff09;是线性表的子集&#xff08;是插入和删除位置受限的线性表&#xff09; 栈&#xff08;Stack&#xff09; 栈是一个…