深度学习入门(一):感知机与输入数据
单层感知机与多层感知机
单层感知机(Single-Layer Perceptron)和多层感知机(Multi-Layer Perceptron,简称MLP)是神经网络的基本形式,用于执行各种机器学习任务,包括分类和回归。它们都基于早期的神经网络概念,其核心在于模拟人脑中神经元的工作方式。
单层感知机
单层感知机是最简单的神经网络形式,由一个输入层和一个输出层组成,其中输出层包含一个或多个独立的神经元。它的主要目的是执行线性分类。

结构和工作原理
- 输入层:接收输入特征(x1, x2, ..., xn),通常包括一个偏置项(bias),即x0=1。
- 权重:每个输入特征有一个权重(w0, w1, w2, ..., wn),其中w0是偏置权重。
- 激活函数:通常使用阶跃函数(例如,Heaviside step function),输出只有两种状态(比如0和1)。
在计算中,感知机将输入特征与相应的权重相乘,然后将结果相加得到一个总和。这个总和通过激活函数转换成输出结果。

偏置项的作用
偏置项的主要作用是允许模型在没有输入特征时仍然可以输出一个非零值,从而增加模型的灵活性和表达能力。它可以帮助调整决策边界的位置,使得模型在处理各种数据集时更具有适应性。无论是单层感知机还是多层感知机,都具有偏置项,只不过单层感知机只会有一个常数偏置,故上图中数学表达式还可进一步理解:

多层感知机(MLP)
多层感知机是一种更复杂的神经网络,它由一个输入层、一个或多个隐藏层以及一个输出层组成。隐藏层的引入使MLP能够学习更复杂的数据模式,执行非线性分类和回归任务。

结构和工作原理:
- 输入层:接收原始数据输入。
- 隐藏层:每一层由多个神经元组成,每个神经元都接收前一层的所有输出作为输入,并输出到下一层。隐藏层允许网络捕捉输入数据中的复杂模式。
- 输出层:根据最后一个隐藏层的输出生成网络的最终输出。
- 激活函数:隐藏层和输出层的神经元通常使用非线性激活函数,如Sigmoid、tanh或ReLU。这些激活函数帮助网络捕捉非线性关系。

