自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深度学习 --- 反向传播算法

深度学习中的反向传播算法简介 本文介绍了深度学习中的核心算法——反向传播(Backpropagation)。主要内容包括: 前向传播过程:详细阐述了神经网络从输入层到输出层的计算步骤,包括线性变换和激活函数应用,并给出了三层神经网络的前向传播公式。 梯度下降算法:作为反向传播的基础,讲解了梯度下降的原理、数学公式和实现步骤,重点分析了学习率的选择策略及其对训练的影响。 两种梯度下降变体:对比了批量梯度下降(BGD)和随机梯度下降(SGD)的优缺点,BGD使用全量数据计算梯度但计算量大,SGD每次仅用单个样本

2025-07-28 10:21:44 501

原创 深度学习 ---参数初始化以及损失函数

深度学习参数初始化与损失函数摘要 参数初始化是深度学习模型训练的关键步骤,对训练速度和性能有重要影响。固定值初始化(全0、全1或常数)会导致对称性问题,降低模型表达能力,通常不推荐使用。随机初始化(均匀或正态分布)能打破对称性,加速收敛,但需合理选择初始化范围以避免梯度问题。不同激活函数需要匹配的初始化策略(如ReLU适合He初始化,Sigmoid/Tanh适合Xavier初始化)。实际应用中,小范围随机初始化是主流方法,需根据网络深度和激活函数调整参数分布。

2025-07-22 20:14:48 416

原创 深度学习 --- 激活函数

深度学习中的激活函数 本文系统介绍了神经网络中激活函数的作用和常见类型。激活函数通过引入非线性特性,使神经网络能够学习和表达复杂的函数关系,增强其非线性建模能力。 文章首先分析了不使用激活函数时,多层神经网络等价于单层线性模型的局限性。随后重点介绍了两种经典激活函数: Sigmoid函数:将输入映射到(0,1)区间,适合概率输出,但存在梯度消失和计算成本高的问题 Tanh函数:输出范围(-1,1),零中心化特性有利于收敛,但仍面临梯度消失问题 文章通过数学公式和Python代码演示了这两种函数的特性曲线和导

2025-07-22 20:07:32 870

原创 深度学习 ---神经网络以及数据准备

深度学习是机器学习的一个分支,通过多层神经网络处理复杂的数据模式。本文介绍了深度学习的基本概念、神经网络结构、数据准备方法以及PyTorch实现。 主要内容包括: 深度学习简介及其在图像处理、NLP等领域的应用 神经网络基本原理,包括人工神经元模型和全连接网络结构 数据准备方法,包括自定义Dataset类和DataLoader的使用 PyTorch实现示例,展示了如何构建全连接神经网络 文章提供了完整的代码实现,包括神经网络构建、数据加载和批处理功能。通过TensorDataset和DataLoader可以

2025-07-21 20:13:32 1159 2

原创 深度学习 -- 梯度计算及上下文控制

本文介绍了PyTorch中的自动微分和梯度计算相关内容。主要内容包括: 自动微分基础概念: 张量的requires_grad属性控制是否计算梯度 计算图动态跟踪张量操作 叶子节点与非叶子节点区分 梯度计算方法: 标量梯度计算 向量梯度计算及推导过程 多标量和多向量梯度计算 梯度上下文控制: 使用torch.no_grad()控制梯度计算 梯度累加特性及清零方法 应用案例: 使用梯度下降法求函数最小值 线性回归参数求解实现 文章通过代码示例详细展示了PyTorch自动微分机制的核心功能和使用方法,为神经网络训

2025-07-21 19:10:57 740

原创 深度学习 -- Tensor属性及torch梯度计算

本文介绍了PyTorch中Tensor的基本操作,主要包括两部分内容:1)Tensor与Numpy数组的相互转换,包括浅拷贝和深拷贝的实现方式;2)Tensor常见操作,如获取元素值和基本数学运算。文章通过代码示例展示了如何使用numpy()和from_numpy()实现内存共享的转换,以及item()方法获取单个元素值,同时说明了带有下划线的方法会直接修改原始Tensor值的特点。这些操作是深度学习中使用PyTorch进行数据处理的基础。

2025-07-17 20:21:59 238

原创 深度学习 -- 初步认识Torch

本文介绍了深度学习框架PyTorch的基础知识。首先阐述了人工智能的本质是数学计算,需要数据、网络和算力三要素共同实现。PyTorch作为基于Python的深度学习框架,提供了张量运算、自动微分和GPU加速等功能。 文章详细讲解了Tensor的创建方法(torch.tensor和torch.Tensor的区别)、线性张量生成(arange和linspace)以及随机张量生成(设置随机数种子保证可复现性)。同时介绍了Tensor的重要属性(dtype、shape、device等)和如何在CPU与GPU之间切换

