自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Week7-LeetCode

意为没输过,如果遍历到一个节点没输过,且当前没有冠军节点,那么这个节点就是冠军,否则就是没有冠军。我们可以通过跟踪到目前为止放置的左括号和右括号的数目来做到这一点。为方便运算,将除数和被除数的符号统一;又为了不溢出,故将除数和被除数变为负数。把链表元素全部加到数组中,对数组排序,然后将数组元素组成链表。进行改进,我们可以只在序列仍然保持有效时才添加。把所有可能的组合列出,去除不合格的可能。个链表取下再装回,需要四个辅助指针。同样,在运算过程中为了避免溢出,把。个链表全部倒转,需要四个辅助指针。

2024-04-18 12:47:14 311 1

原创 Week6-LeetCode

每次遍历中, 如果每个指针指向的值和上一个指向的值相等,就遍历下一个,第一个指针从左往右遍历,第三个指针从右往左遍历,第二个指针在第一个指针的右边向右遍历,如果遇上了从右向左的指针,就停止遍历。使用深度优先遍历,根节点到任意节点的搜索路径就是该节点的祖先节点的集合,故搜索路径上最近的与其互质的就是答案。依次作为滑动窗口的端点,看最多能框多少个不同的值,对于不同的值,可以想到集合。面积取决于两个支柱之间更矮的那个,因此,哪一个更矮就移动哪一个。在下一次的遍历中,第三个指针重新回到最右,再次移动。

2024-04-11 17:05:37 340

原创 Week5-LeetCode

对于每个节点,求其与祖先节点的最大差值,我们只需要求出该节点与祖先节点最大值和最小值的差值,取所有差值的最大值即可。将字符串反转等价于不对字符串进行反转,并在开头添加字符。不同平均值的数目其实可以看做不同和的数目。故使用双端队列和一个。为真,反序输出,如果。

2024-04-05 18:07:07 270

原创 Vue-05

缓存特性:计算属性会对计算出来的结果缓存,再次使用直接读取缓存,依赖项变化了,会自动重新计算→并再次缓存。(防抖:延迟执行 → 干啥先等一等,延迟一会,一段时间内没有再次触发才执行)// 计算属性函数内部,可以直接通过this访问到app实例。作用:监视数据变化,执行一些业务逻辑或异步逻辑。作用:封装了一段对于数据的处理,求得一个结果。作用:给实例提供一个方法,调用以处理业务逻辑。方法更加侧重于给实例提供一个可调用的方法。// 基于现有的数据,编写求值逻辑。计算属性更加侧重于对数据的处理。

2024-04-01 19:17:37 570

原创 Week4-LeetCode

不为空串,要想匹配,只可能是右端是星号,它干掉一个字符后,把。串是否匹配取决于最右端是否匹配、剩余的子串是否匹配。为第一次到达房间i需要的时间,则第一次到达。关键思路:我们的程序在每个时刻有一个状态。的距离,假定树中距离最长的两个节点为。贪心:每次找到不可取得的最小金额。直到找到下一个不可取得的最小整数。,每次从序列中输入一个字符。,即两个空字符串是可以匹配的。内的所有金额都可取得,且。内的所有金额也都可取得。不为空串,肯定不匹配。都为空串,肯定匹配。, 它们之间的距离为。动态规划的边界条件为。

2024-03-31 11:07:02 864

原创 04-Pandas的方法介绍

需要保持不变的列,即逆透视操作后仍然保持在结果中的列。需要逆透视的列,即逆透视操作后转换为一个新列的列名。用于存储原始列名的列名。用于存储原始列中值的列名。删除具有缺失值的行示例。

2024-03-29 21:28:07 294

原创 03-Pandas的方法介绍

agg()是Pandas 中一个非常强大的函数,它允许用户对 DataFrame或 Series对象的分组数据进行多种聚合操作。参数,它本身就是默认保留所有行的,而在聚合函数内部会默认忽略缺失值,它通常用于。的参数时,字典的键是列名,值是聚合函数的名称或自定义函数。代表不使用正则表达式进行匹配,而是直接查找子字符串。,用于检查列中的值是否以指定的字符串开头。用于检查值是否包含指定的字符串,示例见1。,用于将行转换为列,或者将列转换为行。模块中的函数,用于格式化日期和时间。用于重新索引,可以用于。

