- 博客(36)
- 收藏
- 关注
原创 样本不平衡问题总结
一、样本不平衡介绍1. 样本不平衡现象:训练数据中各种类别样本数量差别过大,导致训练的模型对各个类别预测或分类的精度偏差比较大,比如电池故障预测,故障的数据量远远少于正常数据量,但是这些故障数据反而更重要。2. 样本不平衡影响:训练样本不平衡,那么模型更容易偏向样本量多的类别,因为模型把样本量的大的类别预测对,整体精度也会高,就不会在意少量样本类别,但这是不对的。即模型会学习到按照样本类别比例的先验信息,而解决样本不平衡能解决学习到这种先验信息,能从本质正确的判断预测不同类别。举个栗子: 比如模型
2022-05-24 22:23:44
5631
1
原创 目标检测——常用评估指标含义及代码
一、简介目标检测是一个分类和回归都有的一个任务。通过混淆矩阵(TP, TN, FP, FN),可以计算出 Precision ( P ), Recall ( R ), Accuracy, F1-Score;IOU二、大概原理1. 步骤:2. 细节:1. 感知机的表达形式三、代码实现1.手动实现代码来自:2.库实现sklearn.linear_model.Perceptron的参数和属性参数:属性:代码实现步骤:#coding=u
2022-04-01 23:07:56
1997
原创 统计学习方法——5.支持向量机(SVM)
一、介绍支持向量机(support vector machines,SVM):寻找一个超平面对样本进行分割 + 分割原则是间隔最大化 + 最终转换为一个凸二次规划问题求解,线性、非线性和分类回归问题均可以。训练样本线性可分时,使用硬间隔最大化;训练样本线性不可分时,使用核函数和软间隔最大化。核函数:将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分,即使得线性不可分的数据变得线性可分。(常用的核函数:线性核、多项式核、高斯核RBF、拉普拉斯核、Sigmoid核。)
2022-01-17 17:31:18
327
原创 统计学习方法——5.逻辑斯蒂回归与最大熵模型
一、简介感知机模型用于解决二分类问题。二、大概原理1. 步骤:2. 细节:1. 感知机的表达形式三、代码实现1.手动实现代码来自:2.库实现sklearn.linear_model.Perceptron的参数和属性参数:属性:代码实现步骤:#coding=utf-8ps:本博客仅供自己复习理解,不具其他人可参考,本博客参考了大量的优质资源,侵删。...
2022-01-17 10:41:39
438
原创 统计学习方法——4.决策树——XGBoost、LightGBM
一、介绍XGBoost: 多个决策树投票(基于bagging)。Random Forest = 随机选择样本(有放回)+随机选择特征+多个决策树+随机森林投票 。LightGBM: 分错样本权重加强后继续训练新的分类器,直到满足设定足够小的错误率。Adaboost =初始化每个样本权重 +根据分类是否正确更新样本权重 +更新后的样本权重使用新的分类器训练 +组合训练的分类器(根据是否加大分类误差率为每个弱分类器适应新的权重)GBDT(梯度提升决策树,Gradient Boo
2022-01-13 16:32:48
954
原创 统计学习方法——4.决策树——Random Forest、Adaboost、GBDT
一、介绍随机森林(Random Forest): 多个决策树投票(基于bagging)。Random Forest = 随机选择样本(有放回)+随机选择特征+多个决策树+随机森林投票 。自适应增强(Adaboost): 分错样本权重加强后继续训练新的分类器,直到满足设定足够小的错误率。Adaboost =初始化每个样本权重 +根据分类是否正确更新样本权重 +更新后的样本权重使用新的分类器训练 +组合训练的分类器(根据是否加大分类误差率为每个弱分类器适应新的权重)GBDT(梯
2022-01-07 14:59:15
616
原创 机器学习——集成学习
一、介绍集成学习: 三个臭皮匠顶个诸葛亮。相当于是多个相同或者不同的模型使用相同或者不同的训练集进行“并行或递进”式的进行模型集成,达到“1+1>2”的效果。多模型投票: n个分类器进行结果预测,预测的结果少数服从多数然后输出最后结果。bagging: 对于每个分类器使用的训练集都是在所有训练集中每次有放回的随机抽样,然后进行投票。降低了方差。boosting: 每个分类器的训练集和上次随机抽取训练集中预测错误的或不一致的训练集组成,然后训练多个分类器进行投票。Adaboosting 使用的
2022-01-07 09:47:13
587
原创 统计学习方法——4.决策树(Decision Tree)
一、介绍决策树用于分类和回归,此处主要学习决策树的分类模型。通过对大量样本的学习去建立一个决策树,依次判断每个属性,从而判断该样本的标记。特征选择:**决策树的生成: ID3, C4.5, **决策树的剪枝:CART算法:。二、细节1. 决策树学习3个步骤:特征选择、决策树的生成、决策树的修剪。三、代码实现1.手动实现代码来自:https://www.pkudodo.com/2018/11/30/1-5/2.库实现sklearn.linear_model.Perce
2021-12-29 17:49:18
1019
原创 统计学习方法——3. 朴素贝叶斯法(Naive Bayes, NB)
一、简介朴素贝叶斯用于解决分类问题。“朴素”:假设各个特征之间相互条件独立。1. 概率概念补充:先验概率、后验概率: 先验根据统计或经验所得;先验概率是以全事件为背景下,A事件发生的概率,p(A∣Ω)p(A|\Omega)p(A∣Ω)。后验概率就是发生结果之后推测原因的概率;后验概率是以新事件B为背景下,A事件发生的概率,p(A∣B)p(A|B)p(A∣B)。全事件一般是统计获得的,没有试验前的概率。新事件一般是实验,如试验B,此时的事件背景从全事件变成了B,该事件B可能对A的概率有影响,那么
2021-12-27 16:36:05
1053
原创 统计学习方法——2. K近邻法(KNN)
一、简介感知机模型用于解决二分类问题。二、大概原理1. 步骤:2. 细节:1. 感知机的表达形式三、代码实现1.手动实现代码来自:2.库实现sklearn.linear_model.Perceptron的参数和属性参数:属性:代码实现步骤:#coding=utf-8ps:本博客仅供自己复习理解,不具其他人可参考,本博客参考了大量的优质资源,侵删。...
2021-12-23 16:39:25
1325
原创 pytorch模型构建(四)——常用的分类损失函数
一、简介损失函数的作用: 主要用于深度学习中predict与True label “距离”度量或者“相似度度量”,并通过反向传播求梯度,进而通过梯度下降算法更新网络参数,周而复始,通过损失值和评估值反映模型的好坏。损失函数的分类: 主要分为回归损失函数和分类损失函数。回归损失函数: reg_loss(回归预测一个具体的数值,真实的一个具体值),比如我要预测一个矩形框的宽高,一般来说可以使任意值。一般的回归会将预测的值设计到一个较小的范围比如0~1范围内,这样可以加速模型收敛,要不然模型前期预测的数值
2021-12-22 16:10:57
2911
原创 统计学习方法——1.感知机
一、简介二、大概原理三、代码实现1.手动实现2.库实现ps:本博客仅供自己复习理解,不具其他人可参考,本博客参考了大量的优质资源,侵删。
2021-12-10 17:53:54
195
原创 pytorch模型构建(二)——datasets部分之数据增广及其他数据处理
一、简介1. 图像中数据增强目的及分类概述:目的:增量丰富多样性提高模型泛化能力(尽可能的使得训练的数据与真实场景中的数据分布一致。)原则:保持标签一致(相应的转换)针对业务场景(例如路标箭头检测就不要用翻转了)不要引入无关的数据。方法:单样本:主要包括 翻转,旋转,扭曲,图像仿射变换,缩放,压缩,随机crop,随机padding,HSV变换,噪声,模糊,图像(feature map)区域随机擦除,风格转换(GAN),GAN网络生成等。多样本主要包括 mosaic,Mi
2021-12-01 18:04:00
4405
1
原创 pytorch模型构建(一)——datasets部分之dataloader
一、简介1. torch中的dataloader:torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, batch_sampler=None, num_workers=0, collate_fn=None, pin_memory=False, drop_last=False,
2021-12-01 16:15:29
2148
原创 python pathlib中Path 的使用(解决不同操作系统的路径问题)
一、 pathlib中的Path库简介Path将文件或者文件夹路径(str)转换为Path对象, 可以实现不同OS路径连接符问题不同、以及对该路径的其他操作,如判断是否为文件、文件夹,根据路径创建创建文件夹(包括是否递归创建缺少的文件夹)等。二、 常用的使用方法1. 忽略不同os连接不同的问题from pathlib import Pathsome_path = 'D:/CodeFiles//server_detection\\datasets\M6_service_data_1020'p =
2021-11-30 16:33:13
8608
原创 一、机柜服务器检测之数据命名规则、数据问题及数据标注规则
一、机房机柜服务器检测问题描述机房元宇宙中的一个子块中,需要对巡检人员的终端设备(头显、手机、平板等设备)采集的机房服务器图像信息进行服务器检测(框出服务器的边框),并通过二维码或者图像检测信息判定服务器序号(ID),从而实现图像中服务器区域与该服务器的信息对应起来,显示到终端设备上,便于巡检人员对服务器进行排查登记。二、数据采集及数据命名规则1. 数据采集目前使用手机对实地机房场景使用拍视频和拍照两种方式进行采集数据。2. 数据命名规则基本格式机房ID_采集目标_采集设备_视频裁剪or图片
2021-10-21 18:00:40
1020
原创 pytorch 层、块、网络、参数、GPU
一、层和块层: 像nn.Linear(),nn.ReLU()都是一个层块: 由许多层组成,可由nn.Squential()将层按照顺序串联起来。块可以包含代码。二、网络中(块和层)的参数访问从已有的模型访问参数,因为有的模型是通过 nn.Sequential() 按照顺序组成,像一个列表,所以可以通过访问类似于列表的方式进行访问import torchfrom torch import nnnet = nn.Sequential(nn.Linear(4, 8), nn.ReLU(),
2021-10-13 11:19:25
280
原创 python参数前面*的含义
当参数前面加一个*,即def func(*parameter):指的是可以接收parameter以一个元组的形式传递多个参数。等价于test(1, 2, 3)当参数前面加一个**,即def func(**parameter):指的是可以接收parameter以一个字典的形式传递多个参数。等价于test(a=1, b=2, c=3)...
2021-10-08 21:51:00
394
原创 python +=和+的区别
python中的 += 和 +不尽相同!当对象为不可变对象时即对象为set(元祖)、字典时,二者是一样的,都会产生一个新的对象(地址发生变化)。当对象为可变对象时如list,二者是不一样。使用+会生成一个新的对象(对象的地址发生变化),而使用+=则不会生成一个新的对象(即地址不发生变化,仅内部的值发生变化)如计算梯度时,要使用+=,即使得地址不发生改变,仅改变内部的值。如果使用+的话,会导致地址发生变化,生成新的tensor对象,其require_grad默认False,后续使用其梯
2021-10-08 17:23:17
1072
1
原创 pytorch中的乘法总结
一、简介点积(数量积,dot product)点积(数量积,dot product)点积(数量积,dot product)二、用法1. 点积(torch.dot())即数量积,对应相乘然后求和。torch.dot(input, other, *, out=None) → Tensor# 输入的两个张量必须为1维的。和numpy的dot product不同,numpy的点积支持二维矩阵运算,但是得到的是矩阵积(即按照矩阵相乘法则进行计算。)2. 矩阵逐元素乘法(Element
2021-10-08 13:39:44
1473
原创 分类问题评价指标及用法
一、简介混淆矩阵(Confuse Matrix)准确率(Accuracy)精确率(Precision)召回率(Recall)F1-ScoreP-R曲线(Precision-Recall Curve)ROCAUC多分类二、混淆矩阵TP(True Positives):实际为正例,预测为正例,预测对了。FN(False Negatives):实际为正例,预测为负例,预测错了。TN(True Negatives):实际为负例,预测为负例,预测对了。FP(False Positiv
2021-09-28 15:43:36
470
原创 pytorch-个别函数用法记录
1.torch.tensor和torch.Tensor的区别背景torch.tensor和torch.Tensor都可以生成或将其他变量转换为tensor张量。torch.tensor为一个函数,返回的是torch.Tensor类实例化的对象,data类型对应单双精度的torch.Tensor。torch.Tensor为一个类,将data转换为单精度浮点型的torch.FloatTensor(torch.Tensor),类中的init函数默认转换。torch.tensortorch.tenso
2021-09-15 00:34:35
316
原创 pytorch loss函数
一、回归损失函数回归问题就是预测出具体的数值,比如我要预测电池电压的具体值,具体值不是固定的,分类问题就是我要预测电池电压值处于故障状态类别还是正常状态类别,类别数目是固定的。1. torch.nn.L1Loss平均绝对误差(Mean Absolute Error, MAE),公式为:l(x,y)=1N∑i=1N∣xi−yi∣ l(x,y) = \frac{1}{N}\sum_{i=1}^{N}|x_i-y_i| l(x,y)=N1i=1∑N∣xi−yi∣就是求预测值和真实值误差的绝对值。
2021-09-14 21:02:59
306
原创 1. RNN-LSTM-GRU
一、 RNN(Recurrent Neural Networks)About RNN循环神经网络(RNN)对序列特性的数非常有效,它将上一个时间t-1的隐节点作为当前时间t的输入,主要应用于时序分析、语音识别、机器翻译、NLP等领域。RNNRNN存在的问题梯度消失/爆炸,可以用梯度截断的阈值方法解决,手动将第阈值θ。或者使用LSTM。二、LSTM(Long Short Term Memory)About LSTM解决RNN的长期依赖问题,随着时间片的增加,RNN丧失了学习先前时间片的信息。
2021-09-14 19:34:21
212
原创 Git 语法
git用法1. 将本地代码库传值git上git init进入本地代码库当前目录,执行 git init,初始化了一个git仓库(具有git的特性,可以执行git命令)git add <file>添加需要传到git仓库的文件,可以是单个文件,也可以是文件目录git commit -m <message>提交添加的文件并备注说明git remote add origin <git@xxx.git>连接、关联到远程仓库git push origin mas
2021-09-14 16:35:42
124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人