神经网络的基础:从感知机到复杂网络的进化

文章目录

      • 一、神经网络的例子
      • 二、理解神经信号的传递
        • 2.1 感知机的结构和功能
        • 2.2 优化函数
        • 2.3 明确表示偏置
      • 三、理解感知机和激活函数的作用
        • 3.1 基础感知机模型
        • 3.2 激活函数的引入

一、神经网络的例子

理解感知机

在探索神经网络之前,我们首先回顾了感知机的基本概念。感知机是一种二分类的线性分类模型,它的基本功能是将输入的特征向量转化为一个预测结果。虽然感知机在理论上能够表示复杂的函数,但它有一个显著的局限性——权重的设置仍需人工完成。这不仅耗时耗力,而且限制了模型处理更复杂场景的能力。

神经网络的兴起

为了克服感知机的这些限制,神经网络的概念应运而生。神经网络的核心优势在于其能够自动地从数据中学习和调整权重参数,这一点对于应对现实世界中的复杂和动态问题至关重要。

结构上的细节

神经网络的结构比感知机复杂得多,通常包含三个主要的层次:输入层、隐藏层(或多个隐藏层,也称为中间层)、输出层。隐藏层的引入特别关键,因为它们允许网络捕捉数据中的复杂模式和关系,这是单层感知机所不能做到的。

  • 输入层 负责接收形式各样的原始数据输入。
  • 隐藏层 处理输入数据,每一层通过不同的权重和激活函数进一步提取特征。
  • 输出层 根据从隐藏层传递来的信息生成最终结果。

在这里插入图片描述

网络的深度和复杂性

神经网络可以有多个隐藏层,这使得它们可以构建为深度网络。上图描述的是一个具有一层隐藏层的简单网络模型,通常被称为“2层网络”(实际有权重的层数为两层)。值得注意的是,有些文献可能将其描述为“3层网络”,因为从输入层到输出层共有三层结构,但在实际应用中,我们通常按有权重处理的层数来界定网络的深度。

信号如何传递

在神经网络中,信息的传递和处理方式与感知机相似,但更为复杂和高效。每个神经元接收来自前一层的加权输入,通过激活函数转换这些输入,然后将输出传递到下一层。这种层层传递和非线性的激活引入了可以捕捉更复杂关系的能力。

二、理解神经信号的传递

2.1 感知机的结构和功能

在深入神经网络之前,了解感知机的工作原理是至关重要的。

在这里插入图片描述

感知机接收多个输入,通过各自的权重调整这些输入的重要性,再加上一个偏置项,以决定输出。考虑一个基本的感知机,它接收两个输入 x 1 x_1 x1 x 2 x_2 x2,并产生一个输出 y y y。其数学模型可以表示为以下条件函数:
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是对应于输入 x 1 x_1 x1 x 2 x_2 x2的权重。偏置 b b b控制了神经元激活的阈值,而权重确定了各输入信号的影响力。

2.2 优化函数

