自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 问答 (1)
  • 收藏
  • 关注

原创 XGBoost详解(原理篇)

XGBoost全称为eXtreme Gradient Boosting,即极致梯度提升树。XGBoost是Boosting算法的其中一种,Boosting算法的思想是将许多弱分类器集成在一起,形成一个强分类器(个体学习器间存在强依赖关系,必须串行生成的序列化方法)。Note:关于Boosting算法详见博文集成学习详解_tt丫的博客-CSDN博客XGBoost是一种提升树模型,即它将许多树模型集成在一起,形成一个很强的分类器。其中所用到的树模型则是CART回归树模型。

2023-03-15 19:44:21 31436 4

原创 YOLOv5网络结构+代码+应用详解|CSDN创作打卡

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as np import pandas as pd import.

2022-01-23 13:38:53 28218 20

原创 ASCII、Unicode、UTF-8、GBK、全角/半角

1、ASCII2、Unicode3、UTF-84、GB23125、GBK6、\u和\x二、相互转化1、str 与ASCII2、str与utf-83、str转gbk4、在编码时想看到底是哪个字符编码失败时,引用try except查看

2023-07-01 14:42:12 1027

原创 小型中文版聊天机器人

自己用pytorch搭建模型,训练一个小型的中文闲聊机器人。

2023-06-10 20:30:20 3276 2

原创 YOLOv5训练结果性能分析

目录一、confusion_matrix.png —— 混淆矩阵二、F1_curve.png —— F1曲线三、labels.jpg ——标签四、labels_correlogram.jpg —— 体现中心点横纵坐标以及框的高宽间的关系五、P_curve.png ——单一类准确率六、R_curve.png —— 单一类召回率七、PR_curve.png ——精确率和召回率的关系图八、result.png —— 结果loss functions一、confusion_

2023-01-31 11:09:14 35551 17

原创 linux使用ZLMediaKit搭建rtsp服务器

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。致敬这里是参考上面链接的介绍再进行一些自己遇到的问题的补充。

2023-01-29 16:10:27 3111 3

原创 深度学习之优化算法

​目录一、优化算法与深度学习二、深度学习中优化算法的常见算法三、总结四、常用优化算法的代码调库实现一、优化算法与深度学习1、优化算法对于深度学习的意义 深度学习中的优化问题通常指的是:寻找模型上的一组参数θ,它能显著地降低(最小化)代价函数J(θ),通常也有采取最大化问题转化为最小化问题再优化的方法。 优化算法直接影响模型的训练效率。2、优化算法与深度学习的关系优化算法的目的:降低训练误差;

2023-01-28 13:44:19 2877

原创 长短期记忆(LSTM)详解

​目录一、背景二、原理三、总结四、LSTM的优缺点五、LSTM代码实现一、背景 当时间步数(T)较大或时间步(t)较小的时候,RNN的梯度较容易出现衰减或爆炸。虽然裁剪梯度可以应对梯度爆炸,但是无法解决梯度衰减的问题。这个原因使得RNN在实际中难以捕捉时间序列中时间步(t)距离较大的依赖关系。因此LSTM应运而生。 RNN详解可以看看:RNN循环神经网络_tt丫的博客-CSDN博客_rnn应用领域二、原

2023-01-23 10:10:19 15767

原创 门控循环单元(GRU)

​目录一、背景二、原理三、GRU的优缺点四、代码实现GRU一、背景 当时间步数(T)较大或时间步(t)较小的时候,RNN的梯度较容易出现衰减或爆炸。虽然裁剪梯度可以应对梯度爆炸,但是无法解决梯度衰减的问题。这个原因使得RNN在实际中难以捕捉时间序列中时间步(t)距离较大的依赖关系。因此GRU应运而生。 RNN详解可以看看:RNN循环神经网络_tt丫的博客-CSDN博客_rnn应用领域二、原理1、前向传播(1)重置门和

2023-01-21 10:06:08 3538 1

