自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 循环神经网络实战:GRU 对比 LSTM 的中文情感分析(三)

本文对比了GRU和LSTM在中文情感分析任务中的表现。通过相同的短文本数据集,实验表明GRU训练速度更快,而效果与LSTM相近。GRU结构更简洁,参数更少,适合短文本分类和小规模数据;LSTM则在长文本和复杂依赖场景中表现更稳定。实际应用中可根据需求选择:追求效率选GRU,需要长期记忆选LSTM,或直接使用Transformer类模型。

2025-08-22 19:55:05 618 1

原创 循环神经网络实战:用 LSTM 做中文情感分析(二)

本文介绍了基于LSTM的中文情感分析实战项目。主要内容包括:1)使用ChnSentiCorp数据集进行中文文本预处理(分词、构建词典、序列化和Padding);2)在PyTorch中搭建包含Embedding、LSTM和全连接层的分类模型;3)训练过程设置损失函数和优化器,并记录loss曲线;4)测试阶段实现对新评论的情感预测。实验表明该模型在小数据集上能正确分类简单样本,完整训练后准确率可达85%-90%。文章提供了完整的代码实现,并建议后续可尝试GRU或Transformer模型以获得更好性能。

2025-08-21 20:02:51 1113

原创 循环神经网络(RNN)、LSTM 与 GRU (一)

本文介绍了三种处理序列数据的神经网络模型:RNN、LSTM和GRU。RNN是最基础的循环神经网络,能够建模序列信息但存在梯度消失问题。LSTM通过引入门控机制和细胞状态解决了长期依赖问题,但计算复杂度较高。GRU作为LSTM的简化版本,仅保留更新门和重置门,在保持性能的同时提高了计算效率。三种模型各有特点:RNN适合简单序列任务,LSTM擅长长序列建模,GRU则在速度和效果间取得平衡。实际应用中可根据任务需求选择合适的模型结构。

2025-08-20 18:59:01 1498 1

原创 yolo目标检测技术之yolov11项目实战(三)

本项目适合作为YOLO11 入门实战项目,覆盖从数据准备、训练、推理到部署的完整流程。Web 检测界面(Gradio/Streamlit)RTSP 实时流检测边缘设备部署(Jetson Nano)如需完整源码或部署脚本,欢迎留言或私信交流!

2025-08-15 19:45:30 1473 1

原创 Transformer之多头注意力机制和位置编码(二)

