深度学习+感知机
深度学习+感知机
- 1感知机
- 总结
- 2多层感知机
- 1XOR
- 2激活函数
- 3多类分类
- 总结
- 3代码实现
1感知机
是个很简单的模型,是个二分类的问题。
感知机(perceptron)是Frank Rosenblatt在1957年提出的一种人工神经网络,被视为一种最简单形式的前馈神经网络,同时也是神经网络与支持向量机的基础。感知机是一种二元线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机利用梯度下降法对损失函数进行极小化,提出可将训练数据进行线性划分的分离超平面,从而求得感知机模型。





总结
感知机是一个二分类模型,是最早的AI模型之一。
它的求解算法等价于使用批量大小为1的梯度下降。
它不能拟合 XOR函数,导致的第一次 A寒冬。
2多层感知机
1XOR
在深度学习中,XOR(异或)函数是一个重要的概念,经常用于解释和演示神经网络的原理和能力。XOR函数是一个二元逻辑函数,其输出仅当输入的两个二进制位不同时才为1,否则为0。
对于简单的线性模型,如逻辑回归或感知机,它们无法直接学习XOR函数,因为XOR函数在输入空间中不是线性可分的。这意味着不能通过一条直线(或一个超平面)来分隔XOR函数的四个可能输入。然而,通过引入隐藏层(非线性层),神经网络可以学习并表示XOR函数。这是神经网络能够学习复杂函数和非线性关系的关键。
具体来说,一个具有至少一个隐藏层的前馈神经网络可以学习并模拟XOR函数。隐藏层的神经元可以捕获输入数据中的非线性关系,并将这些关系传递给输出层。通过调整网络中的权重和偏置,神经网络可以逐渐逼近XOR函数的输出。
因此,XOR函数在深度学习中常常被用作一个示例,来展示神经网络如何处理非线性问题和逼近复杂函数的能力。通过学习和理解XOR函数,可以更深入地理解神经网络的原理、结构和工作方式

2激活函数
激活函数(Activation Function)在人工神经网络的神经元上运行,负责将神经元的输入映射到输出端。激活函数对于人工神经网络模型去学习、理解复杂和非线性的函数起到了至关重要的作用。它们将非线性特性引入到网络中,使得神经网络可以任意逼近任何非线性函数。
以下是几种常见的激活函数:
Sigmoid函数:它的输出取值范围是(0, 1)。这个函数对中央区的信号增益较大,对两侧区的信号增益小,从而在信号的特征空间映射上具有良好的效果。然而,使用sigmoid激活函数可能会造成神经网络的梯度消失和梯度爆炸问题。
Tanh函数:它的输出取值范围是(-1, 1)。Tanh函数的图像与sigmoid函数相似,但也具有梯度消失的缺点,并且计算相对复杂。
ReLU函数:其解析式为out = max(0, x)。当输入x<0时,输出为0;当x>0时,输出为x。ReLU函数使网络更快速地收敛,并且不会饱和,可以对抗梯度消失问题。
Leaky ReLU函数:该函数将ReLU的负区域也设成有梯度的斜线,以解决ReLU在负值区域的“死亡ReLU”问题。
除了上述的几种激活函数,还有其他多种激活函数,如ELU、PReLU、RReLU、Maxout等,它们各有特点,适用于不同的应用场景。
总的来说,选择哪种激活函数取决于具体的应用场景和需求。在实际应用中,可能需要通过试验和调整来找到最适合的激活函数。



激活函数和目标函数在深度学习和机器学习的神经网络模型中各有其独特的作用,它们之间的主要区别体现在以下几个方面:
功能与目的:激活函数的主要作用是为神经网络提供非线性建模能力,通过分层的非线性映射学习,使得网络可以拟合各种复杂的函数。这对于处理现实世界中的复杂数据和问题是至关重要的。而目标函数(或称为损失函数)的主要目的是衡量模型预测结果与实际结果之间的差距,通过最小化这个差距,模型可以在训练过程中逐渐优化自身的参数,从而提高预测精度。
应用位置:激活函数通常被应用于神经网络的每一层,特别是在全连接层或卷积层之后,用于对输入数据进行非线性变换。而目标函数则主要在模型的训练阶段使用,用于计算模型预测结果与实际结果之间的误差,并据此更新模型的参数。
种类与选择:激活函数的种类很多,包括Sigmoid、Tanh、ReLU、Leaky ReLU等,每种函数都有其特定的应用场景和优缺点。选择哪种激活函数通常取决于具体任务和数据特性。而目标函数的种类也较多,如均方误差、交叉熵等,选择哪种目标函数也取决于具体的任务需求。
总的来说,激活函数和目标函数在神经网络中各自扮演着不同的角色,共同协作以实现模型的优化和预测能力的提升。激活函数负责引入非线性特性,使网络能够拟合复杂函数;而目标函数则负责衡量模型预测结果与实际结果的差距,并指导模型的参数更新。
3多类分类