原创 几个卷积神经网络总结

LeNet —— 卷积层(含激活函数)+ 池化层,末尾加全连接层作为判别AlexNet —— 模块加宽,增加通道数🌳网络结构方面:(1)使用ReLU作为激活函数代替了传统的Sigmoid(2)重叠最大池化(3)使用dropout🌳数据预处理方面:图像增广,数据增强🌳计算性能方面:多GPU训练自AlexNet之后的两个方向:小卷积核和多尺度VGG —— 加深网络深度。

2023-01-08 19:46:57 995

原创 DenseNet详解

​目录一、DenseNet网络的背景二、DenseNet网络结构四、DenseNet优缺点五、DenseNet代码实现一、DenseNet网络的背景 DenseNet模型的基本思路与ResNet一致,但它建立的是前面所有层与后面层的密集连接(即相加变连结),它的名称也是由此而来。 DenseNet的另一大特色是通过特征在通道上的连接来实现特征重用。这些特点让DenseNet的参数量和计算成本都变得更少了(相对ResNet),效果也

2023-01-08 14:40:24 20598 5

原创 GoogLeNet详解

​目录一、GoogLeNet网络的背景二、GooLeNet网络结构三、GooLeNet的亮点四、GooLeNet代码实现一、GoogLeNet网络的背景想要更好的预测效果,就要从网络深度和网络宽度两个角度出发增加网络的复杂度。但这个思路有两个较为明显的问题:首先,更复杂的网络意味着更多的参数,也很容易过拟合;其次,更复杂的网络会消耗更多的计算资源,而且卷积核个数设计不合理,导致了卷积核中参数没有被完全利用(多数权重都趋近0)时,会造成大量计算资源的浪费

2023-01-07 11:06:19 17953 2

原创 NiN详解

这也是为了解决全连接层参数过多的问题。对于分类问题,在之前通常的解决方法是:在最后一个卷积层的feature map和全连接层连接,最后通过softmax进行分类。但全连接层带来的问题就是参数空间过大,容易过拟合。早期AlexNet采用了Dropout来减轻过拟合,提高网络的泛化能力,但依旧无法解决参数过多的问题。而全局平均池化的做法是将全连接层去掉,在最后一层,将卷积层数目设为与类别数目一致,然后全局pooling, 从而直接输出属于各个类的结果分数。

2023-01-04 15:31:46 1367 2

原创 VGG详解

一、VGG网络的背景二、VGG网络结构1、各网络结构参数图示2、输入3、双层 —— 一层卷积+(一层卷积+最大池化)4、三层 —— 两层卷积+(一层卷积+最大池化)5、全连接层——分类判决6、拓展:VGG16_bn三、VGG网络的亮点——连续小卷积核代替大卷积核四、VGG网络的不足五、VGG代码实现一、VGG网络的背景AlexNet问世之后,很多学者通过改进AlexNet的网络结构来提高自己的准确率,主要有两个方向:小卷积核和多尺度。而VGG的作者们则选择

2023-01-04 09:16:19 3997

原创 AlexNet详解

分为上下两层,分别对应两个GPU的操作过程,除了中间某些卷积层和全连接层会有GPU间的交互外,其他层都是由两个GPU分别计算结果。除去局部响应规范化操作(LRN),AlexNet一共包含8层,前5层由卷积层(其中卷积层1、2、5后含有下采样层)组成,(中间还夹带一个平均池化),剩下的3层为全连接层。最后一层全连接层输出,得到1000个图像分类标签对应的得分值。除了GPU并行结构的设计,AlexNet网络结构和LeNet很相像。

2023-01-03 11:10:59 4118 4

原创 机器学习之softmax

###################全连接网络定义部分########################def __init__(self, num_input, num_output): # 全连接层初始化# 参数初始化def forward(self, input): # 前向传播计算# 全连接层的前向传播,计算输出结果self.output = np.matmul(self.input,self.w)+self.b#利用矩阵乘法(Y=XW+B)——(n,c)