位置编码 = “给并行计算加上顺序感”。二者配合让 Transformer 既能并行又能保持序列有序。不同头关注不同模式(句法、语义、指代…直接把位置当 token 训,表现好但依赖最大长度超参。计算得到的 5×512 位置矩阵与词嵌入逐位相加即可。自注意力本身“无顺序”,需显式注入位置信号。多头 = “多组独立子空间”并行注意力;是一个超参数,用于控制频率的衰减。的“多头注意力”最小实现。是序列中位置的索引(从。是词向量的维度索引(从。

2025-08-14 18:58:49 1235

原创 Transformer 之自注意力机制(一)

it代表的是animal还是street呢,对我们来说简单,但对机器来说是很难判断的。小结:每个词同时扮演“提问者(Q)”、“身份证(K)”和“信息源(V)”三重角色,通过矩阵乘法一次性生成,随后进入注意力权重计算与加权求和。自注意力的目标是让每个位置的表示能够根据整个序列中其他位置的信息进行加权融合,从而捕获实体之间的相互关系。操作,确保每行的和为 1,得到的矩阵表示每个元素对其他元素的注意力权重。的身份,是所有位置给出的“介绍信”或“标签”,告诉别人自己是个啥玩意。进行三次线性变换,得到三个矩阵。

2025-08-13 18:42:15 1170

原创 yolo目标检测技术之yolo1到yolo5(二)

版本BackboneNeckAnchor多尺度关键创新v1无无单阶段、7×7×30v2Darknet-195输入多尺度Anchor、高分辨率分类v3Darknet-53FPN3×3=93 输出层逻辑回归、残差v4SPP+PAN3×3=9同上v5SPPF+PAN3×3=9同上Focus→SPPF、自适应 Anchor、工程化最强。

2025-08-11 19:55:01 953

原创 yolo目标检测技术:基础概念(一)

在计算机视觉领域,目标检测一直是核心任务之一,它广泛应用于自动驾驶、安防监控、医学影像分析等多个领域。

2025-08-07 16:26:04 865

原创 CNN卷积神经网络之注意力机制CBAM(六)

下面为你完整提取文档中关于。

2025-08-05 19:06:49 1063

原创 CNN卷积神经网络之MobileNet和ResNet(五)

本文介绍了MobileNet V1/V2和ResNet三种经典神经网络的核心思想与实现。

2025-08-04 20:03:18 979

原创 CNN卷积神经网络之VggNet和GoogleNet经典网络模型(四)

一句话:VGG 教会我们“小卷积加深”,GoogleNet 告诉我们“多尺度并行 + 1×1 降维”可以更高效。

2025-08-01 18:30:00 796

原创 CNN卷积神经网络之LeNet和AlexNet经典网络模型(三)

深度学习经典CNN模型对比:LeNet-5与AlexNet 本文对比分析了卷积神经网络发展史上两大里程碑式模型。

2025-07-31 19:10:40 1125

原创 CNN卷积神经网络之模型评估指标(二)

本文系统介绍了CNN模型评估的关键指标,包括TP、TN、FP、FN四个基础概念,以及准确率、精确率、召回率和F1-Score的计算方法和适用场景。通过Python代码展示了如何生成分类数据、训练模型并计算各项指标,特别演示了混淆矩阵绘制和ROC曲线分析方法。文章采用"从零开始"的教学方式,所有示例数据均现场生成,无需外部文件即可运行验证,为读者提供了完整的评估指标实践方案。

2025-07-29 18:45:00 1277

原创 CNN卷积神经网络之基础(一)

本文介绍了卷积神经网络(CNN)的基础知识和核心组件。首先分析了传统全连接神经网络在处理图像时的缺陷,指出了CNN通过局部连接、权重共享和池化三大特性解决这些问题。然后详细讲解了卷积操作原理,包括步长和填充的作用,并提供了PyTorch实现代码。此外还介绍了池化层的作用和实现方法。最后给出了一个完整的简单CNN模块实现案例,包含卷积、ReLU激活和最大池化。全文从理论到实践,帮助读者快速掌握CNN的核心概念和基础实现。

2025-07-28 18:43:37 1091

原创 全连接神经网络之批量标准化和模型保存与加载(七)

本文介绍了全连接神经网络中的批量标准化(BN)和模型保存与加载技术.

2025-07-24 15:06:29 891

原创 全连接神经网络之过拟合和欠拟合(六)

神经网络训练中常出现过拟合和欠拟合问题。过拟合表现为训练误差低但测试误差高,常因模型复杂或数据不足导致;欠拟合则是模型无法捕捉数据规律。解决欠拟合可增加模型复杂度、特征或训练轮数;应对过拟合可使用L1/L2正则化、Dropout和数据增强等技术。L2正则化通过惩罚大权重防止过拟合,Dropout随机关闭神经元减少依赖,数据增强则扩展训练数据多样性。文中还提供了包含Dropout和L2正则化的MNIST分类实战代码,展示了如何综合应用这些技术提高模型泛化能力。

2025-07-23 10:15:47 937

原创 全连接神经网络之反向传播(五)

含高清图解与 PyTorch 代码。会下降,说明权重已按梯度方向更新。

2025-07-22 11:41:29 597

原创 全连接神经网络之参数初始化和损失函数(四)

本文系统介绍了深度学习中参数初始化和损失函数的关键技术。在参数初始化部分,分析了固定值、随机、Xavier和He等初始化方法的数学原理及适用场景,强调打破对称性的重要性。损失函数部分详细对比了回归任务(MAE/MSE)和分类任务(CrossEntropy/BCE)的公式特点及PyTorch实现,指出输出层激活与损失函数的匹配关系。最后通过一个完整的MLP训练案例,展示了初始化与损失函数的实际应用流程,为模型训练提供了标准化实践参考。

2025-07-21 15:26:23 1172

原创 深度学习之激活函数(三)

稀疏激活:ReLU在输入小于等于 0 时输出为 0,这使得 ReLU 可以在神经网络中引入稀疏性(即一些神经元不被激活),这种稀疏性可以减少网络中的冗余信息,提高网络的效率和泛化能力。缓解梯度消失问题:相比于 Sigmoid 和 Tanh 激活函数,ReLU 在正半区的导数恒为 1,这使得深度神经网络在训练过程中可以更好地传播梯度,不存在饱和问题。对称性: Tanh函数是关于原点对称的奇函数,因此在输入为0时,输出也为0。,它能够将网络的输出转换为概率分布,使得输出的各个类别的概率之和为 1。

2025-07-17 19:23:47 832

原创 全连接神经网络之神经网络(二)

这篇文章系统性地介绍了全连接神经网络的核心概念与PyTorch实现。主要内容包括:1)生物神经元与人工神经元的对比,解释输入、权重、激活函数等关键组件;2)神经网络的三层标准结构(输入层、隐藏层、输出层)及其全连接特性;3)PyTorch实现要点,包括线性层、激活函数、损失函数和优化器的使用方法;4)完整的3层全连接网络训练示例代码;5)常见问题与解决方案。文章通过生物原型-数学公式-网络结构-代码实现的全流程讲解,帮助读者从零开始构建可训练的全连接神经网络。

