从简单逻辑到复杂计算:感知机的进化与其在现代深度学习和人工智能中的应用(上)

文章目录

  • 引言
  • 第一章:感知机是什么
  • 第二章:简单逻辑电路
  • 第三章:感知机的实现
    • 3.1 简单的与门实现
    • 3.2 导入权重和偏置
    • 3.3 使用权重和偏置的实现
      • 实现与门
      • 实现与非门和或门

文章文上下两节

  • 从简单逻辑到复杂计算:感知机的进化与其在现代深度学习和人工智能中的应用(上)
  • 从简单逻辑到复杂计算:感知机的进化与其在现代深度学习和人工智能中的应用(下)

引言

在本章中,我们将深入探讨感知机,这是一个由美国学者Frank Rosenblatt于1957年提出的算法。尽管感知机的概念历史悠久,但它仍然在现代计算和机器学习领域占据着基础性的重要地位。感知机不仅是神经网络和深度学习的原型,而且其设计原理和运作机制为理解更复杂的神经网络模型提供了关键的基础。通过介绍感知机的基本构造和功能,以及如何利用它来解决一些简单的逻辑问题,帮助读者建立对这一经典算法的初步理解。通过学习感知机,我们可以更好地洞察神经网络的核心思想和深度学习的基础结构,为进一步的学习和研究奠定坚实的基础。

第一章:感知机是什么

感知机是一种基本的人工神经网络,被设计成能模拟人类神经元的基本功能。它接收多个输入信号,这些信号可以被想象为具有"流动性"的东西,如电流或数据流。在感知机中,这些输入信号经过加权后,如果加权和超过了某个阈值,则输出一个信号。这种输出通常是二进制的,即"流/不流"(1/0)的形式。

下图展示了一个包含两个输入的基本感知机模型。输入 x 1 x_1 x1 x 2 x_2 x2 通过各自的权重 w 1 w_1 w1 w 2 w_2 w2 与输出 y y y 相连。这些权重决定了各自输入对输出的贡献。在感知机中,这些输入信号被加权和计算,并与一个固定的阈值 θ \theta θ 比较,这个比较的结果决定输出 y y y 的状态。

在这里插入图片描述