2025-07-17 19:26:15 971

原创 机器学习 -- 逻辑回归以及K-means算法

摘要 本文介绍了两种重要的机器学习算法:逻辑回归和K-means聚类。逻辑回归虽然名称包含"回归",但实际上是一种广泛应用于二分类问题的分类算法,其核心是通过sigmoid函数将线性回归输出转换为概率值。K-means是一种无监督学习算法,通过迭代优化将数据划分为K个簇,追求"簇内差异小,簇外差异大"的目标。文章详细阐述了两种算法的基本原理、API接口和实现示例,包括逻辑回归的损失函数计算和K-means的质心更新过程,并通过Python代码展示了实际应用效果。两种算

2025-07-08 15:07:52 1123

原创 机器学习 -- 拟合以及正则化技术

机器学习中的拟合与正则化技术 摘要:机器学习模型常面临欠拟合和过拟合问题。欠拟合指模型过于简单无法捕捉数据模式,表现为训练和测试误差均较高;过拟合则是模型过于复杂导致泛化能力差,训练误差低但测试误差高。正则化技术通过添加惩罚项(L1或L2)来平衡模型复杂度,提高泛化能力。L2正则化的岭回归(Ridge)通过缩小权重系数来防止过拟合,适用于特征共线性情况;L1正则化的拉索回归(Lasso)则能将部分权重压缩为零,实现特征选择。两种方法均可有效提升模型鲁棒性,具体选择取决于数据特点和需求。

2025-07-08 15:07:15 549

原创 机器学习 -- 梯度下降

梯度下降

2025-07-07 09:11:55 1084

原创 机器学习 -- 线性回归

线性回归具体内容

2025-07-07 09:10:49 458

原创 机器学习 -- 集成学习方法之随机森林

机器学习集成学习方法之随机森林

2025-07-06 10:46:06 276

原创 机器学习 -- 决策树分类

摘要 决策树是一种监督学习算法,通过树形结构对数据进行分类。主要组成部分包括决策节点(进行条件判断)、叶子节点(最终决策结果)和树的深度(最大层次数)。决策树具有可视化强、解释性好、计算需求低的优点,但也容易过拟合。 构建方法包括基于信息增益和基尼指数两种。信息增益衡量属性区分数据的能力,计算公式为H(D)-H(D|A),信息熵越大不确定性越高。基尼指数评估数据集纯度,越小表示纯度越高,计算式为1-∑p_k²。决策树通过递归选择最小化基尼指数的分割点来构建。 实际应用中,需权衡树深度与过拟合风险,选择最优划

2025-07-06 10:30:57 977

原创 机器学习 --- 贝叶斯分类算法

这篇文章主要介绍了机器学习中的贝叶斯分类算法,内容涵盖了贝叶斯理论、条件概率、全概率公式、贝叶斯推断、朴素贝叶斯推断以及拉普拉斯平滑系数等核心概念。此外,文章还通过鸢尾花数据集和葡萄酒数据集的示例,展示了贝叶斯分类算法在实际应用中的效果和操作过程。

2025-05-16 18:28:46 1173

原创 机器学习 --- 模型选择与调优

本文介绍了机器学习中模型选择与调优的常用方法,包括交叉验证和超参数搜索。交叉验证部分详细讲解了保留交叉验证(HoldOut)、K-折交叉验证(K-fold)和分层K-折交叉验证(Stratified k-fold)的原理及实现,并指出各自的优缺点。超参数搜索部分介绍了网格搜索(GridSearchCV)的使用方法,通过鸢尾花数据集示例展示了如何结合交叉验证和网格搜索来优化模型参数,最终输出最佳参数、最佳结果和预测结果。这些方法有助于提高模型的泛化能力和预测准确性。

2025-05-15 14:04:53 1165

原创 机器学习 --- KNN算法

KNN(K-近邻)算法是一种基于距离度量的分类算法,通过计算测试样本与训练样本的距离,选择K个最近邻样本,根据其多数类别判断测试样本的类别。KNN算法简单易用,但存在计算量大、高维数据效果差等缺点。使用sklearn库中的KNeighborsClassifier可以轻松实现KNN算法。本文以鸢尾花数据集为例,展示了KNN算法的完整流程,包括数据加载、标准化、模型训练、评估和预测。通过训练和测试,模型准确率达到93.3%,并保存了模型用于后续推理。KNN算法适用于小规模数据集,但在处理大规模或高维数据时需谨慎

