- 博客(14)
- 收藏
- 关注
原创 7 自注意力机制
本文介绍了自注意力机制(Self-Attention)及其在自然语言处理中的应用。首先阐述了如何通过词嵌入(Word Embedding)将文字转换为向量表示,对比了One-Hot编码的局限性。然后分析了序列数据处理的关键问题:需要考虑上下文信息,介绍了RNN、LSTM等传统序列模型及其并行计算缺陷。重点讲解了自注意力机制的工作原理,包括查询(Q)、键(K)、值(V)向量的计算过程,以及多头注意力机制和位置编码(Position Embedding)的重要性。最后概述了Transformer架构,区分了编码
2026-02-14 17:26:03
624
原创 5 分类实战——食物分类问题
本文介绍了一个基于PyTorch的半监督食物分类项目。项目使用ResNet18预训练模型,在3080张有标签和6786张无标签食物图像上进行训练。核心内容包括:1) 数据加载与预处理,实现图像增强和格式转换;2) 半监督训练机制,通过高置信度(>0.99)伪标签扩充训练集;3) 模型训练流程,结合有监督和半监督训练。实验结果显示,模型准确率从初始33%提升至64.5%,半监督训练准确率达到90.6%。文章还分析了训练过程中的Loss和Acc曲线变化,并提出了增加训练轮次、调整阈值等优化建议。该项目展示
2026-02-11 22:33:45
615
原创 4 分类任务之图片分类:卷积神经网络
维度匹配:直接使用输入 x 作为捷径,结构简单高效。维度不匹配:在捷径分支添加 1×1 卷积,同步调整通道数和空间尺寸,保证残差连接可实现。特征图是卷积神经网络(CNN)每一层的输出,它是对输入图像的抽象表示。每一层的卷积核会学习提取不同的视觉特征:浅层:提取边缘、纹理等基础视觉信息。深层:提取更抽象的语义信息,如 “猫的耳朵”、“猫的眼睛” 等。图中,输入的猫咪图像经过多层卷积后,最终被编码成一个高维的特征向量,这个向量就浓缩了图像的核心信息。特征提取器(编码器)
2026-02-05 17:23:35
624
原创 LeetCode 35.搜索插入位置、34.在排序数组中查找元素的第一个和最后一个位置、69.x的平方根、367.有效的完全平方数
本文解析了LeetCode上与二分查找相关的三道题目:35.搜索插入位置、34.在排序数组中查找元素的第一个和最后一个位置、69.x的平方根和367.有效的完全平方数。重点讲解了二分查找在不同场景下的应用,包括处理目标值不存在时返回插入位置(35题)、查找重复元素的边界(34题),以及求平方根和判断完全平方数(69和367题)。文章提供了暴力解法和二分法两种实现思路,强调二分法在有序数组中的高效性(O(logn)时间复杂度),并详细说明了二分查找的两种区间定义方法(左闭右闭和左闭右开)。通过具体代码示例展示
2026-02-03 23:58:43
671
原创 链表理论基础
本文介绍了链表的基本类型和操作。链表分为单链表(单向指针)、双链表(双向指针)和循环链表(首尾相连)三种类型。链表节点在内存中非连续分布,通过指针连接。文章详细说明了链表的C语言定义方式,并阐述了节点的删除和添加操作,指出其时间复杂度为O(1)。最后比较了链表与数组的性能差异,强调链表适合数据量不固定、频繁增删的场景。链表操作灵活但查询效率较低,需根据具体需求选择数据结构。
2026-02-03 14:50:10
254
原创 数组总结篇
本文系统介绍了数组的理论基础和应用方法。数组作为连续内存空间存储的数据结构,具有随机访问特性,但增删元素需要移动其他元素。重点分析了五种经典数组处理思想:二分法(O(logn))、快慢指针(O(n))、滑动窗口(O(n))、模拟行为和前缀和,每种方法都配有典型例题。特别强调了二分法的区间定义、滑动窗口的动态调节以及模拟行为的边界控制技巧,这些方法能有效优化暴力解法的时间复杂度。文章还比较了vector和array的区别,指出二维数组在不同语言中的存储差异,为高效处理数组问题提供了全面的理论指导和实践方法。
2026-02-01 17:29:55
489
原创 LeetCode 209.长度最小的子数组、59.螺旋矩阵II、区间和、开发商购买土地
本文介绍了四道算法题的解题思路和代码实现:1. LeetCode209(最小长度子数组)使用滑动窗口法,通过双指针动态调整窗口大小,将时间复杂度从O(n^2)优化到O(n)。2. LeetCode59(螺旋矩阵II)采用分层填充策略,按顺时针方向由外向内填充矩阵,处理奇偶情况。3. 区间和问题利用前缀和思想,通过预处理数组快速计算任意区间和。4. 开发商购地问题结合前缀和与暴力枚举,分别计算行列方向分割后的最小价值差。这些题目展示了滑动窗口、螺旋矩阵填充和前缀和等经典算法的应用。
2026-02-01 17:01:49
619
原创 3 回归实战——新冠病毒感染人数预测
本文基于美国40个州连续三天的新冠阳性数据,构建了一个回归预测模型。通过特征选择筛选出6个关键特征(前两日阳性人数、社区症状等),采用两层全连接神经网络进行训练。模型使用带L2正则化的MSE损失函数防止过拟合,经20轮训练后验证损失降至0.95。测试结果显示预测值范围合理(2.6-40.6),生成符合Kaggle要求的提交文件。项目完整实现了数据预处理、模型训练、验证评估和结果输出的全流程,为结构化数据回归任务提供了可复用的代码模板,并分析了优化方向(超参数调优、模型复杂度提升等)。
2026-01-31 19:34:55
608
原创 LeetCode704.二分查找、27.移除元素、977.有序数组的平方
本文讲解了LeetCode三道经典算法题的解法:704二分查找、27移除元素和977有序数组的平方。704题介绍了二分查找的两种区间定义方法(左闭右闭和左闭右开),并给出了相应代码实现。27题对比了暴力解法和双指针解法,重点分析了快慢指针的高效性。977题通过双指针法巧妙处理负数平方后的排序问题,避免了直接排序的时间消耗。三题都强调了时间复杂度优化和边界条件处理的重要性,并推荐了相关扩展题目。
2026-01-29 02:08:18
958
原创 2 初识神经网络代码
本文介绍了Python基础语法(变量赋值、循环、判断、函数)和线性回归模型的实现方法。通过手写代码模拟线性回归任务,包括数据生成(带噪声的线性数据)、批量数据加载、模型预测、损失计算(MAE)、梯度反向传播和SGD参数更新等核心流程。使用PyTorch进行张量计算和自动求导,Matplotlib可视化数据。最终训练结果使初始参数逼近真实值(w_0接近true_w,b_0接近true_b),并通过散点图和拟合直线直观验证模型效果。整个过程不依赖深度学习框架高层API,完整展示了线性回归的实现原理。
2026-01-05 02:00:38
267
原创 1 神经网络概述
摘要:本文系统探讨了神经网络的基本原理与训练过程。首先介绍了生物神经元与人工神经元的异同,重点阐述了激活函数在引入非线性因素中的关键作用。其次详细解析了深度学习训练的三个核心步骤:模型定义、损失函数设计和优化过程(包括前向传播、反向传播和参数更新)。最后深入分析了过拟合与欠拟合问题,从现象表现到产生原因进行了系统阐述,并针对性地提出了解决方案:对于过拟合,建议采用数据增强、正则化、Dropout等方法;对于欠拟合,推荐增加模型复杂度、优化特征工程和调整训练策略。文章为理解神经网络工作机制及优化模型性能提供了
2026-01-04 21:19:01
610
原创 0 机器学习与深度学习
机器学习是人工智能的核心分支,让计算机从数据中自主学习规律。传统算法包括KNN(基于距离分类)、决策树(模拟人类决策逻辑)和朴素贝叶斯(基于概率分类)。深度学习是机器学习的子集,利用多层神经网络处理向量、矩阵和序列数据,完成回归、分类和生成任务。神经网络的训练包括定义模型、损失函数和优化参数三个步骤,通过梯度下降最小化预测误差。机器学习算法广泛应用于图像识别、时序预测和结构化数据分析等领域。
2026-01-04 19:54:59
977
原创 / 环境配置
本文介绍了深度学习环境配置的关键步骤:1. 推荐使用PyCharm专业版作为IDE,详细说明了2022.1.3版本的安装和破解方法;2. 建议安装Anaconda管理Python环境,强调要选择2022.10版本并安装在D盘;3. 指导创建Python 3.8的conda环境并配置到PyCharm中;4. 提供CUDA 10.2版本的PyTorch安装命令,以及pandas、matplotlib等必备包的安装方法。文章特别提醒要注意环境路径选择、代理关闭等常见问题,并提供了相关软件下载链接。
2026-01-02 23:56:34
1110
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