感知机的行为可以通过以下数学公式来表示:
y = { 0 if  ( w 1 x 1 + w 2 x 2 ≤ θ ) 1 if  ( w 1 x 1 + w 2 x 2 > θ ) y = \begin{cases} 0 & \text{if } (w_1 x_1 + w_2 x_2 \leq \theta) \\ 1 & \text{if } (w_1 x_1 + w_2 x_2 > \theta) \end{cases} y={01if (w1x1+w2x2θ)if (w1x1+w2x2>θ)
在这个模型中,权重 w 1 w_1 w1 w 2 w_2 w2 控制着输入信号的重要性,而阈值 θ \theta θ 则是决定神经元是否被激活的界限。权重的作用类似于电流中的电阻,它们不仅控制信号的强度,还影响信号是否足以触发输出。这种机制使得感知机能够在给定的输入下做出二进制决策。

第二章:简单逻辑电路

在本章中,我们将探讨如何使用感知机来实现几种基本的逻辑电路:与门(AND gate)、与非门(NAND gate)和或门(OR gate)。这些逻辑电路是数字电子中的基本组件,感知机通过简单的权重和阈值调整,能够模拟这些逻辑操作。

与门

与门是一种基本的逻辑电路,要求所有输入都为1时,输出才为1。

在这里插入图片描述

考虑一个简单的感知机模型,我们可以通过设置适当的权重和阈值来实现与门的功能。例如,设定权重 w 1 w_1 w1 w 2 w_2 w2 为0.5,并设置阈值 θ \theta θ 为0.7。在这种情况下,只有当两个输入 x 1 x_1 x1 x 2 x_2 x2 同时为1时,加权和 0.5 × 1 + 0.5 × 1 = 1.0 0.5 \times 1 + 0.5 \times 1 = 1.0 0.5×1+0.5×1=1.0 才会超过阈值0.7,从而输出1。对于其他任何输入组合,输出将为0。

与非门

与非门(NAND gate)是与门的逻辑相反:只有当所有输入都为1时,输出才为0;其他情况下输出为1。通过简单地取反与门的参数设置,我们可以实现与非门。

在这里插入图片描述

例如,将与门参数的符号取反,设置 w 1 w_1 w1 w 2 w_2 w2 为-0.5,阈值 θ \theta θ 为-0.7。这样,只有当两个输入 x 1 x_1 x1 x 2 x_2 x2 同时为1,加权和 − 0.5 × 1 − 0.5 × 1 = − 1.0 -0.5 \times 1 - 0.5 \times 1 = -1.0 0.5×10.5×1=1.0 才不超过阈值-0.7,输出为0。在所有其他情况下,输出为1。

或门

或门是另一种基本逻辑电路,要求至少一个输入为1时,输出就为1。

在这里插入图片描述

为了使用感知机实现或门,可以设置较低的阈值,例如 θ \theta θ 为0.5,同时提高权重 w 1 w_1 w1 w 2 w_2 w2 至1.0。这样,任何一个输入为1就足以使加权和超过阈值,从而输出为1。

总结

通过适当设置权重和阈值,单个感知机就能模拟基本的逻辑电路功能。这表明感知机不仅仅是一个简单的分类器,还能执行基本的逻辑运算。这种能力使得感知机成为研究人工智能和计算机科学中逻辑处理的有用工具。我们使用的方法展示了如何通过调整参数,让简单的模型执行多种逻辑任务,类似于演员在不同角色间转换。这种灵活性是感知机在实现复杂功能时的重要基础。

第三章:感知机的实现

下面使用Python来实现基本的逻辑门感知机,从而进一步理解感知机的工作原理。我们将首先实现一个简单的与门(AND gate),然后扩展到与非门(NAND gate)和或门(OR gate),展示如何通过修改参数来调整感知机的行为。

3.1 简单的与门实现

让我们开始实现一个基本的与门。我们将定义一个接收两个参数x1和x2的函数,并使用固定的权重和阈值来判断输出:

def AND(x1, x2):w1, w2, theta = 0.5, 0.5, 0.7tmp = x1 * w1 + x2 * w2if tmp <= theta:return 0else:return 1

这个函数使用了简单的条件判断来模拟感知机的阈值激活特性。下面是测试这个函数的代码,用以确认其表现符合与门的真值表:

print(AND(0, 0))  # 输出 0
print(AND(1, 0))  # 输出 0
print(AND(0, 1))  # 输出 0
print(AND(1, 1))  # 输出 1

3.2 导入权重和偏置

在之前的实现中,我们使用了阈值 θ \theta θ 来控制感知机的激活。为了更接近现代神经网络的实现方式,我们将修改感知机的定义,使用偏置 b b b 替代阈值,从而采用更通用的形式。这种修改不仅有助于理解感知机的行为,还能更好地与其他机器学习模型进行对比。

将原来的阈值 θ \theta θ 转换为偏置 b b b,感知机的行为可以用下面的数学公式表示:
y = { 0 if  ( b + w 1 x 1 + w 2 x 2 ≤ 0 ) 1 if  ( b + w 1 x 1 + w 2 x 2 > 0 ) y = \begin{cases} 0 & \text{if } (b + w_1 x_1 + w_2 x_2 \leq 0) \\ 1 & \text{if } (b + w_1 x_1 + w_2 x_2 > 0) \end{cases} y={01if (b+w1x1+w2x20)if (b+w1x1+w2x2>0)
此处, b b b 称为偏置,而 w 1 w_1 w1 w 2 w_2 w2 继续作为权重。感知机将计算输入信号和权重的乘积和,加上偏置后,根据结果是否大于零来确定输出。

接下来,我们将使用 Python 和 NumPy 库来实现这一修改后的感知机模型。首先,我们定义感知机的权重和偏置,然后使用这些参数计算输出:

import numpy as np# 定义输入
x = np.array([0, 1])# 权重和偏置
w = np.array([0.5, 0.5])
b = -0.7# 计算加权输入和偏置的总和
weighted_sum = np.sum(w * x) + b# 输出结果 -0.2
print("Output:", 1 if weighted_sum > 0 else 0)

在这个例子中,我们首先将权重与输入相乘,然后加上偏置。这个总和决定了感知机的输出。

3.3 使用权重和偏置的实现

实现与门

与门要求所有输入都为1时,输出才为1。通过调整权重和偏置,我们可以如下实现与门:

def AND(x1, x2):x = np.array([x1, x2])w = np.array([0.5, 0.5])b = -0.7tmp = np.sum(w * x) + bif tmp <= 0:return 0else:return 1

在这里,偏置 b b b 被设置为 − 0.7 -0.7 0.7,而权重 w 1 w_1 w1 w 2 w_2 w2 都是 0.5 0.5 0.5。这意味着只有当两个输入都为1时,感知机的输出才为1。偏置 b b b 和权重 w 1 w_1 w1, w 2 w_2 w2 的作用是不同的。权重控制输入信号的重要性,而偏置则调节神经元被激活的难易度。例如,如果 b b b − 0.1 -0.1 0.1,则相对较容易激活神经元;若 b b b − 20.0 -20.0 20.0,则需要更大的输入信号总和才能激活神经元。

实现与非门和或门

与非门和或门的实现也采用了类似的方法,只是权重和偏置有所不同:

def NAND(x1, x2):x = np.array([x1, x2])w = np.array([-0.5, -0.5])  # 权重与AND门相反b = 0.7tmp = np.sum(w * x) + bif tmp <= 0:return 0else:return 1def OR(x1, x2):x = np.array([x1, x2])w = np.array([0.5, 0.5])b = -0.2tmp = np.sum(w * x) + bif tmp <= 0:return 0else:return 1

在这些实现中,与门、与非门和或门的构造基本相同,区别仅在于权重和偏置的设置。这种方法展示了如何通过简单的参数调整,让感知机执行不同的逻辑功能。


下一节:从简单逻辑到复杂计算:感知机的进化与其在现代深度学习和人工智能中的应用(下)

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

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

相关文章

[开发|鸿蒙] 鸿蒙OS开发环境搭建(笔记,持续更新)

搭建开发环境流程&#xff1a; https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/installation_process-0000001071425528-V2 鸿蒙DevEco Studio 3.1.1 Release仅支持windows和mac系统 运行环境要求 为保证DevEco Studio正常运行&#xff0c;建议电脑配置…

16_Scala面向对象编程_函数

文章目录 1.声明Scala函数2.访问伴生对象3.空对象直接用的方法4.构造对象--通过object获取单例对象--直接new--scala独有apply()方式--scala有参构造--scala构造方法两大类使用辅构造如下上述代码主构造为辅助构造方法甚至可以多个多个辅助构造形参内容不能重不使用辅助构造和使…

[leetcode] 64. 最小路径和

文章目录 题目描述解题方法动态规划java代码复杂度分析 相似题目 题目描述 给定一个包含非负整数的 m x n 网格 grid &#xff0c;请找出一条从左上角到右下角的路径&#xff0c;使得路径上的数字总和为最小。 说明&#xff1a;每次只能向下或者向右移动一步。 示例 1&#…

有什么好用的思维导图软件?6个软件教你快速进行思维导图的制作

有什么好用的思维导图软件&#xff1f;6个软件教你快速进行思维导图的制作 以下是六款常用且功能强大的思维导图软件&#xff0c;它们可以帮助您快速制作思维导图&#xff1a; 迅捷画图: 迅捷画图是一款在线思维导图工具&#xff0c;具有直观易用的界面和丰富的功能。用户可…

武汉星起航:策略升级,亚马逊平台销售额持续增长显实力

武汉星起航电子商务有限公司&#xff0c;一家致力于跨境电商领域的企业&#xff0c;于2023年10月30日在上海股权托管交易中心成功挂牌展示&#xff0c;这一里程碑事件标志着公司正式踏入资本市场&#xff0c;开启了新的发展篇章。公司董事长张振邦在接受【第一财经】采访时表示…

Layer1 公链竞争破局者:Sui 生态的全面创新之路

随着 Sui 生态逐渐在全球范围内树立起声望&#xff0c;并通过与 Revolut 等前沿金融科技平台合作&#xff0c;推广区块链教育与应用&#xff0c;Sui 生态的未来发展方向已成为业界瞩目的焦点。如今&#xff0c;Sui 的总锁定价值已攀升至 5.93 亿美元&#xff0c;充分展示了其在…

考虑需求响应的微网优化调度模型【粒子群算法】【matlab】

目录 1 主要内容 1.1 模型约束条件 1.2 粒子群算法优化过程 2 部分代码 3 效果图 4 下载链接 1 主要内容 该模型构建了考虑需求响应的微电网优化调度模型&#xff0c;并采用粒子群算法&#xff08;PSO&#xff09;进行优化求解&#xff0c;模型主体有储能、风电、光伏、微…

兄弟Brother数控机床网络IP配置设置教程

1、进入通讯参数页面 首先按下面板的数据库按钮&#xff1a; 按F6&#xff0c;选择通信参数&#xff1a; 2、调整网络和远程访问参数 数据改写&#xff08;从属&#xff09;从否改为是&#xff0c;远程操作从无效改为有效&#xff1a; 更改ip地址、网关、子网掩码等&#xff…

pcm转MP3怎么转?只需3个步骤~

PCM&#xff08;Pulse Code Modulation&#xff09;是一种用于数字音频编码的基础技术&#xff0c;最早起源于模拟音频信号数字化的需求。通过PCM&#xff0c;模拟音频信号可以被精确地转换为数字形式&#xff0c;为数字音频的发展奠定了基础。 MP3文件格式的多个优点 MP3的优…

LeetCode-741. 摘樱桃【数组 动态规划 矩阵】

LeetCode-741. 摘樱桃【数组 动态规划 矩阵】 题目描述&#xff1a;解题思路一&#xff1a;动态规划&#xff0c;定推初遍举。解题思路二&#xff1a;倒序循环解题思路三&#xff1a;0 题目描述&#xff1a; 给你一个 n x n 的网格 grid &#xff0c;代表一块樱桃地&#xff0…

git/gerrit使用遇到的问题

Push时出现的多个问题及其解决 branch【...】not found 这个错误通常出现在 Git 命令中指定的分支名称中包含特殊字符或者语法错误时。需要确保指定的分支名称是正确的&#xff0c;并且没有任何不支持的字符。 例如&#xff0c;如果分支名称是 feature/branch&#xff0c;应该…

软件系统安全设计规范(word原件)

1.1安全建设原则 1.2 安全管理体系 1.3 安全管理规范 1.4 数据安全保障措施 1.4.1 数据库安全保障 1.4.2 操作系统安全保障 1.4.3 病毒防治 1.5安全保障措施 1.5.1实名认证保障 1.5.2 接口安全保障 1.5.3 加密传输保障 1.5.4终端安全保障 软件资料清单列表部分文档…

亚马逊云科技产品测评:玩转云服务器(EC2)

文章目录 &#x1f4d1;引言一、亚马逊发展历史介绍二、云服务器资源地域分布三、云服务器实例规格四、EC2计费模式五、亚马逊免费EC2领取 &#x1f4d1;引言 亚马逊&#xff1a;世界上最大的云服务器提供商 亚马逊云科技 是由亚马逊公司提供的一系列云计算服务。它提供了弹性计…

Linux-03

cat 由第一行开始显示文件内容 tac 从最后一行开始显示&#xff0c;可以看出 tac 是 cat 的倒着写 nl 显示的时候&#xff0c;顺道输出行号 more 一页一页的显示文件内容 less 与 more 类似&#xff0c;但是比 more 更好的是&#xff0c;他可以往前翻页 (空格翻页 退出q命令) h…

Codeforces Round 943 (Div. 3) A~E

A. Maximize? Problem - A - Codeforces 给定x求出使这个式子最大的y&#xff1a; 不用想复杂直接循环枚举即可。 #include<bits/stdc.h> using lllong long; ll n,m; void solve() {int x;std::cin>>x;ll ans0,y;for(int i1;i<x;i){if(std::__gcd(i,x)i>a…

Android 巧用putBinder方法传递大文件

使用Intent传递数据大家都知道&#xff0c;但是如果你使用Intent传递大于1Mb的数据时&#xff0c;就一定会报如下的错误&#xff1a; Caused by: android.os.TransactionTooLargeException: data parcel size 1049112 bytes 就是说你的传输数据太大了&#xff0c;当前的大小达…

价值2000元的优质产品经理证书免费考啦(含题库)

小李哥今天带来的的是Pendo家出的2张免费产品经理证书(送Credly徽章&#xff0c;可挂LinkedIn)&#xff0c;原价共计300刀(2000人民币)&#xff0c;使用小李哥文章末尾中的网址可以免费考试&#xff0c;同时小李哥给大家做了题库&#xff0c;欢迎关注小李哥领取&#xff0c;10分…

【个人博客搭建】(17)使用FluentValidation 参数校验

FluentValidation 是一个用于 .NET 的开源验证库&#xff0c;它提供了一种流畅的接口和强类型验证规则&#xff0c;使得验证逻辑表达得更加清晰和简洁。&#xff08;Apache-2.0&#xff09; FluentValidation 的主要作用包括&#xff1a; 提高代码可读性&#xff1a;通过使用 F…

谷歌推广和seo留痕具体怎么操作?

留痕跟谷歌推广其实是一回事&#xff0c;你能在谷歌上留痕&#xff0c;其实就是推广了自己的信息&#xff0c;本质上留痕就是在各大网站留下自己的记录&#xff0c;这个记录可以是品牌信息&#xff0c;联系方式&#xff0c;看你想留下什么 如果要问自己怎么操作&#xff0c;正常…

微信公众号排名 SEO的5个策略

随着微信公众号在社交媒体领域的持续发展和普及&#xff0c;如何提升公众号的搜索排名&#xff0c;成为许多运营者关注的焦点。公众号排名SEO&#xff0c;即针对微信公众号进行搜索引擎优化&#xff0c;旨在提高公众号在搜索结果中的曝光率和点击率。下面&#xff0c;我们将深入…