2025-07-17 18:55:43 1145

原创 全连接神经网络之tensor(一)

本文介绍了PyTorch框架的基础知识,重点讲解了Tensor的核心操作。主要内容包括:PyTorch与其他主流框架的对比、Tensor的创建与数据类型、形状操作、广播机制、索引与切片、自动微分原理及梯度控制方法。文章还提供了一个20行代码实现的线性回归实战案例,并总结了常见错误及调试技巧。最后列出了PyTorch官方文档的重要参考链接,适合深度学习初学者快速掌握Tensor的基本使用方法。

2025-07-14 19:11:42 973

原创 机器学习之线性回归(七)

数据 → 清洗/标准化 → 特征工程(多项式/离散化)↓选模型├─ 最小二乘(闭式解) —— 小数据、可解释├─ 梯度下降家族 —— 大数据、在线学习│ ├─ BGD(全量)│ └─ SGD(单条)└─ 正则化↓评估(MSE/R²/MAE) → 调参(α, degree, batch, lr) → 上线。

2025-07-11 17:03:07 688

原创 机器学习之逻辑回归和k-means算法(六)

无监督学习就是让计算机自己从数据里找规律,不需要我们提前告诉它“正确答案”。它只需要数据的特征(比如年龄、收入、消费频率等),不需要标签(比如“用户是否流失”)。最常见的无监督学习任务就是聚类,也就是把相似的数据自动分到一组。簇:就是一组相似的数据点,算法会把它们归为一类。质心:就是每个簇的“中心点”,是这个簇中所有点的平均值。K-means 就是一个不断“找中心、分数据、再重新找中心”的过程,直到数据分组稳定下来。

2025-07-10 16:42:47 1227

原创 机器学习之随机森林(五)

集成学习(Ensemble Learning)通过组合多个分类器,构建预测效果更好的集成分类器。类比"三个臭皮匠,赛过诸葛亮"。随机森林通过双重随机性(样本+特征)增强多样性典型超参数需调优:树的数量(n_estimators)树深度(max_depth)划分标准(criterion)网格搜索+交叉验证是调参的有效方法适用于高维数据,兼具准确性和抗过拟合能力。

2025-05-21 17:03:25 595

原创 机器学习入门之朴素叶贝斯和决策树分类(四)

用 ( p_1(x,y) ) 表示数据点 ((x,y)) 属于类别 1 的概率,用 ( p_2(x,y) ) 表示数据点 ((x,y)) 属于类别 2 的概率。=【p(坏瓜)*p(纹理清晰|坏瓜)*p(色泽清绿|坏瓜)*p(鼓声沉闷|坏瓜)】/【p(纹理清晰)*p(色泽清绿)*p(鼓声沉闷)】从公式中判断"p(好瓜|纹理清晰,色泽清绿,鼓声沉闷)"和"p(坏瓜|纹理清晰,色泽清绿,鼓声沉闷)"时,因为它们的分母。p(好瓜|纹理清晰,色泽清绿,鼓声沉闷) > p(坏瓜|纹理清晰,色泽清绿,鼓声沉闷),

2025-05-18 21:29:06 1345

原创 机器学习入门之KNN算法和交叉验证与超参数搜索(三)

其核心思想是:如果一个样本在特征空间中的 k 个最相似(最邻近)样本中的大多数属于某个类别,则该样本也属于这个类别。例如,假设我们有 10000 个样本,选择距离样本 A 最近的 7 个样本,其中类别 1 有 2 个,类别 2 有 3 个,类别 3 有 2 个,则样本 A 被认为属于类别 2。通过分层 K-折交叉验证和网格搜索,我们可以找到最优的超参数,从而提高模型的性能。网格搜索是一种自动寻找最佳超参数的方法,通过遍历所有可能的参数组合来找到最优解。KNN 算法中,样本之间的距离是判断相似性的关键。

