自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注python+工程实践的热心婶子

和朋友们一起探索python、AI、物理等知识的工程运用

  • 博客(281)
  • 收藏
  • 关注

原创 卷积运算效果的池化处理|最大值

本文介绍了在深度学习中的池化操作实现方法。作者基于前期掌握的卷积和非线性处理知识,进一步引入池化操作,详细解释了池化核(池化框)的概念及其简化定义方式。文章提供了手动实现池化操作的Python代码,包括最大池化和平均池化两种类型,并通过具体示例展示了不同参数(如步长)对输出特征图尺寸的影响。代码演示了如何从5×5的ReLU激活矩阵通过2×2池化核得到2×2或4×4的输出矩阵的过程,直观展示了池化操作的特征降维效果。

2025-12-15 23:07:37 563

原创 卷积运算结果的非线性处理|结果非负性

本文介绍了如何对卷积运算结果进行非负值处理(ReLU激活函数)。首先回顾了全连接层和卷积运算的基础知识,重点讲解了PyTorch中torch.max()函数的两种用法:维度最值计算(按行/列取最大值)和元素最值计算(与指定值比较)。通过示例代码展示了如何用torch.max(tensor,0.0)实现ReLU功能,将负值置零而保留正值。文章提供了两种实现方式:逐元素循环计算和直接矩阵运算,并验证了两种方法的结果一致性。最后在卷积神经网络场景下,演示了如何将这一技术应用于卷积运算后的特征图处理。

2025-12-14 12:14:19 897

原创 CNN计算|矩阵扩充方法变化和卷积核移动步长变化

本文介绍了如何使用padding参数对输入矩阵进行扩充,以改进卷积运算的实现。通过定义padding=1,在输入矩阵周围添加一圈0值,使5×5矩阵扩展为7×7。文章详细展示了代码实现过程,包括:1)定义输入矩阵和卷积核;2)常规卷积运算;3)使用padding扩充矩阵;4)对扩充后的矩阵进行卷积运算。该方法避免了直接修改stride参数,更清晰地实现了矩阵扩充功能,为后续卷积神经网络研究提供了基础实现参考。

2025-12-08 22:56:00 341

原创 CNN计算|原始矩阵扩充后的多维度卷积核计算效果

本文探讨了在多通道卷积计算中结合原始矩阵扩充的方法。首先介绍了3通道5×5输入矩阵和3×3卷积核的基本计算过程,通过三层循环实现多通道卷积运算。然后演示了如何使用torch.zeros对原始矩阵进行外圈0值扩充,保持输入输出尺寸一致。最后将扩充后的矩阵应用于相同的卷积计算流程,验证了扩充方法的有效性。文章提供了完整的Python实现代码,展示了从基本卷积到带扩充卷积的计算过程,为理解卷积神经网络中的padding操作提供了实践参考。

2025-12-02 23:06:36 465

原创 CNN卷积计算|多维卷积核自动计算

本文介绍了使用多维卷积核进行CNN卷积计算的自动化实现方法。通过定义输入张量(3通道5×5矩阵)和3×3边缘检测卷积核,展示了如何通过循环自动完成卷积运算。关键步骤包括:1)定义输出矩阵大小;2)通过三重循环实现分块计算(按通道取块、逐通道卷积运算、结果叠加);3)输出完整计算结果。相比手动计算,该方法提高了运算效率,可自动输出所有位置的卷积值。代码示例详细演示了从单点计算到全矩阵自动计算的完整过程,为理解CNN卷积运算提供了实践参考。

2025-12-01 21:47:32 474

原创 CNN卷积计算|多维卷积核

本文演示了多通道卷积计算的具体实现过程。使用一个三通道5×5的输入矩阵和3×3×3的卷积核,展示了卷积运算的逐步计算方式。每个子卷积核分别与对应的输入通道进行点积运算,最终将各通道结果相加得到输出像素值。文中详细展示了(0,0)和(0,1)两个位置的计算过程,包括通道数据提取、点积运算和结果汇总。通过PyTorch实现完整代码,为理解多通道卷积运算提供了清晰示例。