2022-12-23 10:50:54 3099

原创 特征选择与稀疏学习详解

对当前学习任务有用的属性从特征集合中选取出相关特征,是一种数据预处理过程。先对数据集进行特征选择,然后再训练学习器,特征选择过程与后续学习器无关。直接把最终将要使用的学习器的性能作为特征子集的评价准则,即目的是为给定学习器选择最有利于其性能的量身定做的特征子集。A、随机产生一个特征子集A',然后计算在A'下学习器L的误差;B、如果(这个误差比之前得到的误差都要小)或者(误差差不多但是A‘中的特征数目更少),那么我们更新最终的特征子集为A’,并记下它的误差和特征数目;

2022-10-23 13:50:55 1822

原创 降维与度量学习

缓解维数灾难的一个重要途径就是降维,即通过某种数学变换将原始高维空间转变到一个低维的子空间。这样在子空间中样本密度就会增大,距离计算也会比之前简单。一个度量(距离函数)是一个定义集合中元素之间距离的函数。一个具有度量的集合被称为度量空间。度量学习即相似度学习。

2022-10-22 14:26:13 1236

原创 k近邻学习

目录一、算法思想二、算法优缺点1、优点2、缺点三、python实现一、算法思想给定测试样本,基于某种距离度量找到训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”的信息来进行预测。在分类任务中可使用“投票法”(即选择这k个样本中出现最多的类别标记作为预测结果);在回归任务中可使用“平均法”(即将这k个样本的实际输出标记的平均值作为预测结果);还可以基于距离远近进行平均加权或加权投票,距离越近的样本权重越大。二、算法优缺点1、优点简单易用模型训练时间快(惰性算法)

2022-10-08 20:10:40 470

原创 机器学习之聚类

无监督学习中最常见的即为聚类学习。聚类学习是按照某种特定标准(如距离等)把一个数据集划分为不同的类或簇(子集),使得同一个簇内的数据对象的相似性尽可能大,不在同一个簇中的数据对象的差异性也尽可能地大(即聚类后同一类的数据尽可能聚集到一起,不同类数据尽量分离)。这些划分后的概念对于聚类算法而言是未知的,簇所对应的概念语义需要我们自行接着探索,所以经常聚类被用作分类等其他学习任务的前驱过程。其中,u代表簇的中心点。每类中的点到对应簇中心的欧氏距离平方的和 ,值越小,聚类效果越好。

2022-10-03 14:19:44 3188

原创 集成学习详解

在机器学习的有监督学习算法中,我们的目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际往往不这么完美与理想,有时我们只能得到多个有偏好的模型(即在某些方面表现的比较好),这样的模型称为弱监督模型。但是一个过优秀的模型可能会出现过拟合问题,但多个有偏好的模型组合成的模型不容易出现过拟合问题。集成学习即组合多个弱监督模型以期望得到一个更好更全面的强监督模型。集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。

2022-09-24 17:11:06 4365

原创 机器学习中的常见分类方法汇总

