- 博客(22)
- 收藏
- 关注
原创 报错:C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\Indexing.cu:699: block: [9,0,0], CUDA
原因:初始化的Embedding词向量集合大小太小(必须要输入的要小),数据没有找到对应词向量,可查看word2index字典大小与词向量集合大小对比分析。
2023-08-24 16:54:32
2276
原创 卷积神经网络基本流程
CNN可以得到图像的局部细节特征(图像中某些线条的弯曲程度等)和空间相关特征(图像中线与线之间的距离等等)从而达到准确的分类和识别。
2023-08-20 22:27:22
515
原创 MLP中的梯度下降方法
综上所述,对于参数空间中的损失函数曲线,SGD 的路径可能更具有方向变化和震荡,而动量算法的路径可能更加平滑、稳定,且更有可能避免陷入局部最优值。总之,RMSProp 是一种自适应学习率的优化算法,通过追踪平方梯度的历史来调整参数的学习率,从而提高算法的稳定性和收敛性。在动量的概念中,当前步的更新不仅取决于当前的梯度,还考虑了之前步骤的累积梯度信息。(其中,$\beta_1$ 和 $\beta_2$ 是一阶和二阶矩的衰减因子,$t$ 是当前迭代的步数,$\epsilon$ 是一个小常数,以防止分母为零。
2023-08-18 00:12:36
427
1
原创 MLP计算过程中的参数初始化,以及激活函数、损失函数的介绍
然而,ReLU 也存在一些问题,如 "Dead ReLU" 问题,即某些神经元在训练过程中可能始终保持不活跃,以及 "Exploding Gradient" 问题,即在某些情况下可能会导致梯度爆炸。Tanh 函数的输出范围在 -1 到 1 之间,这使得它对于一些问题比 Sigmoid 函数更适用,如将输出映射到一个有界的范围。这在某些情况下可能对网络的训练有所帮助。尽管 Sigmoid 函数是非线性的,但在输入值非常大或非常小的情况下,它的梯度会趋近于零,可能导致梯度消失问题。
2023-08-17 21:43:45
926
1
原创 MLP计算过程中,损失函数及其梯度
具体来说,在计算损失函数时,需要通过前向传播计算出网络的预测输出,然后将这些预测输出与实际目标进行比较,从而得到损失值。这个梯度计算过程使用了链式法则,它将从输出层开始的梯度通过网络的各个层向后传播,以计算每个权重的梯度。然后,在反向传播过程中,计算梯度时,梯度信息会通过网络的所有权重进行传播,以确定每个权重对损失的影响。在神经网络训练中,我们通过计算损失函数对每个权重的偏导数,来了解在当前权重值下损失函数的变化率。总之,损失函数的梯度是关于每个权重的变化率,它在训练中指导权重的更新方向和幅度。
2023-08-17 07:51:20
696
1
原创 MLP组成结构,计算过程,为何要使用激活函数,以及权重过大/过小导致的极端梯度
这会使梯度在网络的较早层中逐渐减小,从而导致较早层的权重更新变得微 不足道,甚至趋近于零。这会导致模型在训练过程中无法对较早层进行有效的更新, 影响模型的训练效果,甚至导致模型无法学习到复杂的特征。这会导致权重更新的步幅过大,从而导致模型在训练中发散,无法收敛到合 适的解。梯度爆炸可能导致数值不稳定的情况,甚至使模型的权重变得无限大,从而失 去可用性。这些问题都会对模型的训练和性能产生严重影响。
2023-08-16 22:59:53
332
1
原创 支持向量机(SVM)中,选择合适的核函数
另外,还有其他的核函数,如多项式核(Polynomial Kernel)等,它们适用于特定类型的数据和问题。选择核函数的关键是在理解数据和问题背景的基础上进行实验和评估,以找到最佳的核函数配置。换句话说,如果在特征空间中,存在一个直线(或者在更高维空间中的超平面),将数据点的一个类别分布在直线的一侧,另一个类别分布在直线的另一侧,那么我们称数据在特征空间中是线性可分的。适用于非线性可分的数据,以及大多数情况下的分类问题。如果您的数据在低维空间中是线性可分的,那么线性核可以是一个不错的选择,它计算速度较快。
2023-08-12 19:42:04
1977
1
原创 机器学习是正负例不平衡的情况
在训练集中负例远远多于正例的情况下,可能会导致模型在学习过程中偏向于负例,从而影响模型的性能。:使用生成对抗网络 (GANs)、SMOTE 等技术生成合成的正例样本,以增加正例的数量。根据问题的复杂性和数据的特点,可以选择一个或多个方法来处理类别不平衡的情况。:在模型训练时,为正例和负例设置不同的权重,使模型更关注少数类别。:使用适合类别不平衡问题的评估指标,如准确率、召回率、F1 分数等,以更全面地评估模型性能。:在模型预测时,可以通过调整分类阈值来调整模型的预测结果,以更好地处理类别不平衡问题。
2023-08-11 23:21:14
193
1
原创 python数据可视化分析简单入门
用于展示数据的分布情况,特别适用于连续数据。通过划分数据范围成为若干个区间,统计每个区间内的数据个数,并绘制成柱状图。:展示数据的五数概括,包括最小值、第一四分位数、中位数、第三四分位数和最大值,帮助检测异常值和数据分布情况。适用于表示数据的相对份额,但要谨慎使用,特别是对于较多类别的数据。不适合所有类型的数据,但可用于展示多维数据之间的相对关系。:类似于折线图,但填充折线下的区域,用于显示随时间或有序变量的累积值。:用于展示两个维度的数据交互情况,通过颜色编码显示变量之间的相关性。
2023-08-10 14:15:02
145
1
原创 KFold 和 StratifiedKFold交叉验证的不同点
当数据量较小时,选择适当的交叉验证方法尤为重要,因为少量数据中的类别分布波动可能会影响模型性能的评估。都是交叉验证方法,用于划分数据集以进行模型训练和验证,但它们在处理类别不平衡数据集时有所不同。更适合,因为它会确保每个折中的类别分布相对一致,从而避免在某些折中由于样本过少而导致模型性能评估不准确。并不考虑样本的类别分布,因此在处理类别不平衡的数据集时可能会导致某些折中的类别分布有较大的差异。在实践中,根据数据集和任务需求,选择适当的交叉验证方法是很重要的。:当数据集中的类别分布相对平衡时,使用普通的。
2023-08-05 08:14:30
332
1
原创 Pandas .loc 方法:用于数据定位与更新的强大工具
方法允许我们根据标签(label)来选择和更新DataFrame中的数据。它的灵活性和易用性使得数据处理和清洗变得轻松。方法是在处理DataFrame时非常常用的功能。Pandas是一个强大的数据处理库,其中。
2023-08-02 22:37:50
592
原创 Dateframe合并方式总结
Dateframe合并方式总结。包括concat函数,merge函数,join函数,append函数以及combine_first函数
2023-08-02 18:00:08
4869
原创 词袋模型和TF-IDF流程
词袋模型(Bag-of-Words Model)是一种用于表示文本的简单但常用的方法。它将文本看作是无序的词语集合,并忽略了词语的顺序和语法,只关注每个词语的出现频率。在词袋模型中,文本被表示为一个向量,其中每个维度对应一个词语,而向量中的每个元素表示对应词语在文本中出现的次数(或其他权重)。
2023-08-01 22:25:18
322
1
原创 nlp任务中词的权重计算
它是对文档频率的倒数,文档频率指包含某个词的文档数目。TF-IDF(Term Frequency-Inverse Document Frequency): TF-IDF 是将词频和逆文档频率结合起来计算词的权重,用于衡量一个词在文本中的重要程度。这些方法仅是词权重计算的一部分,还有其他方法如基于词共现矩阵的方法、词嵌入(Word Embedding)等也可以用于计算词权重。计算文本中词的权重是自然语言处理中的一个常见任务,可以根据不同的应用场景和需求使用不同的权重计算方法。
2023-08-01 22:19:30
442
1
原创 jieba.cut(),返回的是生成器对象
生成器对象是一种特殊的迭代器,它并不会立即生成所有的结果,而是在需要时逐个生成,这样可以节省内存和提高效率。当你需要使用分词结果时,可以通过遍历生成器对象或使用。是用于中文分词的函数,它接收一个字符串作为输入,返回一个生成器对象,用于逐个产生分词后的结果。函数返回的确实是一个生成器对象(generator object),而不是一个普通的列表。返回的是一个生成器对象,而不是分词后的结果列表。,而不是一个字符串。在 Python 中,函数将其转换为列表。
2023-08-01 21:56:44
1545
1
转载 中文文本预处理
使用已经有的语料库,按照的方法读取文本文件内容。此处为了一步步演示过程,所以先使用句子,最后再整合。我们爬取到的文本有时候会有很多空格或者是其他一些无用的符号,如果保留这些符号,在分词的时候这些符号也会被分出来,就会导致分词的结果不是很好。这个时候我们就可以用。
2023-08-01 14:44:00
432
1
原创 nlp文本处理简易流程
二维列表适用于小规模的数据,可以直接在内存中访问和操作所有元素。二维列表(Two-dimensional List):二维列表是一个列表的列表,其中每个元素也是一个列表。在Python中,您可以使用嵌套的列表来表示二维列表。,它是一个迭代器,它允许您逐行处理文本数据,而不需要一次性将所有文本加载到内存中,这对于处理大规模文本数据非常有用。被错误地描述为一个二维列表,而实际上它是一个迭代器,其中每个元素都是一个单词列表。返回的是一个迭代器,它逐行读取文本文件,并在需要时生成每一行的单词列表。
2023-07-30 16:15:15
162
1
原创 python中的json
JSON数据是由键值对组成的,其中每个键都是一个字符串,对应的值可以是字符串、数字、布尔值、JSON对象、JSON数组或者null。这个模块提供了用于处理 JSON 数据的函数和方法,可以将 Python 数据结构转换为 JSON 格式的字符串,以及将 JSON 格式的字符串转换回 Python 数据结构。模块是 Python 中用于处理 JSON 数据的重要工具,它使得在 Python 程序中与 JSON 数据之间的转换变得非常简单和方便。用于将 Python 数据结构转换为 JSON 字符串,而。
2023-07-29 21:15:18
307
1
原创 nlp任务记录(章一)
TF-IDF = TF * IDF:所以若某个词在某篇文章的TF-IDF高,即该词在该篇文章中出现频率多,在语料库/其他文章中出现频率少,这个词在这篇文章里就越关键。DF:a词在语料库/BCDE...文章中出现的频率。cut_all:ture全面 、false精准。若有特殊词汇,可以通过添加自定义词典。分词后,将分词结果转换成词典和词库。TF:a词在文章A中出现的频率。
2023-07-29 17:50:02
153
转载 Python中round(数,小数位)函数的小坑
if two multiples are equally close, rounding is done away from 0.” 保留值将保留到离上一位更近的一端(四舍六入),如果距离两端一样远,则保留到离0远的一边。简单的说就是,round(2.675, 2) 的结果,不论我们从python2还是3来看,结果都应该是2.68的,结果它偏偏是2.67,为什么?所以如果有项目是从py2迁移到py3的,可要注意一下round的地方(当然,还要注意/和//,还有print,还有一些比较另类的库)
2023-04-17 11:11:42
489
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人