2025-12-01 16:46:09 551

原创 CNN全连接层

本文介绍了深度学习中的全连接层概念及其作用。全连接层负责将卷积层和池化层的计算结果展平为一维数组,并通过激活函数进行非线性变换,实现数据在神经网络中的传递。文中通过Python代码示例展示了全连接层的计算过程:随机生成权重和偏置参数,执行矩阵乘法并添加偏置,最后应用ReLU激活函数输出结果。示例验证了全连接层能有效改变数据维度结构(如将2×1568的输入转化为2×128的输出),为后续神经网络层提供适当的数据格式。

2025-11-19 23:00:36 530

原创 CNN计算池化组件

本文介绍了池化操作的基本概念和实现方法。池化是卷积神经网络中的重要操作,通过在输入矩阵上滑动窗口并提取最大值(max pooling)或平均值(average pooling)来降低特征图维度。文章提供了一个基于NumPy的手动池化实现代码,支持2×2池化核和步长2的设置。示例中分别对4×4输入矩阵进行了最大池化和平均池化操作,并展示了运算结果。该实现通过双重循环完成窗口滑动,并使用np.max和np.mean实现两种池化计算方式。池化操作能有效减少计算量并保留主要特征,是深度学习中的基础操作之一。

2025-11-19 08:26:37 632 1

原创 CNN的四维Pytorch张量格式

本文探讨了CNN中四维张量的格式要求及其实现方式。通过PyTorch代码演示,比较了使用reshape()函数和不使用reshape()函数定义张量的差异。文章指出,CNN要求输入数据为[样本数,通道数,高,宽]格式的四维张量。当不使用reshape()时,可以通过unsqueeze(1)强制定义通道数。实验表明,reshape()能有效规范张量格式,避免样本数和通道数的混淆。理解张量格式对正确构建CNN模型至关重要。

2025-11-17 22:27:47 910

原创 卷积图像扩充

本文介绍了通过填充(padding)实现图像矩阵扩充的方法。首先分析卷积运算会导致矩阵缩小的问题,提出通过填充外围值来扩大矩阵的思路。具体实现步骤包括:计算填充后尺寸(原始尺寸+2*padding),用零初始化新矩阵,并将原图置于中心区域。文中给出了完整的Python代码示例,使用NumPy实现4x4矩阵的1圈零填充和2x2卷积运算,并通过matplotlib可视化填充前后的效果对比。该方法能有效保持图像尺寸,为后续卷积操作提供便利。

2025-10-23 21:55:14 326

原创 卷积值提取

本文通过代码实践详细演示了CNN卷积计算过程。作者首先构建了一个4x4的输入矩阵和2x2卷积核,手动实现了卷积计算步骤,并记录了每个滑动窗口的计算细节。通过可视化展示了原始图像、卷积核及输出特征图,同时提取了两种形式的计算结果:直接数值结果和详细计算过程字符串。最后将卷积结果组织成矩阵并可视化,与原始图像对比展示。文章特别强调了图像处理中行数对应高度、列数对应宽度的注意事项,为理解卷积计算提供了直观的实践案例。

2025-10-16 22:12:33 593

原创 CNN卷积计算

本文详细介绍了使用NumPy实现CNN卷积计算的完整过程。首先定义了一个4x4的输入矩阵和2x2的卷积核,通过滑动窗口的方式对输入矩阵进行局部区域提取。对于每个窗口区域,执行元素对位相乘后求和的卷积运算,并记录详细的计算步骤。最后利用matplotlib可视化展示了输入图像、卷积核、输出特征图以及每一步的计算过程。该示例清晰演示了卷积神经网络中核心的卷积运算原理,为后续使用PyTorch进行CNN计算奠定了理论基础。整个过程包含了从基础定义到完整实现的关键步骤,是理解CNN工作原理的实用入门教程。

2025-10-09 22:59:16 887 1

原创 random.shuffle()函数随机打乱数据

本文介绍了Python中random.shuffle()函数的使用方法。该函数可以随机打乱列表元素顺序,适用于一维和二维数据。对于二维列表,可以单独打乱行顺序、行内元素顺序,或同时打乱行和行内元素顺序。文章通过代码示例展示了不同维度的数据打乱方式,并附有运行效果图。random.shuffle()函数是处理需要随机读取有序数据时的实用工具。