​目录一、常见方法与其核心二、这几种常见方法的优缺点和适用情况三、朴素贝叶斯分类器和逻辑回归的互通四、二分类到多分类五、类别不平衡问题一、常见方法与其核心1、线性判别分析以一种基于降维的方式将所有的样本映射到一维坐标轴上,然后设定一个阈值,将样本进行区分,映射依据为:类间间距大,类内间距小。以二分类为例:目标式:最大化——最终结果:详见线性判别分析(LDA)详解_tt丫的博客-CSDN博客_线性判别分析(ld

2022-09-03 14:50:54 6704

原创 贝叶斯分类器详解

目录一、数学基础1、贝叶斯决策论(1)先验概率和后验概率(2)贝叶斯定理2、极大似然估计(1)基本思路(2)公式推导(3)常见假设——正态分布二、朴素贝叶斯分类器1、符号设定2、后验概率的计算3、极大似然法求最合适的分布参数4、常见假设——正态分布5、拉普拉斯平滑三、代码示例一、数学基础1、贝叶斯决策论(1)先验概率和后验概率先验概率:根据以往经验和分析得到的概率;后验概率:事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性

2022-09-02 17:59:47 3480

原创 impot torch报错UnicodeDecodeError

impot torch报错UnicodeDecodeError。可能是因为torch里有非utf-8编码的吧。

2022-09-02 13:27:45 250

原创 CogView中网络结构的总体构建

​目录一、构建图二、代码解析一、构建图二、代码解析这部分代码在model/gpt2_modeling.py中1、__init__(1)参数设定num_layers:transformerLayer的层数;vocab_size:词典大小;hidden_size:输入层大小;num_attention_heads:attention head的数目;embedding_dropout_prob:embedding的dropout概率;attention.

2022-08-30 21:59:17 676

原创 CogView整体图解

​目录一、总括二、数据集输入(token)三、Transformer(GPT)四、TransformerLayer五、Self Attention六、MLP一、总括二、数据集输入(token)1、生成由cogdata生成二进制数据集(生成token)cogdata用法:GitHub - Sleepychord/cogdata: A light-weight data management system for large-scale pretraining2、

2022-08-30 21:53:02 1768 1

原创 CogView中的Transformer

目录一、原理二、代码解析一、原理1、总体介绍将n个的 transformer blocks 打包在一起,即 n * transformer layer + final layernorm 两部分组成2、具体实现(1)不采取稀疏处理(默认)(2)采取稀疏训练新建的rmask(k为输入的总列数;w为窗口大小;t为调整窗口数量所用)(3)稀疏推断二、代码解析1、__init__(1)参数设定​.........

2022-08-29 14:53:36 1255

原创 CogView中的单层TransformerLayer

​目录一、原理二、代码解析一、原理输入层:hidden state,shape为(b, s, h);最终输出也是(b,s,h);1、LayerNorm简单而言,LayerNorm就是针对每条样本,对每条样本的所有特征做归一化。为的是让当前层的参数稳定下来,避免梯度消失或者梯度爆炸,方便后面的继续学习。公式:(其中防止分母为0)2、self attention详见3、残差结构的引入可以看看深度学习之Resnet详解|CSDN创作打.

2022-08-29 14:46:41 806

原创 CogView中的Self Attention

​一、原理1、为什么需要self attention模仿人类注意力,希望将有限的注意力集中在重点信息上,快速得到最有效的信息。比如说关注图上的“小鸟”,希望把重心放在图中的小鸟上。如何把关注点放在我们想关注的数据上?最简单的思路就是对数据进行加权处理,关注的部分权重大。2、基本公式:向量的点积的几何意义是一个向量在另一个向量上的投影,点积越大,两向量间的相关性越强。所以结合Q,K代表的意思,即表示查询的和索引的相关度矩阵,即得到相似度矩阵。除以:因为该方法假设 Q 和 K.

2022-08-29 14:38:26 782

原创 CogView中的Word embeddings (parallel)

​目录一、用途二、代码解析一、用途转化为词向量咯二、代码解析这一部分在mpu/layers.py里的VocabParallelEmbedding类里实现1、__init__def __init__(self, num_embeddings, embedding_dim, init_method=init.xavier_normal_): super(VocabParallelEmbedding, self).

2022-08-29 14:35:25 1156 4

原创 CogView中的MLP

​目录一、原理二、代码解析一、原理1、总体介绍MLP是“多层感知器”,也被称为前馈神经网络或人工神经网络(ANN)原理图如下所示:令f为激活函数,则有:2、具体内容(1)输入输入的shape:(b,s,h);(2)ColumnParallelLinear(h->4h)权重矩阵W的shape:(4hp,h);所以 X*W^T 的shape为:(b,s,4hp);偏置矩阵B的shape:(1,4hp);(默认

2022-08-25 15:34:40 732

原创 CogView中的ColumnParallelLinear

目录一、原理二、代码详解1、__init__(1)参数说明(2)沿第二个维度划分权重矩阵(获取分给每个进程的权重矩阵列数)(3)初始化权重矩阵(W)和偏置矩阵(b)2、forward一、原理简单来说就是基于模型分片地按列切分权重的线性变换。权重:W = [W_1, ..., W_p](p为分区数量,即GPU数量);偏置:B =[b_1, ..., b_p];输入:X(每个GPU都拥有相同的X);输出:Y;表达式:Y = XW+B=X*[W_1, ...

2022-08-25 15:31:05 1124 2

原创 CogView中的RowParallelLinear

​目录一、原理二、代码解析一、原理简单来说就是基于模型分片地按行切分权重的线性变换。权重:(p为分区数量,即GPU数量);偏置:B ;输入:[X_1, ..., X_p];输出:Y;表达式:二、代码解析1、__init__(1)参数说明input_size:矩阵W的第一维;output_size:矩阵A的第二维度;bias:是否添加偏置;input_is_parallel:如果为真,我们假设输入已经在GPU上拆分,并且不再拆分。假则需要我们自行拆

2022-08-25 15:30:47 509

原创 跑通CogView教程

​一、代码下载二、环境配置三、下载 image tokenizer——vqvae_hard_biggerset_011.pt四、下载模型五、准备input的文字六、运行七、结果一、代码下载GitHub - THUDM/CogView: Text-to-Image generation. The repo for NeurIPS 2021 paper "CogView: Mastering Text-to-Image Generation via Transformer

2022-07-31 23:06:05 1894 17

原创 在虚拟环境下使用pip时默认使用系统环境的pip该怎么办

我建的虚拟环境装的是python3.7。用conda安装依赖包令人火大的各种报错(也许我跟conda八字不合),还是pip用的顺手。结果一个命令pipinstall-rrequirments.txt输入后,装的全是py36的包!我分别输入命令condalistpip和pipshowpip后才知道这两个命令下的pip位置不同conda下的pip确实是在我建立的虚拟环境里面;但是pipshow的pip是在系统环境里。这样就成功地将使用的pip的目录更换好了,可以愉快的使用pip了。...

2022-07-21 20:24:01 2906 6

原创 决策树详解

其中被称为属性a的“固有值”属性a的取值有,其中表示D中所有在属性a上取值为的样本集合。属性a的可能取值数目越多(V越大),IV(a)的值通常会更大。(1)基尼值Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。Gini(D)越小,数据集D的纯度越高,不确定性越小。(2)基尼指数。...

2022-07-20 15:23:06 24471 3

原创 分类任务中的类别不平衡问题

目录一、问题定义二、问题的解决方案1、解决方法引入2、理想解决方案3、实际解决方案一、问题定义分类任务中不同类别的训练样本数目差别很大的情况。二、问题的解决方案1、解决方法引入在线性分类器中,我们用对新样本进行分类时,我们是以一个阈值与预测的y值进行比较。通常我们选取0.5为阈值(认为真实正反例可能性相同),即:时,预测为正例。...

2022-07-16 22:18:40 616

原创 二分类学习推广到多分类学习

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。​目录一、主要思想二、一对一(OvO)三、一对其余(OvR)四、多对多(MvM)五、python实现一、主要思想拆解法——将多分类任务拆为多个二分类问题进行求解。经典拆分策略有:一对一,一对其余,多对多二、一对一(OvO)假定总共有N个类别,我们随机选两个类别来进行二分类学习,那么一共有种组合,即产生个二分类的分类器。最后的预测结果则由这个分类器的结果进行投票

2022-07-16 18:40:23 1467

原创 多元线性回归详解

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。

2022-07-15 22:11:16 12123

原创 机器学习模型的评估方法

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。

2022-07-15 16:10:29 633

python线性回归的不调库实现

适用于初学者,内含python线性回归不调库的实现方法(含注释)

2022-12-21

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

TA关注的人

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