理论基础
文章平均质量分 78
理论基础
征途黯然.
Hold me hard and mellow.
展开
-
【Pandas】Pandas日常工作的常用操作大全
Pandas原创 2024-09-04 23:01:13 · 752 阅读 · 20 评论 -
【RMSNorm】Root Mean Square Layer Normalization
论文改进了大模型领域常用的`LayerNorm`,提出`RMSNorm`(均方差层归一化)。相比于`LayerNorm`,`RMSNorm`开销更小,训练更快,性能与`LayerNorm`基本相当。原创 2024-04-05 15:00:18 · 2581 阅读 · 40 评论 -
【T5中的激活函数】GLU Variants Improve Transformer
论文在各种激活函数之间做了对比实验,探究应用不同激活函数的FNN对T5模型的影响。最终`GEGLU`效果最好。原创 2024-04-04 20:57:37 · 2151 阅读 · 12 评论 -
深入解析大语言模型显存占用:训练与推理
本篇文章将帮助你优雅又快速地拒绝老板。看完本篇《深入解析大语言模型显存占用:训练与推理》,你将对模型占用显存的问题有个透彻的理解。原创 2024-03-27 00:55:35 · 6029 阅读 · 36 评论 -
交叉熵损失函数求导与Softmax函数求导
前情提要。原创 2024-01-27 14:56:10 · 3422 阅读 · 35 评论 -
【Pytorch】理解自动混合精度训练
更大的深度学习模型需要更多的计算能力和内存资源。一些新技术的提出,可以更快地训练深度神经网络。我们可以使用 FP16(半精度浮点数格式)来代替 FP32(全精度浮点数格式),研究人员发现串联使用它们是更好的选择。有的 GPU(例如 Paperspace 提供的 Ampere GPU)甚至可以利用较低级别的精度,例如 INT8。原创 2023-12-06 22:07:11 · 10898 阅读 · 149 评论 -
抑制过拟合——从梯度的角度看LayerNorm的作用
在深入探索`transformer`模型时,一个不可忽视的组成部分便是`LayerNorm`,它在模型的优化过程中起着关键作用。相比之下,虽然`BatchNorm`也广泛应用于各种网络模型中,但在很多情况下`LayerNorm`表现出更优的效果。然而,对于为何`LayerNorm`优于`BatchNorm`,目前学界还没有形成统一的看法。原创 2023-11-30 23:35:50 · 4524 阅读 · 28 评论 -
抑制过拟合——Dropout原理
在机器学习领域,尤其是当我们处理复杂的模型和有限的训练样本时,一个常见的问题是过拟合。简而言之,过拟合发生在模型对训练数据学得太好,以至于它捕捉到了数据中的噪声和误差,而不仅仅是底层模式。具体来说,这在神经网络训练中尤为常见,表现为在训练数据上表现优异(例如损失函数值很小,预测准确率高)而在未见过的数据(测试集)上表现不佳。原创 2023-11-30 16:40:59 · 3245 阅读 · 9 评论 -
优化器原理——权重衰减(weight_decay)
在深度学习中,优化器的 `weight_decay` 参数扮演着至关重要的角色。它主要用于实现正则化,以防止模型过拟合。过拟合是指模型在训练数据上表现优异,但在新的、未见过的数据上却表现不佳。这通常是因为模型学习了训练数据中的噪声和细节,而不是数据背后的真实模式。原创 2023-11-29 18:29:22 · 5851 阅读 · 16 评论 -
神经网络可视化——基于torchviz绘制模型的计算图
第一步、安装 graphviz 和 torchviz 库。原创 2023-11-28 16:09:14 · 3649 阅读 · 19 评论 -
朴素贝叶斯分类器和一般的贝叶斯分类器有什么区别
转载 2021-09-18 15:29:05 · 480 阅读 · 0 评论 -
【统计学习方法】朴素贝叶斯对鸢尾花(iris)数据集进行训练预测
本文摘要· 理论来源:【统计学习方法】第三四章 朴素贝叶斯· 技术支持:pandas(读csv)、numpy、sklearn.naive_bayes.GaussianNB(高斯朴素贝叶斯模型)、sklearn.model_selection.cross_val_score(用于进行k折交叉验证)· 代码目的:利用sklearn提供的高斯贝叶斯模型,对鸢尾花数据集进行学习+预测作者:CSDN 征途黯然. 1、建议去了解一下,高斯、伯努利、多项式的朴素贝叶斯2、突然间觉得sklearn很..原创 2021-09-13 15:09:41 · 3425 阅读 · 0 评论 -
【sklearn报错解决方案】UndefinedMetricWarning: Precision is ill-defined and being set to 0.0
精确率计算的是所有样本的平均精确率。而对于每个样本来说,精确率就是预测正确的标签数在整个预测为正确的标签数中的占比。的某一行改为全0,数据如下。改为全0,数据如下。原创 2022-07-18 23:15:04 · 17640 阅读 · 10 评论 -
【机器学习】多标签分类的评价指标与代码实现
例如对于某个样本来说,其真实标签为[0,1,0,1],预测标签为[0,1,1,0]。那么该样本对应的精确率就应该为2*(0+1+0+0)/((1+1)+(1+1))=0.5。例如对于某个样本来说,其真实标签为[0,1,0,1],预测标签为[0,1,1,0]。例如对于某个样本来说,其真实标签为[0,1,0,1],预测标签为[0,1,1,0]。例如对于某个样本来说,其真实标签为[0,1,0,1],预测标签为[0,1,1,0]。...原创 2022-07-17 01:24:47 · 4155 阅读 · 0 评论 -
机器学习中的范数规则化之(一)L0、L1与L2范数
机器学习中的范数规则化之(一)L0、L1与L2范数zouxy09@qq.comhttp://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化。我们先简单的来理解下常用的L0、L1、L2和核范数规则化。最后聊下规则化项参数的选择问题。这里因为篇幅比较庞大,为了不吓到大家,我将...转载 2021-09-01 21:05:54 · 3260 阅读 · 1 评论 -
【统计学习方法】感知机对鸢尾花(iris)数据集进行二分类
本文摘要· 理论来源:【统计学习方法】第二章 感知机· 技术支持:pandas(读csv)、matplotlib(画图)、numpy、sklearn.linear_model.Perceptron(感知机模型)、随机梯度下降思想· 代码目的:利用手写、sklearn两种感知机模型,对鸢尾花数据集进行二分类作者:CSDN 征途黯然. 一、鸢尾花(iris)数据集 Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据集内包含 3 类共 150 条记录,每..原创 2021-09-05 10:38:13 · 12297 阅读 · 0 评论 -
三种常用的朴素贝叶斯实现算法——高斯朴素贝叶斯、伯努利朴素贝叶斯、多项式朴素贝叶斯
朴素贝叶斯在机器学习中,朴素贝叶斯分类器是一系列以假设特征之间强(朴素)独立下运用贝叶斯定理为基础的简单概率分类器。朴素贝叶斯算法Naive Bayes定义中有两个关键定义:特征之间强假设独立和贝叶斯定理.这两个定义就是朴素贝叶斯的关键.接下来先了解一下这两个定义.贝叶斯定理贝叶斯定义是概率论中的一个定理,它跟随机变量的条件概率以及边缘概率分布有关.通常,事件A在事件B(发生)的条件下的概率,与事件B在事件A(发生)的条件下的概率是不一样的,然而,这两者之间是有确定的关系的,贝叶斯定理就是这.转载 2021-09-13 14:23:53 · 15562 阅读 · 0 评论 -
图像处理 手写体英文字母的目标检测与识别 实验报告
近年来,随着python的迅速崛起,人工智能、图像识别、计算机视觉等新兴学科变得火热起来。Python的发展也伴随着它的各种衍生库、衍生编辑器的发展,其中OpenCV是比较经典的一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。 本次大作业采用Pycharm原创 2023-01-24 12:17:01 · 5298 阅读 · 0 评论 -
梯度下降算法原理讲解
其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。书的购买链接书的勘误,优化,源代码资源导言最优化问题在机器学习中有非常重要的地位,很多机器学习算法最后都归结为求解最优化问题。在各种最优化算法中,梯度下降法是最简单、最常见的一种,在深度学习的训练中被广为使用。在本文中,SIGAI将为大家系统的讲述梯度下降法的原理和实现细节问题最优化问题最优化问题是求解函数极值的问题,包括极大值和极小值。相信所有的读者对这个问题都不陌转载 2021-09-02 20:48:37 · 4243 阅读 · 0 评论 -
【tensorflow】连续输入的线性回归模型训练代码
全部代码 - 复制即用。原创 2023-06-17 11:50:59 · 3717 阅读 · 0 评论 -
【多任务学习】An Overview of Multi-Task Learning in Deep Neural Networks
译自:http://sebastianruder.com/multi-task/1. 前言在机器学习中,我们通常关心优化某一特定指标,不管这个指标是一个标准值,还是企业KPI。为了达到这个目标,我们训练单一模型或多个模型集合来完成指定得任务。然后,我们通过精细调参,来改进模型直至性能不再提升。尽管这样做可以针对一个任务得到一个可接受得性能,但是我们可能忽略了一些信息,这些信息有助于在我们关心的指标上做得更好。具体来说,这些信息就是相关任务的监督数据。通过在相关任务间共享表示信息,我们的模型在原始任务上.转载 2022-05-08 14:09:44 · 920 阅读 · 0 评论 -
重写transformers.Trainer的compute_metrics方法计算评价指标时,形参如何包含自定义的数据
使用transformers.Trainer就图个快和优雅,它包装了一整套的训练逻辑,让我们不用从数据加载、模型训练、评估、预测、保存模型、计算评价指标等等一整套写完。方法中,我们就可以使用自定义的列的数据了。但是显然,模型和任务一复杂的时候,loss的计算、评价指标的实现,我们还是需要重写的。Prompt最近这么火,一个方向的朋友一定会出现和我一样的问题,看到这篇帖子麻烦评论个1,哈哈哈哈。存的就不知原始标签了,现在存的是元组,就是你指定的。方法时,不会删除我们自定义的列。1、在构建输入的时候,除了。原创 2023-06-11 00:18:20 · 7068 阅读 · 6 评论 -
【tensorflow】连续输入+离散输入的神经网络模型训练代码
离散输入的转化问题。原创 2023-06-17 14:17:25 · 3491 阅读 · 0 评论 -
【神经网络】MLP 编码器-解码器 注意力机制 残差连接
[1] 多层感知机(MLP) 最典型的MLP包括包括三层:输入层、隐层和输出层,MLP神经网络不同层之间是全连接的(全连接的意思就是:上一层的任何一个神经元与下一层的所有神经元都有连接)。 由此可知,神经网络主要有三个基本要素:权重、偏置和激活函数 权重:神经元之间的连接强度由权重表示,权重的大小表示可能性的大小 偏置:偏置的设置是为了正确分类样本,是模型中一个重要的参数,即保证通过输入算出的输出值不能随便激活。 激活函数:起非线性映射的作用,其可将神经元的输出幅度限制在一定范围内,.原创 2022-01-03 19:35:47 · 9130 阅读 · 0 评论 -
【tensorflow】连续输入的神经网络模型训练代码
全部代码 - 复制即用。原创 2023-06-17 12:01:31 · 3187 阅读 · 0 评论 -
【统计学习方法】线性可分支持向量机对鸢尾花(iris)数据集进行二分类
本文摘要· 理论来源:【统计学习方法】第七章 SVM· 技术支持:pandas(读csv)、numpy、sklearn.svm、svm思想、matplotlib.pyplot(绘图)· 代码目的:利用sklearn的svm模型,对鸢尾花数据集进行二分类,同时,对比感知机与线性可分向量机训练效果。作者:CSDN 征途黯然. 一、鸢尾花(iris)数据集 Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据集内包含 3 类共 150 条记录,每类各 50..原创 2021-09-22 21:57:05 · 4130 阅读 · 0 评论 -
【深度学习】pytorch使用tensorboard可视化实验数据
执行上述代码后在本文件更目录下生成一个logs文件,且包含了一个事件文件。[2.1]安装pytorch和tensorboard。[2.3]打开tensorboard面板。输入命令后,会生成一个地址,访问即可。[2.2]在代码中使用write。...原创 2022-07-18 20:45:16 · 1160 阅读 · 0 评论 -
sklearn中的cross_val_score交叉验证
cross_val_score交叉验证1.0 注意事项1. 参数cv代表分成几折,其中cv-1折用于训练,1折用于测试2. cv数值最大 = 数据集总量的1/33. 关于参数scoring: 1. ‘accuracy’:准确度; 2. ‘f1’:F1值,只用于二分类; 3. ‘precision’:精度,只用于二分类; 4. ‘recall’:召回率,只用于二分类; 5. ‘balanced accuracy‘:平衡精度;4. 分成K折后,数据量太小的话,评分具有很大偶然性1.1 A原创 2021-10-17 16:40:09 · 7060 阅读 · 0 评论 -
【HuggingFace】RoBERTa分词器RobertaTokenizer编码完整单词
在用`RobertaTokenizer`对单词进行分词的时候,发现单词`acquire`会被分词两个词根,但是`RobertaForMaskedLM`可以预测出来单词`acquire`。原创 2023-07-31 23:30:00 · 3356 阅读 · 0 评论 -
【pytorch】交叉熵损失函数 F.cross_entropy()
F.cross_entropy(x,y) cross_entropy(x,y)是交叉熵损失函数,一般用于在全连接层之后,做loss的计算。 其中x是二维张量,是全连接层的输出;y是样本标签值。x[batch_size,type_num];y[batch_size]。 cross_entropy(x,y)计算结果是一个小数,表示loss的值。 举例说明x = np.array([[1, 2,3,4,5],#共三3样本,有5个类别 [1, 2,3,4,5], .原创 2022-02-04 19:19:22 · 7848 阅读 · 0 评论 -
【tensorflow】TF1.x保存与读取.pb模型写法介绍
举例:模型定义如下模型保存代码模型加载代码用TF1.x保存模型时只需要保存模型的输入输出的变量(多输入就保存多个),不需要保存中间的变量;用TF1.x加载模型时只需要加载保存的模型,然后读一下输入输出变量(多输入就读多个),不需要初始化(反而会重置掉变量的值)。举例:模型定义如下。原创 2023-06-20 23:30:00 · 3880 阅读 · 3 评论 -
【多任务损失函数】浅谈多任务中的损失函数如何定义与优化
· 本文目录 1、损失函数与反向传播的关系 2、添加系数的损失函数会影响实验结果(实验证明) 3、多任务中损失函数与反向传播的思考 4、学习多任务模型损失函数的思路【注】写论文要优化多任务的损失函数,记录下最近的收获,应该能启发一些朋友。不足之处望指正。[1] 损失函数与反向传播的关系 首先要明确,让损失函数的值最小是一个模型学习的目标,而反向传播只是优化模型时求梯度(求导)的一种手段。 反向传播算法的目的是什么? 就是通过更新神经网络的参数也就是每一层的权值、阈值来对损失函原创 2022-05-15 18:47:01 · 7671 阅读 · 4 评论 -
【tensorflow】TF1.x保存.pb模型 解决模型越训练越大问题
在上一篇博客【tensorflow】TF1.x保存与读取.pb模型写法介绍介绍的保存.pb模型方法中,保存的是模型训练过程中所有的参数,而且训练越久,最终保存的模型就越大。我的模型只有几千参数,可是最终保存的文件有1GB。。。。但是其实我只想原创 2023-07-05 22:00:00 · 3422 阅读 · 0 评论 -
【backward解决方案与原理】网络模型在梯度更新时出现变量版本号机制错误
报错详情。原创 2023-11-05 11:49:36 · 3537 阅读 · 19 评论 -
先验分布、后验分布、似然估计、贝叶斯估计、最大似然估计
一、什么叫先验分布、后验分布、似然估计 这几个概念可以用“原因的可能性”和“结果的可能性”的“先后顺序”及“条件关系”来理解。下面举例: 隔壁老王要去10公里外的一个地方办事,他可以选择走路,骑自行车或者开车,并花费了一定时间到达目的地。在这个事件中,可以把交通方式(走路、骑车或开车)认为是原因,花费的时间认为是结果。 若老王花了一个小时的时间完成了10公里的距离,那么很大可能是骑车过去的,当然也有较小可能老王是个健身达人跑步过去的,或者开车过去但是堵车很严重。若老王一共用了两个小时的时间完成了原创 2021-08-30 17:22:22 · 2659 阅读 · 0 评论 -
【统计学习方法】K近邻对鸢尾花(iris)数据集进行多分类
本文摘要· 理论来源:【统计学习方法】第三章 K近邻· 技术支持:pandas(读csv)、collections.Counter(统计)、numpy、sklearn.neighbors.KNeighborsClassifier(KNN模型)、KNN思想· 代码目的:利用手写、sklearn两种KNN模型,对鸢尾花数据集进行多分类作者:CSDN 征途黯然. 一、鸢尾花(iris)数据集 Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据集内包含 3..原创 2021-09-06 09:11:55 · 2720 阅读 · 0 评论 -
【入门篇】如何正确使用机器学习中的训练集、验证集和测试集?
【注】·本文为转载文章,原文作者是王树义老师,原文链接为 https://zhuanlan.zhihu.com/p/71961236训练集、验证集和测试集,林林总总的数据集合类型,到底该怎么选、怎么用?看过这篇教程后,你就能游刃有余地处理它们了。问题审稿的时候,不止一次,我遇到作者错误使用数据集合跑模型准确率,并和他人成果比较的情况。他们的研究创意有的很新颖,应用价值较高,工作可能也做了着实不少。但因对比方法错误,得出来的结果,不具备说服力。几乎全部都需要返工。这里,我帮你梳理一下,该怎么使用不同.转载 2021-08-22 15:12:28 · 7342 阅读 · 8 评论 -
最小二乘法和梯度下降法有哪些区别?
为什么要比较这两种方法呢?很多人可能不知道,我先简单的介绍一下机器学习有两种,一种是监督学习,另一种是非监督学习。监督学习就是我告诉计算机你把班上同学分个类,分类标准是按照性别,男生和女生;非监督分类就是告诉计算机你自己去把班上同学分个类吧,我不告诉你分类标准。在监督学习中,如果我们面对的变量是连续型的变量就要用到回归回归其实是非常容易理解,也非常实用的一种方法,很多经济类的学生在写论文的时候都会用到回归的方法。比方说,距离市中心的距离越近(距离为x),房价就越高(房价是y),可以得到一个y=kx+b的式子转载 2021-09-02 20:52:36 · 409 阅读 · 0 评论 -
n-gram语言模型——句子概率分布计算与平滑
语言模型(Language Model, LM)在自然语言处理(NLP)领域扮演着核心角色,特别是在统计模型驱动的汉语自动分词和句法分析等领域。目前,广泛采用的是N-gram语法模型,这种模型以其构建的简便性和直观性而著称,但同时也因数据稀疏性问题而不得不使用平滑(Smoothing)技术。原创 2023-11-11 00:13:24 · 4135 阅读 · 6 评论 -
一文了解Word2vec 阐述训练流程
在机器学习领域,嵌入(embeddings)的概念无疑是其中最令人兴奋的创新之一。想象一下,每当你与`Siri`、`Google Assistant`、`Alexa`或`Google Translate`互动,甚至在使用具有下一个词预测功能的手机输入法(比如苹果输入法、搜狗输入法)时,你其实都在享受词嵌入模型带来的便利。这些技术在过去几十年里取得了巨大进步,尤其是近期基于上下文的词嵌入技术的发展,催生了`BERT`、`GPT2`、`ChatGPT`等领先的预训练模型。原创 2023-11-20 00:42:55 · 4511 阅读 · 36 评论