2024-03-28 19:42:04 667

原创 02-Pandas的方法介绍

此方法用于基于列标签的筛选,它接受一个正则表达式过着列标签作为参数,返回值是。时,方法默认返回每一列中唯一值的数量,如果想要获取整个。库中的一个类,用于表示日历日期之间的偏移量。来说是行标签(行索引)或列标签(列名),对于。想要获取每一行中唯一值的数量,需要指定。的方法,用于给序列中的每个值分配一个排名。中所有唯一值的数量,需要额外指定。对象的一个方法,用于删除行或列。指要删除的标签或标签列表,对于。意味着排名是连续的,没有间隔。时,方法返回唯一值的数量。指定如何处理找不到的标签,时,计算唯一值时排除。

2024-03-25 07:54:21 391

原创 01-Pandas的方法介绍

代码的意思是,选择第二行以及以后的行,再在这些行中筛选出满足条件的行。, 使用这个布尔Series作为索引来从df中筛选出相应的行。的作用不仅仅是重置索引,它还会将原先的分组键(在这里是。结构,先计数,然后将计数结果用于条件判断,会返回一个。中的缺失值,此方法返回一个与原始数据形状相同的。对象,它是用于索引的类,在上例中,它包含了在。中某一列的唯一值数组,此方法返回的是数组。用于重置索引,把索引转换成一个普通的列。中的重复行(只保留第一次出现的行),列上找到最小值,该函数返回的是一个。

2024-03-22 19:53:54 712

原创 Week1-3 LeetCode(共20道题)

【代码】Week1-3 LeetCode(共20道题)

2024-03-20 21:02:01 236

原创 Vue-04

"指明一些指令后缀,不同后缀封装了不同的处理操作 → 简化代码。,这个时候按enter键也能实现添加,和点击按钮实现的效果相同。字母之类的内容是不能转为数字的(Abc,nan等)。为了方便开发者进行样式控制,Vue扩展了。以下代码也是按回车键触发,实际上,使用。适用场景:一个类名,来回切换。适用场景:批量添加或删除类。, 那么键盘是实时触发的。v-model修饰符。

2024-03-05 21:01:01 424

原创 Vue-03

接下来,开始实现删除功能(数据驱动),本质上就是要删除数组里面的对应项,实现此功能有两种思路,一个是根据 index 删除,另一个是根据 id 删除。而加入 key 之后,key 的作用在于:给元素添加的唯一标识,便于 Vue 进行列表项的正确排序复用。实现的效果如下图所示,在第一张照片上。作用:给表单元素使用,双向数据绑定 → 可以快速获取或设置表单元素内容。(数组、对象、数组…然后来实现添加功能,此功能分为两个核心步骤。上述代码还有一点小瑕疵,为进一步完善,在。其次,注册点击事件,实现删除功能。

2024-03-01 14:35:02 799

原创 Vue-02

因为这里的 isShow ( console 语句后面的 isShow )是全局变量,而代码中没有定义过一个叫 isShow 的全局变量。为了使代码的可维护性更高,vue让提供的methods中的所有函数,this指向当前实例。,此插件可以帮助更新信息,而不通过控制台更新,更方便调试。注:安装插件后,记得在插件点击详情,允许文件访问网址。但这种方式,一旦实例名改变,比如实例名变成了app2,Vue 会根据不同的指令,针对标签实现不同的功能。场景:要么显示,要么隐藏,不频繁切换的场景。

2024-02-29 21:18:07 863

原创 Vue-01

作用:利用表达式进行插值,渲染到页面中。如果想访问data中的数据,使用。如果想修改data中的数据,使用。- 支持的是表达式而非语句。- 不能在标签属性中使用。- 使用的数据必须存在。

2024-02-27 18:01:12 283

原创 Pytorch03-BuildModel&Autograd&Optimization&Save&Load Model

属性设置为True的计算图的叶节点的grad属性。此外,出于性能原因,我们只能在给定的图上使用一次后向来执行梯度计算。然而,有些情况下我们不需要这样做,例如,当我们训练完模型而只想将其应用到一些输入数据时,即我们只想通过网络进行前向计算。在每一次迭代中,模型都会对输出进行猜测,计算猜测的误差(损失),收集误差相对于其参数的导数,并使用梯度下降法优化这些参数。每个神经元都是一个小的计算单元,执行简单的计算来共同解决问题。现在我们有了模型和数据,是时候通过优化数据参数来训练、验证和测试我们的模型了。

2024-02-26 20:58:14 821

原创 Pytorch02-Datasets&DataLoaders

自定义 Dataset 类必须实现三个函数:__init__、__len__ 和 __getitem__ 三个函数。看看这个实现;FashionMNIST 图像存储在img_dir目录中,它们的标签分别存储在 CSV 文件中。getitem函数根据给定的索引 idx 从数据集中加载并返回一个样本。

2024-01-29 18:05:00 942

原创 Pytorch01-Tensor

GPU通常用于图形或神经网络的高强度计算(我们稍后将在神经网络单元中了解更多信息)。默认情况下,张量是在CPU上创建的。torch.stack是一个相关的张量连接选项,它将一系列张量沿着一个新的维度连接起来。注意:就地操作可以节省一些内存,但在计算导数时可能会出现问题,因为它们会立即丢失历史记录。在下面的函数中,它决定了输出tensor的维度。CPU 上的张量和 NumPy 阵列可以共享底层内存位置,改变其中一个就会改变另一个。这些操作中的每一个都可以在GPU上运行(通常比在CPU上更高的速度)。

2024-01-29 16:13:10 285

原创 Transformer

Transformer不仅很强大,而且允许扩展到更大的尺寸。它之所以如此强大,是因为它抛弃了之前广泛采用的循环网络和卷积网络,而采用了一种特殊的结构----注意力机制来建模文本。它是一个利用注意力机制来提高模型训练速度的模型。

2023-11-22 10:00:39 35

原创 seq2seq(DPL)

Seq2Seq其实就是Encoder-Decoder结构的网络,它的输入是一个序列,输出也是一个序列。在Encoder中,将序列转换成一个固定长度的向量,然后通过Decoder将该向量转换成我们想要的序列输出出来。在基础的模型中,Decoder的每一次解码又会作为下一次解码的输入,这样就会导致一个问题就是错误累计,如果其中一个RNN单元解码出现误差了,那么这个误差就会传递到下一个RNN单元,使训练结果误差越来越大。Encoder和Decoder一般都是RNN,通常为LSTM或者GRU。

2023-11-22 08:13:03 42

原创 word2vec

词向量有时被称为词嵌入或词表示。稠密词向量是分布式表示。基于海量文本语料库构建固定词汇表中的每个单词都由一个向量表示文本中的每个位置t,其中有一个中心词c和上下文(“外部”)单词o使用c和o的词向量来计算概率P(o|c),即给定中心词推断上下文词汇的概率。(反之亦然)不断调整词向量来最大化这个概率。举例:下图窗口大小为j2j=2j2时的Pwtj∣wtPwtj​∣wt​,它的中心词为into。Word2vec目标函数。

2023-11-21 21:05:45 25

原创 GRU(门控循环单元)

(使用sigmoid函数可以将数据变换为0-1范围内的数值,从而充当门控信号。是上一个节点传递下来的隐状态,这个隐状态包含了之前节点的相关信息;的值在0到1的范围内,且大多数时间非常接近于0或1。GRU实验效果与LSTM相似,但是更易于计算。为控制更新的门控(update gate)。控制重置的门控(reset gate),GRU通过输入来获取两个门控状态。当使用sigmoid作为激活函数。为传递给下一个节点的隐状态。为当前隐藏节点的输出,

2023-11-21 09:29:32 114

原创 RNN(循环神经网络)

这些问题的一种解决方案就是减少神经网络中隐藏层的数量,以便消除循环神经网络 (RNN) 模型中的一些复杂性。自然语言(文本)和音频都是时序前后相互关联的数据,对于这些序列数据我们会使用RNN来进行处理。它们的输入和输出的长度可变,不同类型的循环神经网络 (RNN) 有着不同的用例,例如音乐生成、观点分类和机器翻译。因为损失函数本身计算依赖时序上每个时间点,RNN的反向传播也被称为沿着时间的反向传播。RNN常用的激活函数:tanh函数,sigmoid函数,ReLU函数等。会传入到第t+1个元素中,作为输入。

2023-11-20 21:39:27 56 1

原创 优化算法-dp

优化算法使我们能够继续更新模型参数,并使损失函数的值最小化。深度学习中出现的几乎所有优化问题都是非凸的。

2023-11-19 08:35:48 23

原创 LSTM(长短期记忆)

因为sigmoid 函数会将任意输入压缩到 (0 , 1)的区间上,如果整合后的向量某个分量在通过sigmoid层后变为0,那么显然单元状态在对位相乘后对应的分量也会变成0,换句话说,“遗忘”了这个分量上的信息;每一次输入一个新的输入,LSTM会先根据新的输入和上一时刻的输出决定遗忘掉之前的哪些记忆——输入和上一步的输出会整合为一个单独的向量,然后通过sigmoid神经层,最后点对点的乘在单元状态上。时刻的输出信息,我们可以看到神经元A会递归的调用自身并且将 t - 1 时刻的信息传递给。

2023-11-14 21:58:55 71

原创 CNN(卷积神经网络)

featuremap为28*28*6,卷积参数大小为(5*5*1)*6。其中28*28是featuremap的高度,宽度,6是featuremap的通道数。(5*5*1)*6卷积核表示5*5的高度,宽度,通道数为1的卷积核有6个。

2023-11-13 21:22:42 224

原创 从零开始的 NLP使用字符级 RNN 对名称进行分类

函数用于初始化input_size,hidden_size,output_size,即输入维度大小,隐藏层维度大小和输出维度大小。函数有三个参数,input为输入数据张量,hidden为LSTM的隐藏状态张量,context为LSTM的单元状态张量。初始化input,hidden,context,并用rnn(input, hidden, context)更新output,hidden,context。的字典,该字典的键为语言名称,值为一个列表,包含语言的所有名字。用来寻找文件,此函数返回一个文件路径列表。

2023-11-12 09:33:29 43 1

原创 注意力机制

Transformer解码器也是由多个相同的层叠加而成的,并且层中使用了残差连接和层规范化。除了编码器中描述的两个子层之外,解码器还在这两个子层之间插入了第三个子层,称为编码器-解码器注意力(encoder-decoder attention)层。基于位置的前馈网络对序列中的所有位置的表示进行变换时使用的是同一个多层感知机(MLP),这就是称前馈网络是基于位置的(positionwise)的原因。从宏观角度来看,Transformer的编码器是由多个相同的层叠加而成的,每个层都有两个子层。

2023-11-06 18:50:30 33

原创 现代循环神经网络

其主要原因是网络的前向传播需要在双向层中进行前向和后向递归, 并且网络的反向传播还依赖于前向传播的结果。因此,梯度求解将有一个非常长的链。但是在对下一个词元进行预测的情况中,这样的模型并不是我们所需的。因为在预测下一个词元时,我们终究无法知道下一个词元的下文是什么, 所以将不会得到很好的精度。它们由三个具有sigmoid激活函数的全连接层处理, 以计算输入门、遗忘门和输出门的值。因此,这三个门的值都在(0, 1)的范围内。当前时间步的输入和前一个时间步的隐状态作为数据送入长短期记忆网络的门中。

2023-11-06 09:33:41 23

原创 循环神经网络

如果说卷积神经网络可以有效地处理空间信息, 那么循环神经网络(recurrent neural network,RNN)则可以更好地处理序列信息。在给定这样的文本序列时,语言模型(language model)的目标是估计序列的联合概率。马尔可夫模型:类似自回归模型的近似法,只要是这种近似精确的,我们就说序列满足马尔可夫条件(Markov condition)。另一个方法是用零填充序列。循环神经网络通过引入状态变量存储过去的信息和当前的输入,从而可以确定当前的输出。假设长度为T的文本序列中的词元依次为。

2023-11-05 11:50:55 36

原创 卷积神经网络

由于我们通常使用小卷积核,因此对于任何单个卷积,我们可能只会丢失几个像素。解决这个问题的简单方法即为填充(padding):在输入图像的边界填充元素(通常填充元素是0)。在计算互相关时,卷积窗口从输入张量的左上角开始,向下、向右滑动。在处理多通道输入数据时,汇聚层在每个输入通道上单独运算,而不是像卷积层一样在通道上对输入进行汇总。当我们添加通道时,我们的输入和隐藏的表示都变成了三维张量。列填充(左侧大约一半,右侧一半),则输出形状将为。卷积的输出形状取决于输入形状和卷积核的形状。同理,我们填充宽度的两侧。

2023-11-01 20:48:06 44

原创 深度学习计算

自定义块每个块必须提供的基本功能:顺序块小结参数访问:参数初始化参数绑定延后初始化小结

2023-10-31 13:50:20 31 1

原创 多层感知机

泛化性和灵活性之间的这种基本权衡被描述为偏差-方差权衡(bias-variance tradeoff)。

2023-10-31 09:07:45 36 1

原创 菜鸟Python

Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。

2023-10-14 12:32:55 102 1

原创 机器学习(七)

监督学习算法:线性回归、逻辑回归、 神经网络以及支持向量机无监督学习算法:K-均值聚类算法,主成分分析法来进行降维,以及异常检测算法(这个算法有时也可以用一些带标签的数据来对算法进行评估)特定应用和话题:推荐系统、大规模机器学习系统、MapReduce、滑动窗口分类器。

2023-10-04 22:51:00 49 1

原创 机器学习(六)

特征对机器学习来说是非常重要的,你所选择的特征对学习算法的性能有很大的影响。的式子中的平方误差项的求和是所有用户j的总和和所有被该用户评分过的电影的总和,这其实是把所有(i,j)对全加起来,每项对应被某一用户评分过的某一电影。的式子中则是进行相反的运算,它表示对于每部电影i,将所有对它评分过的用户j求和,这两个求和运算都是对所有r(i,j)=1的(i,j)对求和。我将提取所有的电影的特征,然后逐行的写入矩阵中。协同过滤算法指的是,当你执行算法时要观察大量的用户,观察这些用户的实际行为,来协同地得到更佳的。

2023-10-04 18:14:22 46 1

原创 机器学习(五)

是有非常高的维度的比如说10000维的特征向量,在实际中这可能是计算机视觉的问题,对于这种高维向量,运行学习算法时将变得非常慢,假如你要使用10000维的特征向量进行logistic回归,或者输入神经网络,或者支持向量机,或其他你想要的操作,因为数据量太大,将会使得你的学习算法运行速度非常慢,此时用PCA算法可以减少数据的维度从而使得算法运行更加高效。这也是无监督学习的一部分,数据没有标签,因此并不总是有一个明确答案,也因为这个原因,用一个自动化的算法,来选择聚类数量是很困难的。数据中心的计算机监控等等。

2023-10-03 20:19:38 25

原创 机器学习(四)

其中一种典型的分割方法是按照7:3的比例,将70%的数据划为训练集,将30%的数据划为测试集,用m表示训练样本的总数,而m_test表示测试集样本的总数。在得到学习参数后,如果你将假设函数放到一组新的房屋样本上进行测试,假如说你发现在预测房价时,产生了巨大的误差,现在你的问题是想要改进这个算法需要怎么办?还有另一种形式的测试度量,可能更易于理解,叫做错误分类,也被称为0/1分类错误,0/1表示了你预测的分类是正确或错误的情况。这通常也能告诉你,想要改进一种算法的效果,知道什么样的改进才是有意义的。

2023-10-01 14:54:12 26

原创 机器学习(三)

视频课提到但没有详细解释的算法,如果选择使用这三个算法中的任何一个,都不需要手动选择学习率α。因为这些算法有一个“智能内循环",称为线性搜索算法,它可以自动尝试不同的学习速率α并自动选择好的学习速率α,它甚至可以为每次迭代选择不同的学习速率。

2023-09-28 10:37:27 28

原创 机器学习(二)

以下讨论一种新的线性回归的版本,这种形式适用于多个变量或者多特征量的情况。如何使用梯度下降法来处理多元线性回归?如何设定该假设的参数?

2023-09-24 10:51:01 32 1

原创 机器学习(一)

(1959)Arthur Samuel对机器学习的定义:在没有明确设置的情况下,使计算机具有学习能力的研究领域。[跳棋程序](1998)Tom Mitchell对机器学习的定义:计算机程序从经验E中学习,解决某一任务T,进行某一性能度量P。通过P测定在T上的表现因经验E而提高。

2023-09-23 12:10:57 36

空空如也

空空如也

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

TA关注的人

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