2025-05-15 13:30:10 598

原创 机器学习 --- 特征工程(二)

本文介绍了机器学习中的特征工程,重点讨论了无量纲化和特征降维。无量纲化通过归一化和标准化处理,消除不同特征之间的量纲差异,常用的方法包括MinMaxScaler、normalize和StandardScaler。归一化将数据映射到指定区间,而标准化通过Z-score将数据转换为均值为0、标准差为1的分布。特征降维则通过特征选择和主成分分析(PCA)减少数据维度,降低计算成本并去除噪声。特征选择中的低方差过滤法通过去除方差较小的特征,保留信息量较大的特征,从而提升模型效果。

2025-05-14 23:51:35 840

原创 机器学习 --- 特征工程(一)

特征工程是机器学习中处理特征的关键步骤,旨在将原始数据转换为适合模型训练的数字特征。其核心步骤包括特征提取、无量纲化(如归一化和标准化)和降维(如主成分分析)。常用的API包括DictVectorizer(字典特征提取)、CountVectorizer(文本特征提取)、TfidfVectorizer(TF-IDF特征提取)等。特征工程通过转换器对象(如fit_transform)实现数据转换,稀疏矩阵和稠密矩阵是其常见的存储形式。对于中文文本,通常使用jieba进行分词处理。TF-IDF算法通过词频和逆文档

2025-05-13 17:56:43 1172

原创 机器学习 --- 数据集

本文介绍了机器学习中数据集的分类与加载方法。首先,sklearn数据集分为本地数据集和现实世界数据集,前者数据量小且存储在本地,后者数据量大且需通过网络获取。接着,详细展示了如何加载鸢尾花、糖尿病和葡萄酒等经典数据集,并使用pandas将特征与目标数据整合为DataFrame。此外,还介绍了如何获取现实世界数据集,如20分类新闻数据,并演示了如何加载本地CSV文件。最后,通过示例展示了如何使用train_test_split函数对列表和DataFrame数据集进行划分,以便进行模型训练与测试。

2025-05-13 17:09:28 1110

原创 机器学习 --- 介绍与定义

机器学习的介绍与定义,机器学习的发展历史,机器学习分类,机器学习应用场合,机器学习趋势分析,机器学习工具

2025-05-12 13:34:22 930

原创 OpenCV---图像预处理 (十)

本文介绍了OpenCV中的图像预处理技术,主要包括图像亮度变换和形态学变换。亮度变换通过调整像素值来改变图像的整体亮度或对比度,常用的方法包括线性变换和直接像素值修改。形态学变换则基于形状对二值化图像进行处理,核心操作包括腐蚀、膨胀、开运算、闭运算、礼帽运算、黑帽运算和形态学梯度。这些操作通过使用核(结构化元素)对图像进行滑动处理,能够有效分离物体、消除噪点、填充孔洞或突出边缘特征。具体实现中,OpenCV提供了如cv2.addWeighted()、cv2.dilate()、cv2.morphologyEx

2025-05-09 22:20:43 942

原创 OpenCV --- 图像预处理(九)

模版匹配,霍夫变换

2025-04-27 15:16:41 1167

原创 OpenCV --- 图像预处理(八)

直方图均衡化,自适应直方图均衡化,对比度受限的自适应直方图均衡化

2025-04-26 18:42:17 841

原创 OpenCV --- 图像预处理(七)

图像轮廓查找,外接矩形,最小外接矩形,最小外接圆

2025-04-26 18:37:55 1334

原创 OpenCV --- 图像预处理(六)

图像边缘检测,绘制图像轮廓,凸包特征检测

2025-04-22 17:01:24 1653

原创 OpenCV --- 图像预处理(五)

图像噪点消除,包括,均值滤波,方框滤波,高斯滤波,中值滤波,双边滤波。图像梯度处理,包括,垂直边缘提取,sobel算子,laplacian算子

2025-04-22 16:14:34 950

原创 OpenCV---图像预处理(四)

图像掩膜,ROI切割,图像添加水印

2025-04-21 17:46:13 1397

原创 OpenCV --- 图像预处理(三)

对于彩色图像的每个像素,它会按照一定的权重去乘以每个通道的像素值,并将其相加,得到最后的值就是灰度图像中对应位置的像素值。阈值法就是通过设置一个阈值,将灰度图中的每一个像素值与该阈值进行比较,小于等于阈值的像素就被设置为0(通常代表背景),大于阈值的像素就被设置为maxval(通常代表前景)。反阈值法是当灰度图的像素值大于阈值时,该像素值将会变成0(黑),当灰度图的像素值小于等于阈值时,该像素值将会变成maxval。本身并不是一个独立的阈值化方法,而是与 OpenCV 中的二值化方法结合使用的一个标志。