2025-10-01 08:30:00 341

原创 random.gauss()函数和numpy.random.normal()函数生成正态分布随机数

本文对比了Python中生成正态分布随机数的两种方法:random.gauss()和numpy.random.normal()。前者每次只能生成单个随机数,需借助循环生成多个;后者可一次性生成任意形状的随机数数组,效率更高。文章通过代码示例展示了两种函数的基本用法,并演示了如何用numpy.random.normal()生成大规模随机数并绘制分布图。最后指出,numpy.random.normal()与torch.normal()在用法上具有相似性,使用时应注意灵活转换。

2025-09-30 20:45:06 448

原创 pytorch基本运算-torch.normal()函数生成的随机数据添加噪声

本文介绍了如何结合PyTorch中的torch.normal()和torch.matmul()函数进行矩阵运算。首先生成3000个正态分布随机数作为输入数据x和噪声n,然后利用torch.matmul()函数实现x与权重w的矩阵乘法并添加噪声。文章重点讲解了torch.matmul()函数的灵活性,它能根据输入张量的维度自动选择适当的计算方法。最后通过matplotlib绘制了计算结果的三维可视化图形,展示了数据分布特征。这段代码演示了PyTorch在张量运算和随机数生成方面的基础应用。

2025-09-29 23:15:25 1034

原创 pytorch基本运算-torch.normal()函数输出多维数据时,如何绘制正态分布函数图

本文介绍了如何使用PyTorch的normal()函数生成不同维度的正态分布随机数,并通过展平和可视化方法验证其分布特性。首先展示了生成一维、二维和三维随机数的基本方法,然后利用flatten()函数将多维数据展平为一维数组。接着使用matplotlib的hist()函数绘制概率密度图,发现数据量不足时正态分布特征不明显,通过增加数据量(20×20×30)后成功显示出典型正态分布曲线。最后提供了优化后的代码,采用循环结构批量生成不同维度的随机数,并在同一图中显示各自的分布图,实现了更高效的数据处理和可视化。

2025-09-27 12:18:24 1056

原创 python学智能算法(三十九)|使用PyTorch模块的normal()函数绘制正态分布函数图

本文介绍了使用PyTorch的torch.normal()函数生成正态分布随机数并绘制概率分布图的方法。通过对比不同样本量(100/1000/10000个数据)的直方图与理论正态分布曲线,展示了数据量越大分布拟合效果越好的特点。文章还探讨了直方图边框数量对视觉效果的影响,并指出可以通过统一bins参数来保持图像一致性。虽然PyTorch实现方式比numpy稍复杂,但该方法能有效生成正态分布随机数并可视化其分布特性。

2025-09-25 23:13:38 936 1

原创 python学智能算法(三十八)|使用Numpy和PyTorch模块绘制正态分布函数图

本文介绍了使用NumPy和PyTorch绘制正态分布函数图的方法。首先回顾了正态分布的概率密度函数公式,然后分别展示了两种实现方式:NumPy版本通过自定义函数计算概率密度值并绘制曲线;PyTorch版本则利用张量运算实现相同功能。两段代码都演示了如何通过改变均值μ和标准差σ参数来调整曲线形态(均值决定对称轴位置,标准差影响曲线高度和宽度)。文章特别指出PyTorch实现中需要注意将常数转换为张量的细节,同时说明PyTorch具备自动类型转换功能。实验结果验证了两种方法生成的图像完全一致。

2025-09-23 22:24:51 1010

原创 pytorch基本运算-PyTorch.Tensor张量数据类型

本文介绍了PyTorch中张量的基本数据类型。主要内容包括:1)PyTorch张量的几种类型,包括不同精度的浮点型(32位FloatTensor、64位DoubleTensor)和整型张量(16位ShortTensor、32位IntTensor、64位LongTensor);2)通过示例代码演示了如何创建不同类型张量并使用type()方法查看其类型;3)指出默认情况下整数输入会创建64位整型张量,浮点数输入会创建32位浮点张量。文章通过具体代码示例展示了不同类型张量的特性及识别方法。

