- 博客(53)
- 收藏
- 关注
原创 【嵌入式入门篇】STM32开发板原理图
英文缩写名称英文缩写名称NVIC嵌套向量中断控制器CANCAN通信SysTick系统滴答定时器USBUSB通信RCC复位和时钟控制RTC实时时钟GPIO通用IO口CRCCRC校验AFIO复用IO口PWR电源控制EXTI外部中断BKP备份寄存器TIM定时器IWDG独立看门狗ADC模数转换器WWDG窗口看门狗DMA直接内存访问DAC数模转换器USART同步/异步串口通信SDIOSD卡接口I2CI2C通信FSMC。
2026-09-03 11:28:03
314
原创 【深度学习】理解前向传播和反向传播的原理
因为 $ f’(z) = 0 $ 当 $ z \leq 0 $ 时,误差信号被彻底阻断,梯度无法传回,该神经元再也无法激活。其中 $ z_i = W_{ij} \cdot a_j + \dots$,所以偏导自然会乘上 $ a_j $。如果上一层的神经元没激活($ a_j=0 $),那权重调不调都没影响 → 梯度为0。:$ a^{(L)} $ 就是预测值 $ \hat{y} $$ \odot $ 表示逐元素相乘(哈达玛积)。: 梯度 = 当前层的后悔程度() × 上一层的兴奋程度(
2026-09-02 09:23:44
613
原创 【深度学习】深度理解多分类交叉熵为什么比较适合于分类任务
它只关心“正确答案”的概率是否足够大,而不关心错误类别的具体分布(只要它们总和为1即可)。表示(one-hot encoding),即真实概率分布 $ y $ 中,正确类别为1,其余为0。可以看到,正确概率从 0.7 降到 0.1,损失从 0.356 急剧上升到 2.302,梯度会非常大,迫使模型快速修正。而交叉熵在错误时梯度大,在正确时梯度小,完美契合了梯度下降的需求。),梯度很小(0.01),更新缓慢,防止震荡;个类别),对于一个样本,其真实标签通常用。),梯度很大(0.9),快速修正。
2026-09-01 22:33:19
503
原创 【嵌入式入门篇】高性能的 ARM 与 STM32 —— 概述
这是ARM公司对外授权的核心技术。它是一种基于精简指令集计算(RISC)的处理器架构。可以把它理解为CPU的“设计规范”或“语言”,它规定了处理器如何理解并执行软件指令。ARM架构的核心优势是低功耗、高性能和高能效,这使得它特别适合对电池续航和散热有严格要求的移动设备。ARM的商业模式,本质上是将芯片设计方案的“使用权”卖给其他公司,并从中获利。授权费 (License Fee):这就像一次性付清的“学费”。客户在获得ARM技术进行芯片设计时,需要先支付一笔授权费。根据技术的复杂程度,这笔费用通常在。
2026-09-01 20:51:09
323
原创 【强化学习】(三)强化学习算法?DQN、PG、PPO
DQN是深度强化学习(Deep Reinforcement Learning, DRL)领域的奠基性算法,由 Mnih 等人于 2013 年在 NIPS 提出,并于 2015 年在《Nature》上发布改进版。将深度学习(DL)的感知能力与强化学习(RL)的决策能力相结合,首次实现从高维原始像素(如游戏画面)直接学习到最优策略(Human-level control)。DQN的损失函数就是基于这个时序差分(TD)目标LθErγmaxa′Qs′a′;θ−−Qsa。
2026-08-31 09:12:14
506
原创 【强化学习】(二)从有偏无偏估计到强化学习三大求解器:DP、MC与TD
DP是“上帝视角”的精确规划,MC是“算总账”的无偏经验,TD是“边干边估”的有偏自举。三者从完全模型走向完全无模型,从无偏走向有偏,本质是在偏差与方差之间做权衡,以换取实际应用中的可行性与效率。
2026-08-30 15:46:37
521
原创 【强化学习】(一)强化学习概述 马尔可夫决策 MDP
强化学习(Reinforcement Learning, RL)是机器学习的一种核心范式,它描述了智能体(Agent)如何通过与环境(Environment)的交互,以“试错”的方式学习如何做出最优决策,以最大化长期累积的奖励(Reward)。它与监督学习和无监督学习并列为机器学习的三大基础范式。RsaERt1∣StsAtaRsaERt1∣StsAta奖励函数最根本的作用是定义任务目标。
2026-08-30 13:05:55
643
原创 【机器学习】XGBoost 回归
XGBoost(eXtreme Gradient Boosting,极限梯度提升)是一个功能强大、应用广泛的机器学习算法库,可以看作是梯度提升决策树(GBDT)算法在性能和效果上的“极致升级版”。监控效果,当验证集误差连续多轮不再下降时(早停,early stopping)就提前终止,避免过拟合。假设回归任务,真实值 y = 100,初始预测值 = 0,学习率 lr = 0.5(为了演示取大一点):在当前节点,从所有特征和所有候选切分点中,选出。,每棵树贡献一个值,最后全部加起来。预测值,向真实值靠拢。
2026-08-30 10:14:05
768
原创 【机器学习】高斯分布 高斯混合模型
现在的问题来了:当我们使用GMM时,我们手头只有一堆数据点,却不知道这些数据点分别属于哪个高斯分布,也不知道每个分布的参数(均值、方差)和权重。,它描述了一个最常见的自然规律:大多数数据会集中在一个平均值附近,偏离越远的数据出现的可能性越小。现实中的数据往往很复杂,单一的高斯分布无法很好地描述。比如,当我们统计一群人的身高时,由于男女身高各有自己的均值,整体数据会呈现出。因为可以组合多个高斯分布,GMM非常灵活,能平滑地近似任意形状的密度分布,因此在聚类、语音识别、图像分割等领域应用广泛。
2026-08-29 08:58:50
396
原创 【机器学习】决策树 随机森林
决策树就是一个**“连环追问”**的流程图,帮你一步步做出决定。,使得分裂后,子节点里的数据尽可能“纯”(即尽量属于同一类)。构建决策树的核心,就是在当前节点的所有数据中,找到一个。在CART(分类与回归树)算法中,选择使得。(因为sklearn默认用它)。(也就是让数据分得最开)。,通过投票来做决策。
2026-08-29 08:57:47
340
原创 Vue CLI笔记
脚手架就是帮你自动生成一个"已经配好工程化环境"的 Vue 项目文件夹。打个比方:你要盖房子,以前你得自己打地基、拉水电、砌墙;现在你直接买一套"精装样板间"的图纸和材料包,拿到手就能开始装修(写业务代码)了。组件就是一块独立的、可复用的 UI 片段,它把打包在一个.vue文件里。你可以把它理解成乐高积木——一个小按钮是一个组件,一个导航栏是一个组件,一个页面是由多个组件拼起来的。路由就是控制"页面上显示哪个组件"的开关。比如:你点"首页" → 显示Home.vue;点"关于" → 显示。
2026-08-29 08:55:39
480
原创 【机器学习】朴素贝叶斯 贝叶斯回归
朴素贝叶斯(Naive Bayes)是一种基于贝叶斯定理的简单但强大的分类算法。它的名字很形象:“朴素”指它的核心假设,“贝叶斯”指它的理论基础。如果特征有几十个,$ P(X | C_k) $ 的联合概率计算量是天文数字,且需要海量数据。朴素假设登场:假设所有特征 $ x_1, x_2, … $ 在给定类别 $ C_k $ 的条件下相互条件独立。
2026-08-28 08:56:46
297
原创 【机器学习】线性回归 Ridge 回归 Lasso 回归
结果就是,系数变得极大且正负抵消(比如面积系数 +10000,房间数系数 -9999),模型极其不稳定。:加了 $ \lambda I $ 后,即使 $ X^T X $ 奇异,矩阵依然可逆,数值稳定性大大提高。:即便你有 10000 个特征,其中 9900 个是噪音,线性回归也会强行给每个特征分配一个非零系数。,而不是几何上的最短距离——因为几何距离会把 x 的误差也算进去,但我们的假设里 x 没有误差。:如果两个特征高度相关(比如“房子面积”和“房间数量”),线性回归会犯难:到底把权重给谁?
2026-08-28 08:55:07
451
原创 Spring Data ElasticSearch 5.x 版本新特性
从 Spring Data Elasticsearch 4.x 升级到 5.x 是一次,核心驱动力是底层 Elasticsearch 客户端的全面更换以及对 Java 17 和 Spring Framework 6 的支持。因此,这次迁移会引入一些。
2026-08-28 08:30:00
470
原创 HTML 前端入门
纯文本:文件中只有文字字符,比如.java.txt文件。它们不能显示图片、视频,也不能跳转链接。超文本:文件中不仅可以有文字,还可以放图片、视频、音频、链接等。比如.md.pptx文件就是超文本。标签:HTML 里所有的功能都是通过“标签”实现的,但标签不能自己乱造,必须使用 W3C 组织规定好的标签。JS 是一种脚本语言,专门用来操作网页内容。它不能单独运行,必须写在.html文件中,由浏览器执行。我们学的是ES6 版本(更接近 Java 的写法)。var a;// 老式写法let b;
2026-08-27 10:11:11
291
原创 SpringBoot 入门
在 Spring 3.0 开始,Spring 官方推荐使用Java 配置来代替传统的 XML 配置。面向对象的配置:配置类可以继承、重写方法减少/消除 XML 配置类型安全和重构友好核心依赖:</</</</是由 Pivotal 团队提供的全新框架,用于简化 Spring 应用的初始搭建和开发过程,被称为搭建程序的“脚手架”。// ...时间 日志级别 线程ID 线程名称 日志类 日志说明infoLogback。
2026-08-27 10:08:16
252
原创 Spring 框架
回想一下我们之前使用JSP + Servlet + JavaBean开发Web应用的方式。一个很常见的问题是:一个请求对应一个Servlet,导致Servlet类数量爆炸。而且,在Servlet中接收请求参数、进行类型转换、调用业务逻辑、处理跳转等操作,代码往往又繁琐又重复。Spring MVC(以及Spring框架本身)就是为了解决这些问题而生的。它不是一个全新的东西,而是一套基于MVC设计模式的最佳实践框架,帮我们处理了Web开发中那些“脏活累活”,让我们能更专注于核心业务。“传统”方式。
2026-08-26 10:42:34
264
原创 【Java Web】Servlet + JSP 笔记
类型组成解析方静态 Web 资源浏览器动态 Web 资源服务器开发商:Apache 公司作用:运行 JavaWeb 程序的服务器软件默认端口:8080Servlet是一个运行在服务器上的 Java 程序,用于接收浏览器请求、处理数据并返回响应结果。它是生成动态 Web 资源的核心技术。是服务器端的动态 Web 资源,可以理解为"简化的 Servlet",它允许在 HTML 中嵌入 Java 代码。层级名称作用对应组件表示层展示数据、接收请求业务层Service。
2026-08-26 10:25:13
289
原创 MySQL 笔记
数据库是用于实现数据持久化存储与高效管理的核心基础设施,几乎所有的软件系统都依赖数据库来承载业务数据,是信息系统的“数据心脏”。DDL 用于定义数据库对象(库、表、索引、视图等)的结构。子查询是在一个 SQL 语句中嵌套另一个查询,被嵌套的查询称为子查询。类似于 Java 中的流程控制嵌套。
2026-08-25 16:48:38
474
原创 Activiti7 工作流框架入门
工作流(Workflow)是指业务过程在计算机应用环境下的全部或部分自动化,是对工作流程及其各操作步骤之间业务规则的抽象与概括描述。在计算机领域,工作流属于计算机支持的协同工作(CSCW)的一部分,后者主要研究群体如何在计算机辅助下实现协同合作。工作流的核心目标在于:围绕某一业务目标,借助计算机系统,按照既定规则在多个参与者之间自动传递文档、信息或任务,从而实现流程的高效流转。典型应用场景包括:工作流实现方式的演进:工作流里面有三个概念:BPMN(Business Process Model and Not
2026-08-25 09:02:10
436
原创 登录鉴权相关笔记
OAuth2(开放授权 2.0)是一种授权框架,允许第三方应用在用户授权的前提下,安全访问用户在另一平台上的资源,而无需获取用户的账号密码。OAuth2 是“允许用户使用 Gitee / GitHub / 微信等账号登录你的应用”的技术标准。@Data@NotBlank(message = "授权码不能为空")@Data在复杂系统中,访问控制是基础安全需求。新增用户需重复配置权限;岗位变动时需逐一调整;权限回收困难,容易累积冗余;缺乏统一管理视角。
2026-08-25 09:01:43
322
原创 【Kubernetes 实战】(二)部署 Ruoyi-Cloud —— 部署服务
此文件包含 MySQL、Redis 的 PV 配置,需要根据实际节点名称修改。: PV 没有 nodeAffinity,Pod 被调度到不同节点。: Nacos 配置中 Redis 地址错误。检查浏览器 Console 是否有错误。检查 Network 标签页,确认。模式,数据持久化到 MySQL。应该能看到 RuoYi 登录页面。: 无法访问 Docker Hub。: PVC 未绑定或资源不足。或在所有节点配置镜像加速器。为你的实际镜像仓库地址。: Profile 不匹配。登录 Nacos 控制台。
2026-08-24 11:15:12
256
原创 【Kubernetes 实战】(一)部署 Ruoyi-Cloud —— 环境准备
项目信息Kubernetes 版本v1.28.2容器运行时containerd网络插件Pod 网段Service 网段。
2026-08-24 11:08:58
320
原创 Kubernetes笔记
自我修复:Kubernetes 将重新启动失败的容器、替换容器、杀死不响应用户定义的运行状况检查的容器, 并且在准备好服务之前不将其通告给客户端。弹性伸缩:可以根据需要,自动对集群中正在运行的容器数量进行调整服务发现和负载均衡:Kubernetes 可以使用 DNS 名称或自己的 IP 地址来暴露容器。如果进入容器的流量很大, Kubernetes 可以负载均衡并分配网络流量,从而使部署稳定。版本回退:如果发现新发布的程序版本有问题,可以立即回退到原来的版本。
2026-08-24 11:05:20
271
原创 Docker 容器技术笔记
Docker 是一种轻量级的应用容器化平台,可以将应用程序及其依赖环境打包成一个标准化的单元,实现“一次构建,到处运行”。为什么使用 Docker组织有序性:便于管理不同应用之间的依赖关系,避免环境冲突。便携性:解决应用迁移和集群部署的问题,保障开发、测试、生产环境一致性。安全性:容器之间相互隔离,降低应用间的干扰和攻击面。传统虚拟化 vs 容器虚拟化比较项传统虚拟化容器虚拟化创建速度较慢(需启动完整操作系统)极快(共享宿主机内核)性能消耗有显著的性能损耗几乎无额外性能开销。
2026-08-23 22:42:35
306
原创 Linux 学习笔记
Linux 是一款免费、开源、自由传播的操作系统,广泛应用于企业级服务器、开发环境、嵌入式系统等领域。其稳定性、安全性和高性能使其成为服务器端的首选操作系统之一。
2026-08-23 22:37:27
303
原创 Nginx 笔记
为什么选择 Nginx高性能 & 高并发:采用事件驱动(epoll)和异步非阻塞架构,单机可轻松支撑数万并发连接,远优于传统的多进程/多线程模型。反向代理:隐藏后端真实服务,提供统一的请求入口,同时可配合缓存、压缩、安全过滤等增强能力。负载均衡:支持多种分发策略(轮询、权重、IP哈希、最少连接等),有效分摊后端压力,提升系统整体吞吐量。静态内容处理:对静态文件(HTML、CSS、JS、图片等)的处理效率极高,且支持sendfile零拷贝技术,大幅降低CPU和内存开销。高可靠性 & 热部署。
2026-08-23 21:57:19
303
原创 【微调】(案例)SpeedWolf 狼人杀策略分析模型
这里注意一下,由于我们选择了 Qwen3.5-4B-Thinking,40亿的参数训练出来的结果一定是不尽人意,所以如果说想要训练更好的模型,就要选择更高参数的基础模型,还有更高的算力,使用的参数一定也不一样。因为作者名字里带兔,那么有句古话说的好,RabbitMQ(兔子没钱),所以我就不租用那么高的算力了,我们能看出来这个模型训练有效就算完成学习。然后选择 Chat 模式,点击加载模型,验证这个模型即可。相反的,过拟合的表现就是不懂得变通了,换句话说模型压根就没有学会推理,而是记住了训练集里的高频话术。
2026-08-23 16:38:27
572
原创 【大模型】大模型的量化
硬件限制:动辄需要数百GB显存,远超绝大多数消费级和企业级显卡的容量。模型参数量显存需求(使用AdamW)现实所需硬件1B20GB7B112~140GB双卡 A100 80G13B208~260GB四卡 A100 80G/H100 80G70B八卡 A100 80G/H100 80G推理延迟:参数量的巨大导致每次推理都需要巨大的计算量,使得响应速度慢,难以满足实时应用(如对话、翻译)的需求。模型参数量精度硬件7BFP16A100 80G7BINT413BFP16。
2026-08-22 19:45:17
343
原创 【深度学习】(六)卷积神经网络 循环神经网络
文本数据是具有序列特性的,例如: “我爱你”, 这串文本就是具有序列关系的,“爱” 需要在 “我” 之后,“你” 需要在 “爱” 之后, 如果颠倒了顺序,那么可能就会表达不同的意思。,例如: 我们有 100 个词,每个词希望转换成 128 维度的向量,那么构建的矩阵形状即为: 100*128,输入的每个词都对应了一个该矩阵中的一个向量。当一个新的输入进入网络时,当前的隐藏状态会结合这个新输入来生成新的隐藏状态。它的核心逻辑是:用一个固定大小的窗口(如 2×2),在输入数据上滑动,将窗口内的多个值。
2026-08-21 19:07:55
508
原创 【微调】(一)概述
微调,简单来说,就是给一个已经受过“通识教育”的通用大模型,进行“岗前培训”。具体操作是:拿一个已经在大规模通用数据(比如全网文本)上训练好的预训练模型,让它在你特定的、带有标签的小规模数据集上继续训练一段时间。这个过程会调整模型内部的参数,使它从“什么都懂一点的通才”,变成“在你指定的领域特别擅长的专才”。回答太“官方”:它像一本百科全书,能回答问题,但语气中性,不会用你的风格说话。不懂内部知识:它不知道你们公司的内部制度、最新产品细节或特定行业黑话。提升精度。
2026-08-21 18:54:33
716
原创 【深度学习】(五)参数调优策略
先粗后细:先用大范围网格搜索找最优区间,再用贝叶斯优化或随机搜索精细调整。固定随机种子:确保每次实验可复现(seed=42或2024),排除随机性干扰。从简开始:先关掉所有正则化(Dropout=0, WD=0),让模型过拟合一个Batch(证明模型代码无误且有拟合能力),再逐步添加正则化。Log 一切:不仅看Loss,要看梯度范数(Gradient Norm)——如果范数>10,说明梯度爆炸;如果<1e-5,说明梯度消失。缩放定律:对于大模型,模型大小、数据量、计算量三者遵循幂律关系。
2026-08-20 11:33:27
492
原创 【深度学习】(四)案例:基于PyTorch的全连接神经网络实现手机价格区间预测
Jones创办了一家二手手机公司,在经营过程中遇到了一个核心难题:如何准确估算二手手机的合理售价。为了解决这个问题,他系统性地收集了多家手机销售公司的历史交易数据。该数据集包含了二手手机的各项性能指标,以及对应的最终成交价格区间。价格被划分为0、1、2、3四个等级,分别代表从低到高的价格范围,这使得问题本质上成为一个多分类任务,而非传统的回归预测问题。特征名称含义说明单位电池总容量毫安时(mAh)blue是否支持蓝牙布尔值处理器主频GHzdual_sim是否支持双卡布尔值fc。
2026-08-20 11:01:19
368
1
原创 【AI】Transformer 原理讲解
RNN 像人类"逐字阅读"一样处理文本,这带来了以下问题:Transformer的解法极其暴力:抛弃递归,全部用“注意力(Attention)”。你可以把Transformer模型想象成一个大型会议室,而词向量和位置编码就是每位参会者(单词)的身份名牌。词向量是把一个单词(如“苹果”)转换成一串固定长度的数字列表(比如512维)。在Transformer中:输入的句子(如“我 爱 中国”)中,每个词都会先查一个词嵌入表(Embedding Table),把自己映射成一个初始的词向量。既然词向量没有位置信息
2026-08-19 08:16:50
855
原创 【深度学习】(三)学习率优化
梯度下降是一种优化算法,核心是通过反复调整参数,让模型的预测误差(损失函数)降到最低。可以理解为下山找方向:计算当前位置最陡的下坡方向(梯度反方向)。迈一步:按照学习率设定的步长,向下走一步,更新参数。重复:直到走到最低点(误差最小)。关键点学习率:决定步长大小。太大容易错过最低点,太小则收敛太慢。常用形式小批量梯度下降,每次用一小批数据计算方向,兼顾速度与稳定。
2026-08-18 09:55:34
633
原创 【深度学习】(附录)常见的激活函数性质
令 $ x = z_1 - z_2 $,则第一个类别的概率为 $ \frac{1}{1+e^{-x}} $,这正是Sigmoid。其中 $ y_i $ 是真实标签(只有正确类别为1,其余为0),$ \hat{y}_i $ 是Softmax输出的概率。{-x})^2} $,整理后就是 $ \frac{1}{1+e^{-x}} \cdot \frac{e。:对 $ \frac{1}{1+e^{-x}} $ 求导,等于 $ \frac{e。:每个输出值 = 该类别“得分”的指数,除以所有类别“得分”指数的总和。
2026-08-18 08:43:32
535
原创 【深度学习】(二)神经网络
参数初始化,简单来说,就是在开始训练神经网络之前,给模型的权重(weights)和偏置(biases)设置一个初始值的过程。你可以把它理解为:在让一个模型开始“学习”之前,我们先给它一个“起点”。
2026-08-17 08:51:12
564
原创 【深度学习】(一)概述
深度学习是机器学习的一个子集,其核心是构建具有多个“隐藏层”的人工神经网络。它的灵感来源于人脑神经元的工作方式,但并非严格模拟生物神经机制。核心思想:通过“端到端”的学习方式,让模型自动从原始数据中逐层提取特征。浅层网络学习边缘、颜色等简单特征,深层网络则将这些简单特征组合成轮廓、部件乃至语义等复杂抽象概念。这一过程被称为“特征学习”或“表示学习”。发展关键数据:互联网时代积累的海量数据(图像、文本、语音)。算力:GPU(图形处理器)、TPU(张量处理器)等高性能计算硬件的普及。算法。
2026-08-17 08:46:40
633
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