2025-05-16 21:35:27 1276

原创 机器学习入门之特征工程(二)

减少数据集的维度,同时尽可能保留重要信息。降低计算成本,去除噪声,避免过拟合。特征选择适用于去除冗余特征。PCA 适用于将多个特征降维为少数几个主成分。根据需求选择合适的方法,以达到降维的目的。

2025-05-15 13:38:34 939

原创 机器学习入门(一)

Python语言机器学习工具Scikit-learn包括许多智能的机器学习算法的实现Scikit-learn文档完善,容易上手,丰富的API接口函数Scikit-learn官网:https://scikit-learn.org/stable/#Scikit-learn中文文档:https://scikitlearn.com.cn/scikit-learn中文社区数据量小,数据在sklearn库的本地,只要安装了sklearn,不用上网就可以获取数据量大,数据只能通过网络获取。

2025-05-14 18:50:53 1096

原创 opencv之图像亮度变换和形态学变换(八)

形态学变换有两个输入,一个输出:输入为原图像、核(结构化元素),输出为形态学变换后的图像。核(kernel)其实就是一个小区域,通常为3*3、5*5、7*7大小,有着其自己的结构,比如矩形结构、椭圆结构、十字形结构,如下图所示。通过不同的结构可以对不同特征的图像进行形态学操作的处理。就是那个在原图中不断滑动计算的3*3的小区域,那其实就是一个3*3的核。函数,可以对图像的像素值进行加权平均,进而改变图像的整体亮度。对比度调整:图像暗处像素强度变低,图像亮处像素强度变高,从而拉大中间某个区域范围的显示精度。

2025-05-06 00:17:11 1403 1

原创 opencv之模板匹配和霍夫变换(七)

(Probabilistic Hough Transform),是一种改进的霍夫变换,它在获取到直线之后,会检测原图中在该直线上的点,并获取到两侧的端点坐标,然后通过两个点的坐标来计算该直线的长度,通过直线长度与最短长度阈值的比较来决定该直线要不要被保留。函数返回一个二维数组,每个元素是一个包含4个元素的数组,分别表示每条直线的起始点和结束点在图像中的坐标(x1, y1, x2, y2)。,它会计算图像中的每一个点,计算量比较大,另外它得到的是整一条线(r和θ),并不知道原图中直线的端点。

2025-05-04 20:46:24 875

原创 opencv之图像轮廓特征查找和直方图均衡化(六)

直方图是对数据进行统计的一种方法,并且将统计值组织到一系列实现定义好的 bin 当中。其中, bin 为直方图中经常用到的一个概念,可以译为 “直条” 或 “组距”,其数值是从数据中计算出的特征统计量,这些数据可以是诸如梯度、方向、色彩或任何其他特征。直方图:反映图像像素分布的统计图,横坐标就是图像像素的取值,纵坐标是该像素的个数。也就是对一张图像中不同像素值的像素个数的统计。增加对比度:黑的更黑,白的更白。

2025-05-03 19:26:53 1342

原创 opencv之绘制图像轮廓和凸包特征检测(五)

将集中的点进行两两配对,并进行连线,对于每条直线,检查其余所有的点是否处于该直线的同一侧,如果是,那么说明构成该直线的两个点就是凸包点,其余的线依次进行计算,从而获取所有的凸包点。通俗的讲,凸包其实就是将一张图片中物体的最外层的点连接起来构成的凸多边形,它能包含物体中所有的内容。并且在hierarchy里的轮廓关系中,每一个轮廓只有前一条轮廓与后一条轮廓的索引,而没有父轮廓与子轮廓的索引。并且在hierarchy里的轮廓关系中,每一个轮廓只有前一条轮廓与后一条轮廓的索引,而没有父轮廓与子轮廓的索引。

2025-04-27 19:23:46 1029

原创 opencv之图像梯度处理和边缘检测(四)

是因为经过第二步得到的边缘不经过处理是没办法使用的,因为高斯滤波的原因,边缘会变得模糊,导致经过第二步后得到的边缘像素点非常多,因此我们需要对其进行一些过滤操作,而非极大值抑制就是一个很好的方法,它会对得到的边缘像素进行一个排除,使边缘尽可能细一点。如果你还记得高数中用一阶导数来求极值的话,就很容易理解了:把图片想象成连续函数,因为边缘部分的像素值是与旁边像素明显有区别的,所以对图片局部求极值,就可以得到整幅图片的边缘信息了。不过图片是二维的离散函数,导数就变成了差分,这个差分就称为图像的梯度。