总结

多层感知机(MLP,Multilayer Perceptron)是一种人工神经网络(ANN,Artificial Neural Network)。它除了输入输出层之外,中间可以有多个隐藏层,其中最简单的多层感知机结构仅包含一个隐藏层,形成三层的网络结构。
多层感知机的核心特性在于其层与层之间的全连接性,即每一层的每一个节点都与下一层的每一个节点连接。这种连接模式使得多层感知机能够模拟复杂的非线性关系,并处理各种模式识别和数据分类任务。
在多层感知机中,隐藏层和输出层都具备计算加权和以及通过激活函数处理的功能。激活函数的使用是多层感知机的关键,通过在隐藏层中加入非线性激活函数,多层感知机能够实现对数据的非线性化处理,从而大幅提升其处理复杂问题的能力。常见的激活函数包括ReLU、sigmoid和tanh等。
多层感知机在训练过程中,通过反向传播算法(Backpropagation)来更新网络中的权重和偏置项,以最小化预测结果与实际结果之间的误差。这种训练过程使得多层感知机能够逐渐学习到数据的内在规律和模式,从而实现对新数据的准确预测和分类。
由于多层感知机具有强大的学习和处理能力,它在多个领域都有广泛的应用,如图像识别、语音识别、自然语言处理、数据挖掘等。通过构建和训练多层感知机模型,人们可以解决各种复杂的实际问题,并推动人工智能技术的发展。
多层感知机目前的应用非常广泛。作为人工神经网络的一种,多层感知机在机器学习和深度学习的许多领域中都发挥着重要作用。其强大的学习和处理能力使得它成为处理复杂非线性问题和模式识别任务的首选模型。
多层感知机可以应用于图像识别、语音识别、自然语言处理、数据挖掘等多个领域。在图像识别中,多层感知机可以通过学习图像的特征表示来进行准确的分类和识别;在语音识别中,它可以识别和理解人类的语言;在自然语言处理中,多层感知机可以用于文本分类、情感分析、机器翻译等任务;在数据挖掘中,它可以用于预测和分析大量的数据。
此外,随着深度学习技术的不断发展,多层感知机也在不断地进行改进和优化,以更好地适应各种复杂任务的需求。因此,可以说多层感知机目前的应用非常广泛,并且在未来仍将继续发挥重要作用。
3代码实现



