自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(185)
  • 收藏
  • 关注

原创 模拟 枚举 贪心(C++ 题目 代码 注解)

小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。假设内存中有 MMM 个单元,每单元能存放一个单词和译义。

2024-04-29 22:03:31 1029

原创 前缀和、差分模板(C++ 一维、二维)

前缀和(Prefix Sum)和差分(Difference)是两种常用的数组操作,用于解决一些求和、求区间和、区间修改等问题。前缀和是指一个数组中每个位置上的元素与它前面位置上所有元素的和。例如,数组nums=[1, 2, 3, 4, 5]的前缀和数组为prefix=[1, 3, 6, 10, 15],其中prefix[i]表示nums中前i个元素的和。我们可以通过一次遍历数组来计算前缀和,时间复杂度为O(n)。差分是指一个数组中每个位置上的元素与它前面位置上的元素的差。

2024-04-27 09:29:36 301

原创 最短路径(迪杰斯特拉 题目 代码 C++ 注解)

【代码】最短路径(迪杰斯特拉 题目 代码 C++ 注解) 题目一(哈利.波特的考试)、题目二(旅游规划)、题目三(城市间的紧急救援)、题目四(天梯地图)、题目五(直捣黄龙)

2024-04-10 23:43:23 316

原创 PTA(题目集三 题目 代码 C++ 注解)

【代码】PTA(题目集三 题目 代码 C++ 注解)

2024-04-09 23:14:40 196

原创 PTA(题目集二 题目 代码 C++)

【代码】PTA(题目集二 题目 代码 C++)

2024-04-08 09:25:59 333

原创 PTA(题目集一 题目 代码 C++ 注解)

【代码】PTA(题目集一 题目 代码 C++ 注解)

2024-04-07 23:12:28 168

原创 第十四届蓝桥杯(八题C++ 题目+代码+注解)

【代码】第十四届蓝桥杯(八题C++ 题目+代码+注解)

2024-03-30 18:12:53 3789 1

原创 数学建模 (线性规划 python代码 两种)

线性规划(Linear Programming,LP)是一种数学优化方法,用于解决一类特定类型的最优化问题。该问题的目标是在给定的一组线性约束条件下,找到使某个线性目标函数达到最大或最小的变量值。其中,c是一个n维向量,表示线性目标函数的系数;x是一个n维向量,表示待求解的变量;A是一个m×n的矩阵,表示约束条件的系数;b是一个m维向量,表示约束条件的右侧常数。线性规划广泛应用于经济学、工程学、运筹学等领域,用于解决资源分配、生产计划、货运调度等问题。约束条件:Ax = 0。

2024-03-24 16:52:23 878

原创 深度学习 (正则化 权重衰减解决过拟合 欠拟合)