2025-09-20 15:56:08 495

原创 卡尔曼Kalman滤波|基础学习(二)

本文介绍了状态方程的分解过程。首先回顾了状态方程的基本形式,包括状态转移方程和观测方程,分别描述了系统状态演化规律和测量过程。然后通过引入变量y_k=z_k+x_k,将原始方程分解为确定部分和随机部分:z_{k+1}和s_k代表确定性分量,x_{k+1}和v_k则包含系统噪声和测量噪声,体现随机性。这种分解为后续卡尔曼滤波处理奠定了基础,实现了确定性和随机性分量的分离。

2025-09-19 20:48:16 682

原创 python学智能算法(三十七)|正态分布的平方损失转化为线性回归损失函数

本文介绍了线性回归损失函数与正态分布的关系。首先回顾了线性回归的均方误差损失函数定义,指出不同教材可能对损失函数系数进行调整。然后重点阐述了如何将正态分布概率函数转化为线性回归问题:通过对正态分布取对数并简化,最终得到与线性回归相同的损失函数形式,实现了从概率角度到最小二乘的转换。这一过程巧妙地将满足正态分布的变量求解回归到线性回归问题,揭示了统计学与机器学习方法之间的内在联系。

2025-09-18 21:33:31 626

原创 卡尔曼Kalman滤波|基础学习(一)

本文记录了作者重新学习卡尔曼滤波的过程。文章介绍了卡尔曼滤波的基本概念,将其描述为一种在时域上进行滤波的方法,通过状态方程将信号视为白噪声作用下线性系统的输出。重点讲解了状态方程的两个组成部分:状态转移方程(描述系统状态变化)和观测方程(描述系统状态到观测值的映射)。作者选择了一本专业书籍作为主要参考资料,并建议选定一本书后系统学习。最后表示这只是卡尔曼滤波学习的开始,后续将继续深入。

2025-09-17 13:19:34 295

原创 pytorch基本运算-Python控制流梯度运算

本文介绍了PyTorch中对包含循环的控制流进行梯度计算的方法。通过一个具体代码示例,展示了如何对while循环和条件判断结构进行自动微分。定义了一个函数f(a),其中包含while循环和if-else分支,通过backward()方法计算梯度。实验结果表明,当输入为正数时,梯度为2的循环次数次方;当输入为负数时,梯度为100倍2的循环次数次方。文章验证了a.grad等于d/a的数学关系,说明了PyTorch能够正确计算控制流结构的梯度。这为处理复杂控制逻辑的神经网络训练提供了基础支持。

2025-09-13 23:19:45 823

原创 pytorch基本运算-分离计算

本文介绍了PyTorch中分离计算的概念,通过detach()函数实现梯度计算的分流。当变量z=f(xy)且y=f(x)时,使用y.detach()创建新变量t,使t保持为常数,避免梯度通过y回溯到x。通过实例代码对比了分离前后的梯度计算结果,验证了分离后梯度计算仅与x相关,不再受y影响。这一方法在需要控制梯度传播路径时非常有用。

2025-09-09 22:41:57 1316

原创 pytorch基本运算-矢量求导运算:先转化为标量

这篇文章介绍了在PyTorch中对自定义函数求导的方法。当函数已定义但无法直接求导时,可以通过将矢量转化为标量的技巧来实现求导。具体步骤包括:使用requires_grad_()标记需要求导的变量,通过sum()将矢量结果转化为标量,再调用backward()方法计算导数。文中以f(x)=x*x为例,演示了如何求导得到2x的正确结果。

2025-09-09 13:25:29 497

原创 scikit-learn/sklearn学习|广义线性回归损失函数的基本表达式

本文介绍了广义线性回归的损失函数,其表达式包含两部分:样本偏差项和L2正则化惩罚项。其中样本偏差项d(yi,ŷi)有多种形式,是后续学习的重点内容。文章简要回顾了广义线性回归损失函数的基本结构,为进一步学习不同偏差函数的表达形式奠定了基础。