学习过程
无论是单层还是多层感知机,它们的学习过程通常涉及以下步骤:
- 前向传播:输入数据通过网络向前传递,每层的输出作为下一层的输入,直至生成最终输出。
- 损失计算:根据网络输出和真实标签计算一个损失值,该值衡量了网络的预测误差。
- 反向传播:通过计算损失相对于每个权重的导数,并利用这些导数更新权重,从而减小损失。
单层感知机和多层感知机是构建更复杂神经网络模型的基石。虽然单层感知机仅限于解决线性可分问题,但多层感知机通过引入一个或多个隐藏层,能够处理非线性问题,极大地扩展了神经网络的应用范围。这种基本的网络结构为现代深度学习的发展奠定了基础,从简单的二分类到复杂的图像识别、自然语言处理等问题都有广泛应用。
如何向神经网络中输入数据?
向神经网络输入数据通常涉及几个关键步骤,包括数据格式化、标准化或归一化、以及必要时的编码处理。这些预处理步骤对于模型的训练效率和最终性能至关重要。
数据输入与预处理
数据格式化(满足格式要求):确保输入数据的格式符合神经网络的要求。例如,对于图像数据,通常需要将图片转换为统一的尺寸和色彩深度。
归一化与标准化:
- 归一化 (Normalization):将数据缩放到0到1的范围内。这在处理图像数据时非常常见,通常通过将每个像素值除以255(像素的最大值)来实现。
- 标准化 (Standardization):将数据转换为均值为0,标准差为1的分布。这主要用于处理数值型数据,有助于加快学习过程并提高模型的收敛速度。
编码:
对于分类任务,标签通常需要进行独热编码(One-Hot Encoding)。
使用one-hot编码,将离散特征的取值扩展到了欧式空间,离散特征的某个取值就对应欧式空间的某个点。将离散型特征使用one-hot编码,会让特征之间的距离计算更加合理。(因为有些类别为非数值型,例如‘男’、‘女’如果处于离散特征的计算范围之内,那么这些类别标签需要编码为二进制向量,才能更好地计算其欧式距离,进一步根据欧式距离计算特征相似性等)
预处理策略选择
预处理策略的选择取决于几个因素:
- 数据类型:图像、文本、声音或时间序列数据可能需要不同的预处理方法。
- 网络类型:不同的神经网络架构可能对数据的格式有特定的要求。例如,卷积神经网络通常需要将图像数据作为输入,而循环神经网络则优于处理序列数据。
- 数据分布:数据的原始分布可能会影响选择何种标准化或归一化方法。
- 计算效率:某些预处理技术可以减少模型训练时间和提高模型的收敛速度。
图像数据的具体处理
当我们想输入一张图片到神经网络时,需要处理图像的三个颜色通道(红色、绿色、蓝色),每个通道可以被看作一个矩阵(二维数组),其大小取决于图像的分辨率。例如,一张256x256像素的彩色图像将有三个256x256的矩阵,每个矩阵对应一个颜色通道。
在输入到神经网络之前,通常会执行以下步骤:
- 尺寸调整:确保所有输入图像具有相同的尺寸,这对于模型处理是必需的。通常,将所有图片特征(每个矩阵的特征数为像素px*px*256)以特征向量(一维,由三个RGB矩阵对应的全部特征组成)的形式传入神经网络。
- 归一化:将像素值从[0, 255]缩放到[0, 1]范围,这有助于网络更好地处理输入数据。
这样的预处理不仅有助于网络更有效地学习,还有助于避免某些常见问题,如梯度消失或爆炸,这些问题可能会在训练过程中导致不稳定。
归一化与激活函数的“归一化”
归一化
归一化通常是指在数据预处理阶段将输入数据(例如图像像素值)调整到一个统一的数值范围,比如将像素值从[0, 255]缩放到[0, 1]。这个过程通常是通过简单地将每个像素值除以255来实现的。主要目的是:
- 改善数值稳定性:避免在网络中出现过大的数值,这些数值可能导致计算中的数值不稳定性,例如梯度消失或梯度爆炸。
- 加快训练过程:当输入特征具有相似的数值范围时,梯度下降算法(或其他优化算法)更容易找到误差函数的最小值。
激活函数
激活函数如Sigmoid、ReLU等,则是在神经网络的各个层中使用,用来引入非线性,使得网络可以学习和模拟复杂的函数和决策边界。激活函数的作用包括:
- 非线性引入:没有激活函数,无论神经网络有多少层,其本质上还是一个线性模型,不能学习数据中的非线性关系。
- 决策制作:在分类问题中,如Sigmoid函数可以将值压缩到0和1之间,常用于二分类的最后输出,表示概率。所以,激活函数也可以实现类似“归一化”(Sigmoid)或者“非零化”(ReLU)的作用,但这只是对于输出数据而言,它不属于数据预处理部分。
相关文章:
深度学习入门(一):感知机与输入数据
单层感知机与多层感知机 单层感知机(Single-Layer Perceptron)和多层感知机(Multi-Layer Perceptron,简称MLP)是神经网络的基本形式,用于执行各种机器学习任务,包括分类和回归。它们都基于早期…...
kubernetes 集群组件介绍
kubernetes 集群组件介绍 Kubernetes 架构 在Kubernetes(k8s)集群中,主节点(Master Node)和工作节点(Worker Node)都运行特定的软件组件,它们共同管理和运行容器化的应用程序。以下…...
Java | Leetcode Java题解之第327题区间和的个数
题目: 题解: class Solution {public int countRangeSum(int[] nums, int lower, int upper) {long sum 0;long[] preSum new long[nums.length 1];for (int i 0; i < nums.length; i) {sum nums[i];preSum[i 1] sum;}BalancedTree treap ne…...
开发一个MutatingWebhook
介绍 Webhook就是一种HTTP回调,用于在某种情况下执行某些动作,Webhook不是K8S独有的,很多场景下都可以进行Webhook,比如在提交完代码后调用一个Webhook自动构建docker镜像 准入 Webhook 是一种用于接收准入请求并对其进行处理的…...
【leetcode详解】另一棵树的子树 (C++递归:思路精析 过程反思)
思路详解: 总体框架: 对root树进行先序遍历,如果当前结点(记为cur)的值和subRoot的根节点值相等时,就开始判断 以cur为根节点的树 和 子树 是否结构一样? 如何判断两棵树是否结构完全相同? …...
物联网遇到人工智能,极快的加速物联网时代
近些年物联网已成为众多科技企业的战略目标,如智能家居等,在未来,手机、传感器等智能设备都走进了生活当中,据数据显示已经有80%以上的的智能手机配备了人工智能。人工智能也不陌生,自动驾驶、人脸识别这些应用场景都是…...
Vue3+Ts项目中经常遇到导入组件,vscode报无法找到模块xxx,xxx隐式拥有 “any“ 类型解决办法~
1、报错截图: 2、解决办法:在确保路径正确的情况下,你会在 src 目录下找到一个名为 env.d.ts 的文件(或者类似的名称)。在这个文件中,你可以声明 .vue 文件的模块类型。例如:(这告诉 TypeScript…...
郑州轻工业大学zzulioj1151~1159合集
郑州轻工业大学zzulioj1151~1159合集 郑州轻工业大学zzulioj1151~1159合集 1150数数多少个整数1151大整数加法题目描述1152: 二分搜索1153简易版最长序列题目描述1154: 校门外的树1155字符串比较 多实例题目描述1156单数变复数题目描述1157连续的n个1题目描述1158又是排序&…...
开发框架DevExpress XAF v24.2产品路线图预览——增强跨平台性
DevExpress XAF是一款强大的现代应用程序框架,允许同时开发ASP.NET和WinForms。XAF采用模块化设计,开发人员可以选择内建模块,也可以自行创建,从而以更快的速度和比开发人员当前更强有力的方式创建应用程序。 DevExpress XAF是一…...
程序员短视频上瘾综合症
一、是你疯了还是面试官疯了? 最近有两个学员咨询问题,把我给整得苦笑不得。大家来看看,你有没有同样的症状。 第一个学员说去一家公司面试,第一轮面试聊得挺好的。第二轮面试自我感觉良好,但是被面试官给Diss…...
image.convert()函数转换格式及显示图像的RGB三通道图像
引 言 视觉任务处理的图片按照图像通道深度分为单通道图像和多通道图像。单通道图像有grayscale灰度图、binary二值图、PNG图,多通道图像有三通道24位真彩色RGB图,8位伪彩色图像,YCbCr图像等。本文先介绍各种格式图像的特点,随后讲…...
C语言 ——— 在控制台实现扫雷游戏(一次展开一片,递归实现)
前言 两个数组,一个用来显示在控制台上,一个用来存放雷 两个数组的实际大小为11 * 11 ,而为了方便排查雷的个数,实际使用范围是9 * 9 test.c #include"mine_sweeping.h"void game() {// 存放雷char mine[ROWS][COL…...
el7升级Apache模块编译
1.背景 接续https://blog.csdn.net/nanhai_happy/article/details/140566070,由于升级升级Apache过程中,发现需要使用的mod_wsgi、mod_systemd和mod_cgi模块缺失,故接着解决继续编译生成。 2. 编译mod_cgi、mod_system 2.1 安装依赖 yum …...
Linux系统下的日志管理与ELK Stack实践
关于“Linux系统下的日志管理与ELK Stack实践”,这个主题涵盖了如何在Linux环境中高效地收集、解析、存储及分析日志,以及如何利用ELK Stack(Elasticsearch、Logstash、Kibana)这套工具来实现日志的集中管理和可视化。下面我会简要…...
C++入门基础知识
在之前我们学习了C语言和初阶数据结构的相关知识,现在已经有了一定的代码能力和对数据结构也有了基础的认识,接下来我们将进入到新的专题当中,这个专题就是C。在C中我们需要花费更大的精力和更长的时间去学习这门建立在C语言基础之上的计算机…...
Python爬虫技术 第28节 数据可视化
Python 爬虫设计结合数据可视化是一个非常强大的组合,可以用来分析和展示从网络获取的数据。以下是如何设计一个 Python 爬虫并结合数据可视化的详细步骤: 步骤 1: 确定数据源和目标 首先,确定你想要爬取的数据源和目标。例如,你…...
react中的装饰器
一、初见react装饰器 初初接触react,发现一些神秘符号和语法,觉得很神奇。类似这样: import React, { PureComponent, Fragment } from react; import {Form} from antd;Form.create() class UpdateForm extends PureComponent {。。。 }哇…...
Elasticsearch:用例、架构和 6 个最佳实践
1. 什么是 Elasticsearch? Elasticsearch 是一个开源分布式搜索和分析引擎,专为处理大量数据而设计。它建立在 Apache Lucene 之上,并由Elastic 支持。Elasticsearch 用于近乎实时地存储、搜索和分析结构化和非结构化数据。 Elasticsearch 的…...
tcp常用网络接口 linux环境
TCP(传输控制协议)网络通信是常见的网络应用形式,它提供了面向连接的、可靠的数据传输服务。TCP通信常用的接口主要包括以下几个方面: 常用接口 1. socket() int socket(int domain, int type, int protocol); 功能࿱…...
第10节课:JavaScript基础——网页交互的魔法
目录 JavaScript的作用JavaScript的基本语法基本语法规则变量、数据类型和运算符变量数据类型运算符 实践:使用JavaScript增强网页功能结语 JavaScript是一种高级的、解释型的编程语言,它使得网页能够从静态文档转变为具有动态交互性的应用程序。本节课将…...
AI读脸术与PyTorch方案对比:CPU推理速度谁更强?实战评测
AI读脸术与PyTorch方案对比:CPU推理速度谁更强?实战评测 1. 引言 你有没有想过,给一张照片,AI就能告诉你里面的人是男是女、大概多大年纪?听起来像是科幻电影里的场景,但现在,这已经是触手可及…...
Step3-VL-10B-Base助力互联网内容分析:海量图文信息的情感与主题挖掘
Step3-VL-10B-Base助力互联网内容分析:海量图文信息的情感与主题挖掘 每天,互联网上都会产生数以亿计的图文内容,从社交媒体上的随手一拍,到新闻网站的长篇报道。对于品牌方、内容平台或是研究者来说,如何从这片信息的…...
深度学习项目训练环境生产环境:支持持续训练、断点续训、多卡DDP扩展
深度学习项目训练环境生产环境:支持持续训练、断点续训、多卡DDP扩展 1. 环境概览与核心优势 深度学习项目训练环境是专门为机器学习开发者打造的一站式解决方案。这个环境基于深度学习项目改进与实战专栏精心配置,预装了完整的开发套件,让…...
OpenClaw环境迁移:千问3.5-9B配置跨设备同步方案
OpenClaw环境迁移:千问3.5-9B配置跨设备同步方案 1. 为什么需要环境迁移 上周我的主力开发机突然硬盘故障,导致所有OpenClaw配置和千问3.5-9B模型参数丢失。这个意外让我意识到:在本地AI工作流中,环境迁移能力不是锦上添花&…...
Kook Zimage真实幻想Turbo保姆级教学:WebUI历史记录导出与管理
Kook Zimage真实幻想Turbo保姆级教学:WebUI历史记录导出与管理 1. 项目简介 Kook Zimage真实幻想Turbo是一款专为个人GPU设计的轻量化幻想风格文本生成图像系统。基于Z-Image-Turbo官方极速文生图底座,通过自定义权重清洗与非严格注入方式,…...
全球首发 | 「AI智能库」正式官宣,智库智能重新定义仓库!
智库智能 江苏智库智能科技有限公司创立于2017年,是全球托盘仓储机器人领航者,专注于托盘仓储机器人的研发设计和生产交付,拥有机器人本体、业务系统、核心算法、交付系统等全价值链研发能力。公司已推出多款托盘仓储机器人及智能仓储软件…...
AI基础设施权力更迭:AWS Bedrock 凭什么在 2026 年让开发者集体“倒戈”?
声明:本文由AI编辑生成,内容仅供参考。文中涉及的行业判断、平台能力分析、商业趋势推演与产品价值描述,均基于公开资料、通用观察及示意性表达整理,不构成任何商业承诺、采购建议、投资建议或服务保证。实际产品能力、接口支持范…...
Android系统异常问题处理全攻略:从死机重启到日志分析,手把手教你构建排查体系
文章目录1 前言:为什么你的手机总是卡死、重启?2 系统异常的“五层分诊”3 核心原理:系统是如何判定“你该死”的?3.1 ANR的判定机制3.2 Watchdog机制:守护SystemServer4 日志的“三板斧”:每一个死机问题都…...
Twisted:开源栈式 JS 虚拟机(JSVMP)功能介绍、痛点、后续计划
Twisted:开源栈式 JS 虚拟机(JSVMP)功能介绍、痛点、后续计划 仓库:github.com/0xfffb/twisted 测试地址:click 定位 Twisted 是用 TypeScript 实现的栈帧式 JSVMP 工具链:将子集 JavaScript 编译为自定…...
一文讲清,精益六西格玛咨询是什么意思?做精益六西格玛咨询对企业有什么用?
精益六西格玛咨询到底是什么?简单来说,精益六西格玛咨询是一种将精益生产的效率与六西格玛的质量管理相结合的系统化服务,旨在帮助企业消除浪费并减少变异。通过引入精益六西格玛咨询,企业能够利用数据驱动的方法解决复杂的管理难…...