深度学习中的权重衰减(weight decay)是一种正则化技术,用于防止过拟合。它通过对模型的损失函数添加一个正则化项,来惩罚模型的权重参数。在权重衰减中,模型的损失函数会由原来的仅考虑预测误差部分改为考虑预测误差和权重的大小两部分。其中,预测误差部分衡量模型的拟合能力,而权重大小部分则衡量模型的复杂度。通过权重衰减,我们可以在保持模型的拟合能力的同时,尽量减小模型的复杂度,从而达到减小过拟合的效果。具体来说,权重衰减可以通过在损失函数中添加一个惩罚项来实现。通常,惩罚项采用L2范数(也称为欧氏距

2024-03-24 00:13:41 521

原创 深度学习(过拟合 欠拟合)

深度学习模型由于其复杂性,往往容易出现过拟合的问题。以下是一些深度学习中常见的过拟合原因和解决方法:1. 数据量不足:深度学习模型通常需要大量的数据来进行训练,如果数据量不足,模型容易过度拟合训练集。解决方法包括增加数据集的规模,或者使用数据增强技术来生成更多的数据样本。2. 模型复杂度过高:如果深度学习模型的层数或参数过多,模型容易过度拟合训练数据。解决方法包括减少模型层数,减少模型参数数量,或者通过正则化(如L1、L2正则化)加入额外的约束限制模型的复杂度。

2024-03-24 00:00:04 603

原创 深度学习 (线性回归 简洁实现)

训练线性回归模型的目标是找到最优的权重和偏置项,使得模型预测的输出与真实值之间的平方差(即损失函数)最小化。在深度学习中,通过将多个线性回归模型组合在一起,可以构建更复杂的神经网络结构,以解决更复杂的问题。在线性神经网络中,线性回归是一种常见的任务,用于预测一个连续的数值输出。其目标是根据输入特征来拟合一个线性函数,使得预测值与真实值之间的误差最小化。其中,y表示预测的输出值,x1, x2, ..., xn表示输入特征,w1, w2, ..., wn表示特征的权重,b表示偏置项。

2024-03-23 16:34:11 654

原创 深度学习 线性神经网络(线性回归 从零开始实现)

定义模型"""线性回归模型"""#定义损失和函数"""均方损失"""#定义优化算法 """小批量随机梯度下降"""def sgd(params, lr, batch_size): #参数、lr学习率、

2024-03-23 16:33:30 662

原创 深度学习 (自动求导)

深度学习是一种机器学习方法,其使用神经网络模型来进行学习和预测。自动求导是深度学习中的一项重要技术,用于计算神经网络中各个参数对损失函数的偏导数。在深度学习中,我们通常使用一个损失函数来衡量模型的预测结果与真实值之间的差异。然后,我们通过调整神经网络中的参数,以最小化损失函数,从而改善模型的预测能力。自动求导是指计算某个函数的导数时,由计算机自动完成的过程。在深度学习中,我们需要计算损失函数对网络参数的偏导数,以便进行参数更新。由于神经网络的结构复杂且参数众多,手动计算这些偏导数是非常困难和耗时的。

2024-03-23 16:33:02 395

原创 数学建模(灰色关联度 python代码 案例)

灰色关联度是一种多指标综合评价方法,用于分析和评价不同指标之间的关联程度。它可以用于确定多个因素之间的相关性,以及它们对某个问题或现象的影响程度。灰色关联度根据数据的相对大小和发展趋势,将指标划分为灰色数列,然后通过计算各指标之间的相对关联度来确定其关联程度。灰色关联度的计算过程包括以下几个步骤:1. 数据标准化:将各指标的原始数据进行标准化处理,将其转化为无量纲的数据。2. 累积生成:将各指标数据按照一定顺序进行累积生成,得到灰色数列。

2024-03-21 18:21:38 866

原创 数学建模(Topsis python代码 案例)

在数学建模中,Topsis方法是一种多准则决策分析方法,用于评估和排序备选方案。它代表了“最佳方案相似性排序技术”。在Topsis方法中,每个备选方案根据一组准则进行评估,并分配权重,以反映它们的相对重要性。然后,该方法根据每个备选方案与理想解和负理想解之间的差异计算两个度量值:到理想解的距离和到负理想解的距离。理想解代表了每个准则的最佳可能值,而负理想解则代表了最差可能值。这些距离度量值使用一个公式计算,考虑了备选方案与这两个参考点之间差异的加权总和。

2024-03-21 09:30:48 753

原创 思维题一(C++ 题目 代码 注解)

【代码】思维题一(C++ 题目 代码 注解)

2024-03-20 23:07:09 202

原创 数学建模(熵权法 python代码 例子)

熵权法是一种多属性决策方法,用于确定各个属性在决策中的重要程度。该方法的核心思想是通过计算属性的熵值,来评估属性的信息量和不确定性,进而确定属性的权重。熵是信息论中的概念,表示一个随机变量的不确定性。在决策中,一个属性的熵越大,说明该属性对决策的贡献越大,因为它包含了更多的信息。熵权法通过计算属性的熵,然后将每个属性的熵除以总的熵,得到每个属性的权重。熵权法在多属性决策中具有一定的优势,能够考虑到不同属性的权重,提高决策的准确性和可靠性。

2024-03-20 21:48:47 853 1

原创 数学建模(层次分析法 python代码 案例)

层次分析法(Analytic Hierarchy Process, AHP)是一种多准则决策分析方法,它将多个准则组织成一个层次结构,通过对各个层次之间的比较和权重的计算,最终得到准则的相对重要性和最优解决方案。在层次结构模型中,各层次之间的关系通过比较矩阵来表示,比较矩阵中的元素表示各个准则或方案之间的相对重要性。在层次分析法中,通过对比较矩阵进行一系列计算,可以得到各个准则和方案的权重,从而评估它们的相对重要性。层次分析法的特点是能够处理多个准则之间的相对重要性,能够量化主观判断,并且易于理解和应用。

2024-03-19 23:09:55 1199 2

原创 图论题目集一(代码 注解)

【代码】图论题目集一(代码 注解)

2024-03-18 22:38:16 566

原创 贪心问题题目集一(代码 注解)

贪心算法是一种特殊的算法思想,它在每一步选择中都采取当前状态下最优的选择,从而希望达到全局最优的解。贪心算法的基本思路是通过贪心策略进行选择,每次选择都是局部最优的,但不能保证最终达到全局最优。贪心算法的适用条件是问题具有贪心选择性质,即通过局部最优解可以得到全局最优解。而且贪心选择性质要能够推导出最优解的正确性。贪心算法的步骤通常包括以下几个步骤:1. 将问题分解成若干个子问题,问题的解可以通过这些子问题的解来构造;2. 确定贪心选择,即每一步的最优选择;

2024-03-17 19:56:29 335

原创 动态规划题目集一(代码 注解)

动态规划是一种算法设计技术,用于解决具有重叠子问题和最优子结构特征的问题。它通过将大问题拆分成小问题,并保存每个小问题的解以避免重复计算,从而提高算法的效率。在动态规划中,问题可以通过子问题的最优解来构建整体问题的最优解。动态规划的核心思想是利用已解决的子问题的解来构建更大规模问题的解,以此递推得到最优解。动态规划通常包含以下三个步骤:1. 定义问题的状态:将问题划分为若干个子问题,并确定状态变量表示子问题的解。2. 定义状态转移方程:通过递推关系式,将大问题的解表示为小问题的解。

2024-03-17 19:34:17 534

原创 图论(蓝桥杯 C++ 题目 代码 注解)

【代码】图论(蓝桥杯 C++ 题目 代码 注解)

2024-03-12 23:53:37 907

原创 动态规划(蓝桥杯 C++ 题目 代码 注解)

动态规划(Dynamic Programming)是一种解决多阶段决策问题的算法思想,也是一种问题求解方法。动态规划的基本思想是将问题划分为若干个子问题,然后通过计算子问题的最优解来得到原问题的最优解。这种划分子问题的方式,需要满足两个条件:1. 原问题的最优解包含子问题的最优解;2. 子问题之间必须相互独立,即子问题之间不存在重复计算。动态规划的解决过程一般包括以下几个步骤:1. 定义问题的状态:将原问题划分为若干个子问题,并定义每个子问题的状态。

2024-03-10 22:38:32 1129

原创 深度学习预备知识(线性代数)

深度学习是一种机器学习的方法,涉及到大量的线性代数运算。线性代数是研究向量空间和线性映射的数学学科。在深度学习中,线性代数常用于表示和处理输入数据和模型参数。下面是一些深度学习中常见的线性代数概念和运算:1. 向量:在深度学习中,向量是一种表示数据的结构。它可以表示输入数据、模型参数和梯度等。向量通常用列向量表示,形如x = [x1, x2, ..., xn]。向量之间可以进行加法、减法和标量乘法等运算。2. 矩阵:矩阵是一个二维的数组,通常用于表示线性映射。

2024-03-10 13:33:56 918

原创 贪心算法(蓝桥杯 C++ 题目 代表 注解)

贪心算法(Greedy Algorithm)是一种在每一步选择中都采取当前状态下最好或最优(即最有利)的选择,从而希望最终能够得到全局最好或最优的结果的算法。它通常用来解决一些最优化问题,如最小生成树、最短路径等。贪心算法的核心思想是每次都选择局部最优解,而不考虑全局的情况。通过不断地做出局部最优选择,整体上就能得到一个接近最优解的解。然而,贪心算法并不是在所有情况下都能得到最优解。由于贪心算法只考虑当前的最优选择,而不进行回溯,可能会导致最终结果并非全局最优解。

2024-03-09 23:07:01 834

原创 二分算法(蓝桥杯 C++ 题目 代码 注解)

【代码】二分算法(蓝桥杯 C++ 题目 代码 注解)

2024-03-09 16:06:16 489

原创 并查集(蓝桥杯 C++ 题目 代码 注解)

并查集(Disjoint-set Data Structure),也称为不相交集合数据结构,用于解决集合的合并与查询问题。并查集主要支持两个操作:1. 合并(Union):将两个不相交的集合合并成一个集合。2. 查询(Find):查询元素所在的集合。并查集可以用于解决一些集合相关的问题,例如判断两个元素是否属于同一个集合,求集合中的元素个数等。并查集的实现通常使用数组和树结构。数组表示每个元素的父节点,树结构表示集合的层次结构。在进行查找操作时,通过递归或迭代找到根节点;

2024-03-08 23:06:15 958 1

原创 差分与前缀和模板题(蓝桥杯 C++ 题目 注解)

差分和前缀和是常用的数列处理技巧,可以在一维数组或二维数组中快速求解某一区间的和或区间中每个元素的差值。差分可以将原始数列转化为差分数列,而前缀和可以用来求解原始数列中某一区间的和。差分(Difference): 对于一维数组a,定义差分数组d[i] = a[i] - a[i-1] (i > 0),其中d[0] = a[0]。差分数组d是通过相邻元素的差值得到的,可以用来表示原始数列a中的元素变化情况。

2024-03-06 23:55:33 596

原创 工具函数模板题(蓝桥杯 C++ 代码 注解)

的主要作用就是可变长度的数组,就把他当成数组使用即可。是一个关联容器,它提供一对一的。

2024-03-05 22:19:06 314

原创 枚举与尺取法(蓝桥杯 c++ 模板 题目 代码 注解)

尺取法是一种线性的高效率算法。记(L,R)为一个序列内以L为起点的最短合法区间,如果R随L的增大而增大的,就可以使用尺取法。具体的做法是不断的枚举L,同时求出R。因为R随L增大而增大,所以总时间复杂度为O(n)

2024-03-04 21:21:23 532

原创 搜素题目(蓝桥杯 C++ 代码+注解)

【代码】搜素题目(蓝桥杯 C++ 代码+注解)

2024-03-03 23:08:55 599 1

原创 搜索算法(DFS和BFS 蓝桥杯 C++)

【代码】搜索算法(DFS和BFS 蓝桥杯 C++)

2024-03-03 15:11:07 562

原创 递归与递推(蓝桥杯 c++)

【代码】递归与递推(蓝桥杯 c++)

2024-03-02 10:56:31 411

原创 思维题(蓝桥杯 填空题 C++)

【代码】思维题(蓝桥杯 填空题 C++)

2024-03-02 10:44:01 783 3

原创 背包问题(介绍+例题+代码+注解)

背包问题是一个经典的组合优化问题,它的目标是在给定的一组物品中选择一些物品放入背包中,使得这些物品的总价值最大化,同时限制背包的容量。背包问题有多种变体,其中最常见的是0-1背包问题。在0-1背包问题中,每个物品要么完整地放入背包中,要么不放入,不存在放入一部分的情况。每个物品都有对应的价值和重量,背包有一个固定的容量限制。问题在于选择哪些物品放入背包中,使得总价值最大化,同时不超过背包的容量。解决背包问题的方法包括动态规划、贪心法和回溯法。

2024-02-26 22:59:45 894

原创 使用word2vec+tensorflow自然语言处理NLP

Word2Vec是一种用于将文本转换为向量表示的技术。它是由谷歌团队于2013年提出的一种神经网络模型。Word2Vec可以将单词表示为高维空间中的向量,使得具有相似含义的单词在向量空间中距离较近。这种向量表示可以用于各种自然语言处理任务,如语义相似度计算、文本分类和命名实体识别等。Word2Vec的核心思想是通过预测上下文或预测目标词来学习词向量。具体而言,它使用连续词袋(CBOW)和跳字模型(Skip-gram)来训练神经网络,从而得到单词的向量表示。

2024-02-13 11:56:31 962

原创 使用Word Embedding+Keras进行自然语言处理NLP

Word Embedding是一种将单词表示为低维稠密向量的技术。它通过学习单词在文本中的上下文关系,将其映射到一个连续的向量空间中。在这个向量空间中,相似的单词在空间中的距离也比较接近,具有相似含义的单词在空间中的方向也比较一致。Word Embedding可以通过各种方法来实现,包括基于统计的方法(如Word2Vec和GloVe)和基于神经网络的方法(如Skip-gram和CBOW模型)。这些方法通常使用大量的文本语料库来学习单词的向量表示。

2024-02-13 11:31:36 1231

原创 应用ANN+SMOTE+Keras Tuner算法进行信用卡交易欺诈侦测

SMOTE(Synthetic Minority Over-sampling Technique)是一种用于处理不均衡数据集的采样方法。在不均衡数据集中,某个类别的样本数量往往很少,这导致了模型对少数类别的预测效果较差。SMOTE采样通过合成新的少数类样本来增加其数量,从而提高模型对少数类样本的学习能力。SMOTE采样的基本思想是对于每个少数类样本,从其最近的k个最近邻样本中随机选择一个样本,然后在该样本与原始样本之间生成一个合成样本。

2024-02-07 20:49:56 433

原创 CNN应用Keras Tuner寻找最佳Hidden Layers层数和神经元数量

Keras Tuner是一种用于优化Keras模型超参数的开源Python库。它允许您通过自动化搜索算法来寻找最佳的超参数组合,以提高模型的性能。Keras Tuner提供了一系列内置的超参数搜索算法,如随机搜索、网格搜索、贝叶斯优化等。它还支持自定义搜索空间和搜索算法。通过使用Keras Tuner,您可以更轻松地优化模型的性能,节省调参的时间和精力。

2024-02-04 17:47:40 814

原创 RNN(神经网络)

RNN,全称为循环神经网络(Recurrent Neural Network),是一种深度学习模型,它主要用于处理和分析序列数据。与传统的前馈神经网络不同,RNN具有循环连接,允许信息在网络中进行循环传递。RNN的特点在于它可以利用前面的输入信息来影响当前的输出,从而捕捉序列数据中的时序关系。这使得它在处理语音识别、自然语言处理、机器翻译等任务时表现出色。RNN的核心思想是将前一个时间步的输出作为当前时间步的输入,从而在神经网络中引入了记忆机制。

2024-02-04 12:49:56 959 1

空空如也

空空如也

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

TA关注的人

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