2025-09-07 16:23:49 854

原创 STAR-CCM+|雷诺数回顾

本文回顾了雷诺数(Re)的基本概念及其应用。首先给出了雷诺数的计算公式Re=ρvD/μ,并详细解释了各参数的物理意义和单位。通过量纲分析展示了动力粘性系数μ的多种单位表示形式,并引入运动粘度ν=μ/ρ。文章还介绍了水力直径D的计算方法,以圆管为例进行了说明。最后列举了不同物理条件下判断层流与湍流的临界雷诺数值,并强调这些结果主要适用于牛顿流体。全文系统梳理了雷诺数这一流体力学重要参数的定义和应用。

2025-09-06 12:10:52 1205

原创 神经网络|(十九)概率论基础知识-伽马函数·下

本文通过数学推导证明了阶乘函数的两种等价表达式。首先展示了阶乘的极限表达式n! = lim(k→∞) [k^n·k!]/[(n+1)...(n+k)],并通过极限运算证明其有效性。其次,通过变量替换和分部积分,证明了积分表达式∫(0→1)(-lnt)^s dt = ∫(0→∞)u^n e^{-u} du = n!(当s为正整数n时)。文章系统性地建立了阶乘函数的极限与积分表达式的等价关系,为理解伽马函数提供了理论基础。

2025-09-05 13:08:21 1356

原创 神经网络|(十八)概率论基础知识-伽马函数溯源-阶乘的积分表达式

本文探讨了伽马函数的积分表示形式。通过变量替换u=-ln t,将原积分∫₀¹(-ln t)ˢdt转化为∫₀⁺∞uˢe⁻ᵘdu的形式,建立了阶乘的积分表达式x!=∫₀⁺∞uˢe⁻ᵘdu。文章指出当s≤-1时原积分发散,需要引入衰减因子扩展定义域。虽然学习过程略显反复,但作者认为理解到这一步已足以继续后续学习。该推导为理解伽马函数的积分表示提供了关键步骤。

2025-09-02 23:07:53 1001

原创 我的创作纪念日|一周年,上海-昆明-上海

**摘要:**2024年,作者从上海迁居昆明,逃离高压生活后经历短暂放松,却因"虚度感"重拾编程写作,在CSDN平台开启创作之旅。尽管初期面临专业性与错漏的挑战,但粉丝的持续关注成为创作动力。如今写作已成为生活重要部分,作者坚持周更,在酒店大堂等场所完成创作,感恩读者支持,并计划持续记录工作学习历程。一年间,从"逃离北上广"到主动回归,写作成为人生转折的关键见证。

2025-08-31 10:11:27 243 1

原创 神经网络|(十七)概率论基础知识-伽马函数·中

本文证明了伽马函数在正整数情况下的积分式与阶乘式相等。首先通过变量替换将积分转化为$\int_{0}^{+\infty}u^ne^{-u}du$的形式,然后运用分部积分法推导出该积分等于$n!$。具体推导过程展示了对数积分与阶乘的内在联系,验证了当$s$为正整数时,$\int_{0}^{1}(-lnt)^sdt=s!$成立,为理解伽马函数的性质提供了重要依据。

2025-08-29 20:25:35 1227

原创 神经网络|(十六)概率论基础知识-伽马函数·上

本文介绍了伽马函数的两种定义形式(积分形式和无穷乘积形式),并对其数学意义进行了溯源分析。通过将离散的阶乘公式改写成连续极限形式,展示了伽马函数如何将阶乘概念推广到除负整数外的所有实数。文章详细推导了阶乘极限形式的证明过程,说明了伽马函数作为阶乘推广的数学合理性。这为后续学习更复杂的概率分布奠定了理论基础。

2025-08-27 21:39:48 1665

原创 神经网络|(十五)概率论基础知识-协方差标准化和皮尔逊相关系数

本文介绍了协方差与方差的关系,指出方差是协方差的特例。通过公式推导说明协方差标准化可得到皮尔逊相关系数ρ,其取值范围为[-1,1],能消除量纲影响并衡量变量间的线性相关性:ρ>0为正相关,ρ=0为无关,ρ<0为负相关。文章总结了协方差标准化获取皮尔逊相关系数的基本概念。