为了简化上述条件表达式,我们引入一个函数 h ( x ) h(x) h(x),它将输入信号的加权和转换为输出。这个函数定义如下:
h ( x ) = { 0 if  ( x ≤ 0 ) 1 if  ( x > 0 ) h(x) = \begin{cases} 0 & \text{if } (x \leq 0) \\ 1 & \text{if } (x > 0) \end{cases} h(x)={01if (x0)if (x>0)
利用函数 h ( x ) h(x) h(x),可以重新写出感知机的输出 y y y,如下所示:
y = h ( b + w 1 x 1 + w 2 x 2 ) y = h(b + w_1 x_1 + w_2 x_2) y=h(b+w1x1+w2x2)
这种表示方式不仅简化了数学表达,而且也提供了一个清晰的视角来看如何通过修改权重和偏置来优化感知机的性能。

2.3 明确表示偏置

在某些情况下,为了更清楚地表示出偏置 b b b,可以将其作为一个单独的输入信号,与一个恒定输入1相乘。这样,偏置就成为了模型中的一个独立变量,如图示:

在这里插入图片描述

这个表示方法强调了偏置在调整神经网络整体活性中的独立角色。

三、理解感知机和激活函数的作用

3.1 基础感知机模型

在基本的感知机模型中,我们考虑两个输入 x 1 x_1 x1 x 2 x_2 x2,它们通过对应的权重 w 1 w_1 w1 w 2 w_2 w2与输入相乘,并加上一个偏置 b b b,最后通过一个激活函数 h ( x ) h(x) h(x)来决定输出 y y y。这个过程可以用以下两个公式表示:
a = b + w 1 x 1 + w 2 x 2 (1) a = b + w_1 x_1 + w_2 x_2 \tag{1} a=b+w1x1+w2x2(1)

y = h ( a ) (2) y = h(a) \tag{2} y=h(a)(2)

在上述方程中, a a a是加权输入和偏置的总和,这个值被称为“激活”,而 y y y是激活函数 h ( a ) h(a) h(a)的输出,它基于 a a a的值来决定最终的输出。

在这里插入图片描述

3.2 激活函数的引入

激活函数 h ( x ) h(x) h(x)的引入是神经网络设计中的一项革命性创新。它允许模型引入非线性因素,这是处理复杂问题时不可或缺的。在最简单的形式中,激活函数可以是一个阶跃函数,这种函数在输入超过某个阈值时输出1,否则输出0。具体的表达式如下:
h ( x ) = { 0 if  x ≤ 0 1 if  x > 0 h(x) = \begin{cases} 0 & \text{if } x \leq 0 \\ 1 & \text{if } x > 0 \end{cases} h(x)={01if x0if x>0
感知机与神经网络的关系

感知机模型可以视为神经网络的一个单一层版本。在这个模型中,每个输入都是直接与输出相关联,没有中间或隐藏层。然而,在现代的多层神经网络中,可以有多个这样的感知机层,每层可能使用不同类型的激活函数,例如Sigmoid或ReLU,这些都是平滑且连续的函数,能处理比简单阶跃函数更复杂的情况。

图示解析

以下是激活函数在感知机中的示意图, 左图是一般的神经元的图,右图是在神经元内部明确显示激活函数的计算过程的图(a 表示输入信号的总和,h()表示激活函数,y表示输出)

在这里插入图片描述

图中明确显示了激活函数的计算过程。信号的加权总和在节点 a a a中计算,并通过激活函数转换成输出 y y y。在这种表示中, a a a y y y都是神经网络中的节点,实际上与传统意义上的“神经元”含义相同。

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

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

相关文章

iOS抓包工具——Stream

[清风穆云 ](https://cloud.tencent.com/developer/user/4224041) iOS抓包工具——Stream 关注作者 前往小程序,Get_更优_阅读体验! 立即前往 腾讯云 开发者社区 文档建议反馈控制台 首页 学习 活动 专区 工具 TVP [最新优惠活动 ](http…

可视化实验三 Matplotlib库绘图及时变数据可视化

1.1 任务一 1.1.1 恢复默认配置 #绘图风格,恢复默认配置 plt.rcParams.update(plt.rcParamsDefault)#恢复默认配置 或者 plt.rcdefaults() 1.1.2 汉字和负号的设置 import matplotlib.pyplot as plt plt.rcParams["font.sans-serif"]"SimH…

Vue3 路由入门

先安装路由 npm i vue-router //创建路由器 import { createRouter, createWebHashHistory } from vue-router//1.导入组件 import Home from /components/Home.vue import News from /components/News.vue//2.配置路由映射规则 const routes [{name: home,path: /home,compo…

学习方法的重要性

原贴:https://www.cnblogs.com/feily/p/13999204.html 原贴:https://36kr.com/p/1236733055209095 1、 “一万小时定律”的正确和误区 正确: 天才和大师的非凡,不是真的天资超人一等,而是付出了持续不断的努力&…

Java数组创建与使用

一.创建和初始化 1.数组是怎么创建的? 直接举例子: int[] arr new int[10]; 这里只简单的举一个int开辟数组的例子。 可见java数组的创建于C语言是不同的。前面是一个int[ ]就是一个数组的数据类型,后面的arr是数组名,最后[…

OpenCV | 项目 | 虚拟绘画

OpenCV | 项目 | 虚拟绘画 捕捉摄像头 如果在虚拟机中运行&#xff0c;请确保虚拟机摄像头打开。 #include<opencv2/opencv.hpp>using namespace cv; using namespace std;int main() {VideoCapture cap(0);Mat img;while(1) {cap.read(img);imshow("Image"…

stm32 st7735驱动 详解

初始化指令 void LCD_Init(void) { #if USE_SIM_SPILCD_SIM_SPI_GPIO_Init(); #endifLCD_RES_0();//复位HAL_Delay(100);LCD_RES_1();HAL_Delay(100);LCD_BLK_1();//打开背光HAL_Delay(100);//************* Start Initial Sequence **********//LCD_SPI_Send_Cmd(0x11); //Sl…

华为eNSP综合实验-网络地址转换

实验完成之后,在AR1的g0/0/1接口抓包,查看地址转换 实现私网pc访问公网pc 实验命令展示 SW1: vlan batch 12 #创建vlan interface e0/0/1 #进入接口配置vlan端口 port link-type access port default vlan 12 q interface e0/0/2 #进入接口配置vlan端口 port link-type ac…

想要买到心仪的旋转式孔板流量计吗?

选择旋转式孔板流量计可不能云里雾里的乱选择呀&#xff0c;煤矿对产品质量要求很严格的。所以我们要先了解产品的再决定才是对的选择。 旋转式孔板流量计技术参数【1--5--9】 规格&#xff1a;DN15&#xff5e;DN1000 孔径比(βd/D)&#xff1a;β0&#xff0e;2—0&#xff…

数组中两个字符串的最小距离

给定一个字符串数组strs&#xff0c;再给定两个字符串str1和str2&#xff0c;返回在strs中str1和str2的最小距离&#xff0c;如果str1或str2为null&#xff0c;或不在strs中&#xff0c;返回-1。 输入描述&#xff1a; 输入包含有多行&#xff0c;第一输入一个整数n(1 ≤ n ≤…

node.js安装及环境配置超详细教程【Windows系统安装包方式】

Step1&#xff1a;下载安装包 https://nodejs.org/zh-cn/download/ 根据自己电脑系统及位数选择&#xff0c;我的电脑是Windows系统、64位、想下载稳定版的.msi&#xff08;LTS为长期稳定版&#xff09;这里选择windows64位.msi格式安装包。 .msi和.zip格式区别&#xff1a;…

3.yolov5训练前的图片处理详解(python)

其实&#xff0c;yolov5模型可以分为深度网络、数据处理&#xff08;图片处理&#xff09;、损失函数、优化器选择、训练和预测及部分构成&#xff0c;相信大家对训练和预测的代码比较熟悉。前面两章我们根据代码和结构图了解了yolov5的深度网络&#xff0c;接下来看数据处理的…

TouchDesigner Pro for Mac:创意无界,视觉编程新纪元

在数字化创意的海洋中&#xff0c;TouchDesigner Pro for Mac以其卓越的性能和丰富的功能&#xff0c;为设计师们打开了一个全新的视觉编程世界。 这款软件拥有强大的实时创作和视觉编程能力&#xff0c;通过拖拽和连接各种节点&#xff0c;用户可以轻松构建出复杂的实时交互系…

【触摸案例-手势解锁案例-连线到按钮 Objective-C语言】

一、接下来,我们接着来说这个,连线的问题啊, 1.连线的问题啊,也就是说,我现在点击一个按钮, 在移动到下一个按钮的时候,在两个按钮中间,在两个按钮都亮起来的时候呢,我们肯定是让它去画一条线的,那么, 1)首先,如果我现在从第一个按钮,连到第二个按钮,那么,这条…

1. C++入门:命名空间及输入输出

C相比C的变化 兼容C面向对象泛型C的不足的弥补 为什么要有命名空间 在C/C中&#xff0c;变量、函数和后面要学到的类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存在于全局作用域中&#xff0c;可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地…

聊聊BitLocker

最近有消息称微软决定在Windows 11 24H2中默认开启BitLocker&#xff0c;这个消息在网上引起了不小的波澜。有人说&#xff0c;对于我们这些普通用户来说&#xff0c;BitLocker真的有必要吗&#xff1f; 什么是BitLocker BitLocker 是一项 Windows 安全功能&#xff0c;可为整…

CTF-WEB(MISC)

安全攻防知识——CTF之MISC - 知乎 CTF之MISC杂项从入门到放弃_ctf杂项 你的名字-CSDN博客 CTF MICS笔记总结_archpr 掩码攻击-CSDN博客 一、图片隐写 CTF杂项---文件类型识别、分离、合并、隐写_ctf图片分离-CSDN博客 EXIF&#xff08;Exchangeable Image File&#xff09;是…

企业网站从传统服务器迁移到弹性云有什么优势呢?

现代企业对于网站和应用程序的可用性和性能要求越来越高&#xff0c;传统基础设施可能无法满足这些需求。弹性云作为一种新兴的云计算服务模式&#xff0c;对于企业网站的运行和管理带来了许多优势。下面是企业网站从传统服务器迁移到弹性云的五大优势&#xff1a; 灵活弹性&a…

npm安装指定版本,npm删除依赖,卸载依赖

安装指定版本 npm中安装指定的版本号&#xff0c;格式为 ‘包名版本号’ npm install 包名称版本号 --save 例如安装jquery: npm install jquery3.0.0 --save在package.json里面可以看到对应的包&#xff1a; "jquery": "^3.0.0"注意&#xff1a;已有…

软胶囊弹性检测:确保药品质量与患者安全的关键步骤

软胶囊弹性检测&#xff1a;确保药品质量与患者安全的关键步骤 在医药领域&#xff0c;软胶囊作为一种常见的药物载体&#xff0c;其质量的优劣直接关系到药物的有效性和患者的安全。软胶囊的弹性作为其质量评估的重要指标之一&#xff0c;不仅影响其储存和运输的稳定性&#x…