2025-04-16 17:37:17 852 2

原创 OpenCV--图像预处理(二)

边缘填充,边界复制,边界反射,边界反射101,边界,常数,边界包裹,图像色彩空间,rgb颜色空间,颜色加权,hsv颜色空间

2025-04-16 16:34:48 1254

原创 OpenCV ---图像预处理(一)

图像预处理,图像的翻转,图像的仿射变换,插值方法

2025-04-15 18:25:52 851

原创 OpenCV---图像基础

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

2025-04-15 17:15:25 1159

原创 python三大库之---pandas(二)

常用的函数,重置索引,遍历,排序,去重,分组,合并,随机抽样,空值处理,读取csv文件,绘图

2025-04-06 21:48:20 2698 3

原创 python三大库之---pandas(一)

Pandas 是一个开源的第三方 Python 库,从 Numpy 和 Matplotlib 的基础上构建而来Pandas 是 Python 语言的一个扩展程序库,用于数据分析Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。

2025-04-03 10:00:02 1282

原创 python三大库之---matplotlib

pylab 是 matplotlib 中的一个模块,它将 matplotlib.pyplot 和 numpy 的功能组合在一起,使得你可以直接使用 numpy 的函数和 matplotlib.pyplot 的绘图功能,而不需要显式地导入 numpy 和 matplotlib.pyplot。add_subplot 是一个更灵活的函数,它是 Figure类的一个方法,用于向图形容器中添加子图。‘b’:蓝色 ‘g’:绿色 ‘r’:红色 ‘c’:青色 ‘m’:洋红色 ‘y’:黄色 ‘k’:黑色 ‘w’:白色。

2025-03-31 09:55:35 2351

原创 python三大库之-- numpy(三)

数组操作,数组增删查改,统计函数

2025-03-29 19:13:14 1286

原创 python三大库之--numpy(二)

广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。这要求维数相同,且各维度的长度相同,如果不相同,可以通过广播机制,这种机制的核心是对形状较小的数组,在横向或纵向上进行一定次数的重复,使其与形状较大的数组拥有相同的维度。NumPy 中的高级索引指的是使用整数数组、布尔数组或者其他序列来访问数组的元素。相比于基本索引,高级索引可以访问到数组中的任意元素,并且可以用来对数组进行复杂的操作和修改。:返回的新数组是一个。

2025-03-28 23:17:06 535

原创 python三大库之--numpy(一)

NumPy 数组是同质数据类型(homogeneous),即数组中的所有元素必须是相同的数据类型。Python 列表是异质数据类型(heterogeneous),即列表中的元素可以是不同的数据类型。它类似于 Python 内置的 range() 函数,但返回的是一个 NumPy 数组而不是一个列表。如果使用shape属性修改数组的形状,则修改的是原数组的形状,reshape修改数组的形状会返回一个新数组,不修改原数组的形状。是 NumPy 数组的一个属性,用于返回数组的维度数(即数组的秩)。

2025-03-28 18:29:04 1074

原创 python基础之---正则表达式

正则表达式在网络爬虫、数据分析中有着广泛使用,掌握正则表达式能够达到事半功倍的效果。

2025-03-25 10:05:46 956

原创 python基础之--包和模块

定义一个model1模块print(year, "是闰年")else:print(year, "不是闰年")returnyear = int(input("请输入年份:"))用户自己编写的模块,用于复用代码。文件名以py.pypy结尾,存放自定义的函数、类等。model1,用于判定是否为闰年和加减法工具,可以直接调用print(year, "是闰年")else:print(year, "不是闰年")returnyear = int(input("请输入年份:"))分类。

2025-03-25 00:15:00 998

原创 python基础之--迭代器和生成器及异常处理

自己设计一个可迭代对象# 类中实现了 __iter__ 和__next__ 方法 用这个类创建的对象 就是可迭代对象# __iter__方法:1.要求返回一个可迭代对象 2.iter函数调用传入b1对象 其实就会调用__iter__返回这个可迭代对象# __next__函数要求返回数据 使用next函数调用时传入迭代器对象 就会执行这个__next__函数class Box:else:b1=Box(6)print(i)class Box:self.a=0self.a+=1。

2025-03-24 14:31:39 995

空空如也

空空如也

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

TA关注的人

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