2025-08-25 13:13:29 873

原创 神经网络|(十四)概率论基础知识-协方差和方差

本文介绍了协方差与方差的核心概念及其关系。协方差用于衡量两个随机变量的线性相关性(正相关、负相关或不相关),其计算基于变量偏离均值的乘积期望。方差则是协方差的特例,表示变量与自身的协方差,反映数据离散程度。通过公式推导展示了二者间的联系:当计算变量与自身的协方差时,结果即为方差。文章系统梳理了这些统计量在描述变量关系时的数学本质和实际意义。

2025-08-24 10:14:30 1157

原创 STAR-CCM+|K-epsilon湍流模型溯源

本文介绍了STAR-CCM+中K-epsilon湍流模型的基本概念。K-epsilon模型由湍流动能(k)和湍流耗散率(ε)组成,通过公式μt=ρCμk²/ε计算湍流粘度(μt)。其中k表示速度脉动强度,ε反映动能转化为热量的速率。该模型基于布辛涅斯克近似,认为湍流应力与平均流场应变率成正比。文中还列举了不同版本的K-epsilon模型(标准型、两层模型、低雷诺数型等),并解释了各参数物理意义。

2025-08-23 17:22:40 1822

原创 神经网络|(十三)概率论基础知识-贝叶斯公式和全概率公式

本文系统梳理了贝叶斯统计的核心概念。首先介绍了联合概率和条件概率的定义与关系,指出条件概率蕴含联合概率。接着通过条件概率推导出贝叶斯公式的基本形式,展示概率事件的相互转换关系。然后结合全概率公式,将贝叶斯公式扩展到多事件互斥互补的情况。最后强调要灵活运用联合概率等式进行概率转换,掌握先验、后验概率的相互推导方法。全文清晰呈现了贝叶斯理论的基本框架和计算逻辑。

2025-08-23 11:04:57 1019

原创 神经网络|(十二)概率论基础知识-先验/后验/似然概率基本概念

本文介绍了贝叶斯统计中的三个核心概念:先验概率、似然概率和后验概率。先验概率是在获取新信息前对事件的初始判断;似然概率表示已知参数条件下观测到某结果的概率;后验概率则是结合新信息后对先验概率的修正更新。通过硬币抛掷的实例,说明了这三个概率的关系及其在贝叶斯推断中的作用,为后续深入学习打好基础。

2025-08-22 01:38:16 635

原创 神经网络|(十一)概率论基础知识-协方差

本文介绍了协方差的基础知识及其在机器学习中的应用。首先回顾了概率论和数据处理的基础知识,然后详细阐述了协方差的数学定义、样本计算方法及其含义解释(正相关、不相关、负相关)。文章还总结了协方差的重要性质,包括对称性、与方差的关系以及线性性质。这些内容为后续机器学习中处理变量间关系提供了理论基础。全文以数学公式和简明解释相结合的方式,系统性地介绍了协方差这一重要统计概念。

2025-08-21 13:19:27 1194

原创 scikit-learn/sklearn学习|变量去中心化和标准化

学习了去中心化和标准化的基本知识。

2025-08-20 08:19:13 1026

原创 scikit-learn/sklearn学习|多任务弹性网MultiTaskElasticNet解读

本文系统梳理了线性回归及其衍生算法的核心公式与应用场景。首先介绍了普通线性回归的基本公式$y=w^Tx+b$和均方误差函数;随后详细解析了四种改进算法:岭回归(增加L2正则项)、套索回归(L1正则项)、多任务套索回归(混合L1/L2)和弹性网络(可调L1/L2混合比)。特别指出多任务弹性网络通过参数ρ在[0,1]间的调节,可退化为单纯L2(ρ=0)或L1/L2混合(ρ=1)形式。全文揭示了不同回归方法的核心差异在于均方误差函数中正则化项的构造方式,为理解各类回归算法提供了清晰的数学框架。

2025-08-19 20:29:01 1063

空空如也

空空如也

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

TA关注的人

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