- 博客(28)
- 收藏
- 关注
原创 XGBOOST案例
如果无法连接到 TPU(捕获到 `tf.errors.NotFoundError`),则执行 `tf.distribute.get_strategy()`,该函数返回默认的策略,通常是针对 CPU 或 GPU 的单机训练策略。- 如果成功连接到 TPU,就会创建一个 `TPUStrategy` 对象 `strategy`,用于在 TPU 上进行分布式训练。通过计算每列唯一值的数量,我们可以快速了解数据的一些基本特征,比如类别型特征的多样性程度,数值型特征的离散程度等。
2024-06-17 15:07:57
872
原创 特征工程技巧—Bert
前段时间在参加比赛,发现有一些比赛上公开的代码,其中的数据预处理步骤值得我们参考。平常我们见到的都是数据预处理,现在我们来讲一下特征工程跟数据预处理的区别。是指对原始数据进行清洗、转换、缩放等操作,以便为后续的建模或分析任务做准备。这包括处理缺失值、异常值、重复值,以及对数据进行归一化、标准化等操作,使数据适合模型处理。则更侧重于从原始数据中提取、构建或转换特征,以提高模型的性能。这包括特征选择、特征抽取、特征转换等过程。
2024-06-03 21:55:41
860
原创 特征工程技巧——字符串编码成数字序列
class CFG:LR = 1e-3WD = 0.05这里定义了一个名为CFG的类,用于存储一些全局配置参数。这些参数包括是否进行数据预处理、训练时的迭代次数、批量大小、学习率、权重衰减等。NBR_FOLDS表示交叉验证的折数,表示选择参与训练的折数,SEED是随机种子。这里我们表示只选择第一份数据作为验证集,其余14份数据作为训练集。loss=loss,
2024-06-03 18:58:20
886
原创 特征工程技巧——OneHot编码
我们以Kaggle比赛里面的一个数据集跟一个公开代码为例去解释我们的OneHot编码。独热编码的主要优点是它将类别之间的关系消除,使得数据更适合用于机器学习算法,因为它避免了算法误认为类别之间存在顺序或距离关系。
2024-05-31 18:57:19
637
原创 超详细——集成学习——Adaboost——附代码
一般来讲我们这里的到他们一般都属于同一种类型,我可以是逻辑回归,也可以是决策树。通常来讲,在你指定了基分类器具体是哪一个之后,到用的就都是同一种。比如你这里是逻辑回归了,那这里就都是逻辑回归了。在我们的基分类器定下来之后,他的之后的随之的方法也就确定下来了,比如当我们的是逻辑回归的时候,我们就可以用交叉熵损失和梯度下降来进行训练,
2024-05-06 20:43:23
716
原创 YOLOv8部署到C++上(综合版笔记)
这段时间由于项目的需要,需要将yolov8部署到C++上以及跟相应的算法结合,花了我不少时间。现阶段有考虑过使用onnx转Tensort,,故放弃,有目标检测的小伙伴可以试试,接下来使用onnxruntime来试试。下面我将尝试用opencv CPP推理我们得到onnx文件。
2024-03-26 21:07:55
6440
12
原创 卡尔曼滤波器笔记——最详细
现在我们就是不知道是距离多少,就需要用到这个卡尔曼滤波器。这里的预测方程就是我们的状态方程这里的一般就是单位矩阵 ,或者是单位矩阵的一部分这里的一般就是状态变量的个数,就是你选择的观测值具体是什么形状要根据选择的状态变量以及要观测的目标值的的形状所以上面我们举的小车的例子的观测值就只有一个,那就是他的距离,所以就是1*1的矩阵,就是1,如果我们还想知道车速,那么就是2.就是2*1的矩阵。
2024-03-13 00:41:22
798
原创 机器视觉中应用正态分布
这时候我们就需要用到概率论的知识了,因为我们的膜覆盖在零件上是随机的,而相机本身的误差也是随机的,对于这些随机变量来讲,他的概率分布是符合正态分布的。如果我们把阈值设在蓝线这里,我们就不会放过有瑕疵的零件了,但是在阴影部分合格的零件就会被误杀了,这种情况被称之为。以外,这样的话,系统就不会把任何一个好的零件认为是有瑕疵的,但是阴影部分不好的零件可能会被漏放过来,这被称之为。的偏差,上面的这个表格所表现出来的是包含了经验的修正后的工业的数据的一个结果。我们可以发现有膜的跟没膜的白色像素点的数量差距很大。
2024-03-11 15:49:23
371
1
原创 LSTM长短期记忆网
RNN是递归神经网络(Recurrent Neural Network)的缩写。它是一种神经网络结构,专门用于处理序列数据,具有记忆和顺序处理的能力。在传统的前馈神经网络中,每个输入与输出之间都是独立的,而RNN通过引入循环连接,允许信息在网络中传递并保持状态。循环连接(Recurrent Connections):RNN中的每个时间步都有一个循环连接,使得网络可以在处理当前输入时考虑之前的信息。这种连接使得RNN能够处理任意长度的序列输入。隐藏状态(Hidden State)
2024-03-03 17:39:48
1146
原创 RNN循环神经网络及其梯度消失笔记
是你的闺蜜进行了一顿输出,输入到了你的大脑,然后两者结合就产生了一个意识,就生成了一个新的状态,新的状态也就是说要跟男朋友分手,那么这个就是新的状态。因此,梯度的大小也指示了参数更新的步长,通常我们会使用学习率(learning rate)来调节梯度的大小,以控制参数更新的幅度,避免更新步长过大或过小。这些输入的影响,包括他们的一些梯度值等等,前后也是关联的,就是说后面所作的一些决定,是受到前面的一些因素的影响的,因此模型在学习这些参数的时候,也需要把前面的集合起来。损失函数也可以用来评估模型的性能。
2024-03-03 16:43:53
1075
原创 最优化之粒子群优化(PSO)笔记
模拟退火的思路就是比如上面的C‘点可能不好,但是我可以拿一定的概率接受你,虽然C’不好,但是他的旁边可能就是好的。Step2:就越是下面的注释1,如果想要一个最大化的函数值(maxf),就是反过来的最小化的-f。
2024-03-01 16:11:13
1106
原创 从零开始学深度学习——3 pytorch官方Demo(Lenet)
下面我们来定义一下他的正向传播过程,这里的x代表的是我们输入的数据,这个数据指的就是首先我们将我们定义的数据经过卷积层1,接着将我们得到的数据经过Relu激活函数接着我们的输出再通过下采样层1,得到输出接着再通过我们的卷积层2,接着将我们得到的数据经过Relu激活函数接着我们的输出再通过下采样层2,得到输出再下一层就跟我们的全连接层进行拼接了我们通过.view这个函数把我们的数据展成为1维向量,这里的-1代表着第一个维度。
2024-02-04 16:51:45
1186
1
原创 从零开始学深度学习——2 卷积神经网络基础补充
第一次接触神经网络 之前自己试着跑了一下yolov5。寒假开始对于理论部分的学习参考资料来自B站up主——霹雳吧啦Wz 前段时间都在摸鱼,现在寒假正式开始学习啦
2024-01-29 14:54:20
323
原创 从零开始学深度学习——1 卷积神经网络基础
第一次接触神经网络 之前自己试着跑了一下yolov5。寒假开始对于理论部分的学习参考资料来自B站up主——霹雳吧啦Wz
2024-01-29 13:19:06
865
原创 机器视觉案例——检测口罩——实战以及遇到的问题(已解决)
根据之前我笔记中的水果识别 接下来我们可以开始进阶的识别在我们的桌面建立一个新建文件夹,我这里是新建了一个命名为123的文件夹在新建文件夹下输入cmd然后我们可以更换镜像源,这样做的目的是为了让我们后续下载各类包更快这里推荐中科大的。
2024-01-17 22:44:11
1029
原创 机器视觉案例——水果识别P3——代码讲解
是用来划分数据集但是我们这里的果蔬的数据集是做了划分的‘以我们下载的数据集为例image_data是我们用来训练的数据集test_image_data是用来测试的数据集到时候我们就会分开来加载训练集以及测试集指的是训练集和验证集所占的比例 分别是80%和20%85行是原始数据的目录文件夹86行是输入目标数据的文件夹87行就会给我们划分出来这两个数据集是用来测试我们这两个模型的测试与训练的过程主要的不同点在于 测试的过程中我们直接加载模型就可以。
2024-01-15 22:23:04
1353
6
原创 机器视觉案例——水果识别P0——简单举例
案例入门——内容来源于bilibiliup主。错题改正的过程=反向传播与梯度下降调整权重。为了方便验证集和测试集可以一样 但是。测验考试=验证(validate)练习的过程=训练(train)脑子=CNN(卷积神经网络)高考前刷的练习=数据集。错题=loss(误差)高考=测试(test)
2024-01-15 20:58:22
363
原创 09——从0开始学C++——数据类型—实型
默认情况下 输出一个小数,会显示出6位有效数字。用float跟double分别表示。科学计数法以及代码演示。
2024-01-14 21:20:31
413
1
原创 08——从0开始学C++——数据类型—sizeof关键字
语法:sizeof(数据类型/变量)作用:利用sizeof关键字可以。int占用内存空间为。
2024-01-14 20:40:21
391
1
原创 04——从0开始学C++——常量
const修饰的变量也称为常量,一旦修改也会报错。Day是常量,一旦修改就会报错。当修改为14时会显示以下错误。
2024-01-14 14:55:55
346
1
原创 03——从0开始学C++——变量
每一段内存都会有地址编号 这段地址编号通常用一个十六进制数来表示。给这段内存起一个名 比如说a 它就能代表这个10 就非常方便了。这里的16进制0x0000就可以代表上面那个方框里的内存了。例如:这里的数字10 可以用Int来代表它 是一个整型。要是要有100个数字呢?如果用这种办法就太过复杂了。a就代表那个数字10了。
2024-01-14 14:09:59
358
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人