简洁实现:
相关文章:
深度学习+感知机
深度学习感知机 1感知机总结 2多层感知机1XOR2激活函数3多类分类总结 3代码实现 1感知机 是个很简单的模型,是个二分类的问题。 感知机(perceptron)是Frank Rosenblatt在1957年提出的一种人工神经网络,被视为一种最简单形式的前馈神经网络&…...
爬虫练习:获取某招聘网站Python岗位信息
一、相关网站 二、相关代码 import requests from lxml import etree import csv with open(拉钩Python岗位数据.csv, w, newline, encodingutf-8) as csvfile:fieldnames [公司, 规模,岗位,地区,薪资,经验要求]writer csv.DictWriter(csvfile, fieldnamesfieldnames)writer…...
Java对接腾讯云直播示例
首先是官网的文档地址 云直播 新手指南 可以发现它这个主要是按流量和功能收费的 价格总览 流量这里还只收下行的费用,就是只收观看消耗的流量费 其它的收费就是一些增值业务费 (包括直播转码、直播录制、直播截图、直播审核、智能鉴黄、实时监播、移动直…...
free pascal 调用 C#程序读 Freeplane.mm文件,生成测试用例.csv文件
C# 请参阅:C# 用 System.Xml 读 Freeplane.mm文件,生成测试用例.csv文件 Freeplane 是一款基于 Java 的开源软件,继承 Freemind 的思维导图工具软件,它扩展了知识管理功能,在 Freemind 上增加了一些额外的功能&#x…...
在Blender中清理由Instant-NGP等几何学习技术生成的网格
使用布尔运算: 创建一个大的立方体或其他简单几何体包裹住全部网格。使用布尔修改器对两个网格进行“差集”运算。这将移除超出包裹体之外的多余网格部分。 手动选择并删除: 进入编辑模式(按Tab键)。按A键取消选择所有顶点。按B键并拖动以选择您想要删除…...
【重要公告】BSV区块链上线TypeScript SDK,未来将支持更多开发语言
发表时间:2024年2月21日 BSV区块链协会宣布上线JavaScript和TypeScript SDK(即“标准开发工具包”)。TypeScript SDK旨在为开发者提供新版统一核心代码库,以便利开发者在BSV区块链上开发能够任意扩容的应用程序。新上线的SDK替…...
【工具使用-VScode】VScode如何设置空格和tab键显示
一,简介 在提交代码的时候,行末尾的tab和空格不符合规范,但是如果在vscode中不显示tab和空格的话,不能及时的查看到并改正,导致提交代码之后还需要再次进行修改,效率比较低。 代码编辑界面如图所示&#…...
【原理图PCB专题】Cadence 17.4版本原理图及PCB Mudule复用
在我们设计复杂板卡的时候,往往会遇到一部分电路被反复使用的情况。虽然使用复制黏贴我们很快的做出相同的设计,但由于不同工程师能力水平不同,有时可能存在部分电路被漏掉导致重大异常。尤其对于大规模复杂设计,如果设计者浪费时间制作相同模块上,这无疑是对于工程师精力…...
llama-index调用qwen大模型实现RAG
背景 llama-index在实现RAG方案的时候多是用的llama等英文大模型,对于国内的诸多模型案例较少,本次将使用qwen大模型实现llama-index的RAG方案。 环境配置 (1)pip包 llamaindex需要预装很多包,这里先把我成功的案例…...
基于springboot的医院信息管理系统(程序+代码+文档)
** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一、研究背景…...
【环境配置】Linux MySQL8 忘记密码解决措施
本片博客介绍 Linux 操作系统 Ubuntu 下,MySQL8 忘记密码怎么重新设置,笔者亲测有效,分享给大家。 查看 MySQL 版本 $ mysql --version停止 MySQL 服务器,并查看状态是否变更为 Server shutdown complete # 等价命令sudo syste…...
MySQL-锁:共享锁(读)、排他锁(写)、表锁、行锁、意向锁、间隙锁,锁升级
MySQL-锁:共享锁(读)、排他锁(写)、表锁、行锁、意向锁、间隙锁 共享锁(读锁)、排他锁表锁行锁意向锁间隙锁锁升级 MySQL数据库中的锁是控制并发访问的重要机制,它们确保数据的一致性…...
docker 使用官方镜像搭建 PHP 环境
一、所需环境: 1、PHP:7.4.33-fpm 的版本 2、Nginx:1.25.1 的版本 3、MySQL: 5.7 的版本 4、Redis:7.0 的版本 1.1、拉取官方的镜像 docker pull php:7.4.33-fpm docker pull nginx:1.25.1 docker pull mysql:5.7 do…...
STM32CubeIDE基础学习-STM32CubeIDE软件偏好设置
STM32CubeIDE基础学习-STM32CubeIDE软件偏好设置 文章目录 STM32CubeIDE基础学习-STM32CubeIDE软件偏好设置前言第1章 设置字体颜色第2章 设置字体大小第3章 设置代码区背景颜色总结 前言 编程软件环境最好就设置一个自己喜欢的界面进行显示,这样看起来会比较舒服些…...
【《高性能 MySQL》笔记】性能优化
学习知识最快最好的方式就是问对问题。 本文将通过“问正确的问题”的方式循序渐进地深入总结性能优化相关知识。 性能优化基础 Q1:什么是“性能”? 即响应时间(RT,Response Time),完成某个任务所需要的时间度量。 Q2:什么是“性能优化”? 性能优化为在一定工作负…...
Spring AOP底层原理
目录 代理模式 静态代理 动态代理 1. JDK动态代理 创建⼀个代理对象并使用 2. CGLIB动态代理 SpringAOP底层原理面试 代理模式 Spring AOP是基于动态代理模式来实现的 代理模式:静态代理模式动态代理模式 代理模式, 也叫委托模式。 定义:为其…...
proteus8.9 示波器放大
proteus8.9 示波器放大** 1. 打开放大:Windows徽标键 加号 2. 取消放大:Windows徽标键 ESC...
代码随想录训练营第41天 | 动态规划:01背包理论基础、动态规划:01背包理论基础(滚动数组)、LeetCode 416.分割等和子集
动态规划:01背包理论基础 文章讲解:代码随想录(programmercarl.com) 视频讲解:带你学透0-1背包问题!_哔哩哔哩_bilibili 动态规划:01背包理论基础(滚动数组) 文章讲解:代码随想录(…...
1908_Arm Cortex-M3的实现
1908_Arm Cortex-M3的实现 全部学习汇总: g_arm_cores: ARM内核的学习笔记 (gitee.com) 这是第一次看一份这样的手册,之前的MCU编程基本上就是专注于软件接口方面。而OS等方面的一些功能基本上都是用了现成的解决方案,因此也就没有过多的关注…...
编程笔记 html5cssjs 005 小学数学四则运算练习
编程笔记 html5&css&js 005 小学数学四则运算练习 一、代码二、解释 这段代码定义了一个页面,用于小学数学四则运算的练习。这可能有点难,实际如果需要可以通过更改代码来达到要求。 一、代码 <!DOCTYPE html> <html lang"zh&quo…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