2025-04-25 14:25:25 2368

原创 opencv之图像预处理(三)

有了模板的掩膜之后(也就是二值化图),我们就可以在要添加水印的图像中,根据掩膜的大小切割出一个ROI区域,也就是我们要添加水印的区域,之后让其与模板的掩膜进行与运算,我们知道,与运算的过程中,只要有黑色像素,那么得到的结果图中的对应位置也会是黑色像素。前一个实验中,我们已经能够识别到图像中的某一种颜色,那么我们就可以对识别到的颜色进行一个操作,比如将其替换成别的颜色,其原理就是在得到原图的掩膜之后,对掩膜中的白色区域所对应的原图中的区域进行一个像素值的修改即可。中值又叫中位数,是所有数排序后取中间的值。

2025-04-24 00:50:17 1379

原创 opencv之图像预处理(二)

那么对于左上角像素值为162的这个点,161(也就是上图中括号内的计算结果,结果会进行取整)就是根据平均值计算出来的阈值,接着减去一个固定值C,得到的结果就是左上角这个点的二值化阈值了,接着根据选取的是阈值法还是反阈值法进行二值化操作。首先还是对边界进行填充,然后计算原图中的左上角(也就是162像素值的位置)的二值化阈值,其计算过程如上图所示,再然后根据选择的二值化方法对左上角的像素点进行二值化,之后核向右继续计算第二个像素点的阈值,第三个像素点的阈值…通过改变H的值,可以选择不同的颜色。

2025-04-20 19:33:11 1288

原创 opencv之图像预处理(一)

通俗的讲,该公式就是让目标图像中的每个像素值都能找到对应的原图中的像素值,这样才能根据不同的插值方法来获取新的像素值。根据该公式,我们就可以得到每一个目标点所对应的原图像的点,比如一个2*2的图像放大到4*4,如下图所示,其中红色的为每个像素点的坐标,黑色的则表示该像素点的像素值。当需要对图像进行变换时,特别是尺寸变化时,原始图像的某些像素坐标可能不再是新图像中的。边界复制会将边界处的像素值进行复制,然后作为边界填充的像素值,如下图所示,可以看到四周的像素值都一样。如下图所示,会根据原图的边缘进行反射。

2025-04-18 18:42:36 1475

原创 opencv之图像基础

OpenCV(开放源代码计算机视觉库)是一个开源的计算机视觉和机器学习软件库。由一系列 C++ 类和函数构成,用于图像处理、计算机视觉领域的算法实现。环境安装方式。

2025-04-15 18:10:16 1290

原创 Python的三方库之Pandas(三)

DataFrame 一个表格型的数据结构,既有行标签(index),又有列标签(columns),它也被称异构数据表,所谓异构,指的是表格中每列的数据类型可以不同,比如可以是字符串、整型或者浮点型等。Pandas 是一个开源的 Python 数据分析和操作库,它提供了高性能、易用的数据结构和数据分析工具,广泛应用于数据科学、机器学习、金融分析等领域。isnull() 和 notnull() 用于检测 Series、DataFrame 中的缺失值。运行上面这个函数,由于第0行缺少一个值,则用NaN代替。

2025-04-03 11:00:36 1260

原创 Python的三方库之matplotlib(二)

Matplotlib 库:是一款用于数据可视化的 Python 软件包,支持跨平台运行,它能够根据 NumPy ndarray 数组来绘制 2D 图像,它使用简单、代码清晰易懂。

2025-04-03 08:55:45 2316

原创 Python的三方库之NumPy(一)

这要求维数相同,且各维度的长度相同,如果不相同,可以通过广播机制,这种机制的核心是对形状较小的数组,在横向或纵向上进行一定次数的重复,使其与形状较大的数组拥有相同的维度。这个盒子可以是平的(一维数组),也可以是立体的(多维数组),比如一个表格(二维数组)或者一个立方体(三维数组)。2 、在 NumPy 中,计算方差var()时使用的是统计学中的方差公式,而不是概率论中的方差公式,主要是因为 NumPy 的设计目标是处理实际数据集,而不是概率分布。属性告诉我们数组在内存中的存储情况,就像数组的“身份证”。

2025-03-30 05:38:48 2293

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除