自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法第四十一天-排除排序链表中的重复元素Ⅱ

递归函数直接使用题目给出的函数。

2024-04-10 21:00:08 429

原创 算法四十天-删除排序链表中的重复元素

一次遍历由于给定的链表是排好序的,因此,因此我们只需要对链表进行一次遍历,就可以删除重复的元素。具体地,我们从指针cur指向链表的头节点,随后开始对链表进行遍历。如果,可以直接将cur后移一位,移除值相同的链表。当遍历完整这个链表时,返回链表的头节点就可以了。

2024-04-09 22:11:04 400

原创 时序数据分解

时序数据作为与时间强相关数据,有着独特的特点,但是也有很多通用的数据的性质。

2024-04-09 09:15:52 950

原创 算法第三十九天-验证二叉树的前序序列化

方法一:栈栈的思路是「自底向上」的想法。下面要结合本题是「前序遍历」这个重要特点。我们知道「前序遍历」是按照「根节点-左子树-右子树」的顺序遍历的,只有当根节点的所有左子树遍历完成之后,才会遍历右子树。对于本题的输入,我们可以先判断「左子树」是否有效的,然后再判断「右子树」是否有效的,最后判断「根节点-左子树-右子树」是否为有效的。这个思路类似于递归,而把递归改写成循环时,就会使用「栈」,这就是本题使用「栈」的原因。下面的重点是如何判断一棵子树是否有效?

2024-04-07 21:27:13 923

原创 算法第三十八天-故障键盘

提示:把反转看成是往字符串的头部添加字符。具体来说:如果当前处于「往字符串尾部添加字符」的状态,那么遇到 i 后,改成「往字符串头部添加字符」的状态。如果当前处于「往字符串头部添加字符」的状态,那么遇到 i 后,改成「往字符串尾部添加字符」的状态。这可以用双端队列实现。

2024-04-02 20:27:40 347

原创 深度学习-机器视觉part2

未完待续。

2024-04-02 09:24:06 1204

原创 算法第三十七天-旋转链表

题意:将链表中每个元素向后移动k个位置,相当于把链表的后面k%len节点移到链表的最前面。所以本题步骤为:1.求出链表长度;2.找出倒数第k+1个节点3.链表重整:将连败哦的倒数第k+1个节点和倒数第k个节点断开,并把后半部分拼接到链表的头部。

2024-04-01 20:52:24 363

原创 深度学习-计算机视觉入门-part1

未完待续。

2024-04-01 19:44:26 1156

原创 代码第三十六天:需要添加的硬币的最小数量

为方便描述,把 0 也算作可以得到的数。假设现在得到了区间0s−1中的所有整数,如果此时遍历到整数xcoinsi,那么把0s−1中的每个整数都增加x,我们就得到了区间xsx−1中的所有整数。思路把coins从小到大排序,遍历xcoinsi。x≤s0s−1xsx−10sx−1xscoinsssss2s−10s−102s−1x2s当stargets时,我们就得到了1。

2024-03-31 22:02:53 761

原创 代码第三十五天-子集Ⅱ

一般情况下,看到题目要求[所有可能的结果],而不是[结果的个数],我们就知道需要暴力搜索所有的可行解了,可以使用[回溯法]回溯法是一种算法思想,而递归式一种编程方式,回溯法可以使用递归来实现。回溯法的整体思路是:搜索每一条路,每次回溯是对具体的一条路径而言的。对当前路径下的未探索区域进行搜索,则可能出现两种情况:1.当前未搜索区域满足结束条件,则保留当前路径并退出当前搜索;

2024-03-30 17:19:47 885

原创 算法第三十四天-有效数独

一个简单的方法是,遍历9*93*3。

2024-03-28 20:59:23 321

原创 深度学习-数据归一化与Batch Normalization

文章目录数据归一化与Batch Normalization一、经典机器学习的归一化算法1.经典机器学习归一化方法回顾1.1 0-1标准化方法1.2 Z-Score标准化2.经典机器学习归一化算法在深度学习中的实践3.Z-Score数据归一化的局限3.1 Zero-Centered特性消失3.2 Zero-Centered Data的作用局限4.保证梯度平稳的第二条道路:输入数据调整二、Batch Normalization基础理论1.归一化方法与数据分布的相互独立性2.归一化与仿射变换3.Batch Nor

2024-03-26 22:09:19 1108 1

原创 算法第三十三天-笨阶乘

对于表达式求值,大家已经很熟悉了,需要用到[栈]这个数据结构。当使用python进行答题的时候,需要注意下面的这个坑。Python语言中的整数除法是向下取整的,而不是向零取整,对于负数的除法会有问题。

2024-03-25 19:11:34 287

原创 算法第三十二天-最长公共子序列

比如对于本题而言,可以定义dp[i][j]表示和的最长公共子序列。之所以dp[i][j]的定义不是text1[0:i]和text2[0:j],是为了方便当i=0或者j=0的时候,dp[i][j]表示的为空字符串和另外一个字符串的匹配,这样子dp[i][j]可以初始化为0.

2024-03-23 16:35:56 541

原创 生成模型概述

生成模型是深度学习领域的一类模型,它们的目标是学习如何生成数据的分布,从而能够生成新的、与真实数据类似的样本。以下是一些主要的生成模型:生成对抗网络(GANs):GAN由两个部分组成:生成器(生成新数据)和判别器(区分真实数据和生成的数据)。这两部分在训练过程中相互竞争,提高彼此的性能。应用:图像生成、艺术创作、数据增强、风格迁移等。自回归模型(Autoregressive Models):如Transformer在自然语言处理领域的应用。这些模型预测序列中的下一个元素,基于前面的元素。

2024-03-23 16:22:49 948

原创 sora相关技术,看这一篇就够了

中的编码器模块编码成低维的空间向量表示,经Patches网络,将其中的向量分割为指定大小的模块(例如:16*16*16),并将时空模块通过SD模型进行扩散学习,将经过学习后的数据通过多层的以U-net为backbone的transformer网络恢复成原有大小模块,合并后得到需要的向量表示,最后逆向通过VAE解码器将向量表示输出成指定格式和时长的视频。这个等式的右边又称为。虚线代表的是对后验分布。视频压缩网络的压缩率是多少,Encoder中的复杂度是具体怎么设置的,时空patches中排布的方法等。

2024-03-22 08:45:54 1419

原创 算法第三十一天-直方图的水量

使用面向列的计算比面向行的计算更加容易。我们只需要考虑当前的位置的左右最高模板的高度。

2024-03-21 19:36:24 1013

原创 深度学习- 2.10 Xavier方法与kaiming方法(HE初始化)

尽管Xavier初始化能够在Sigmoid和tanh激活函数叠加的神经网络中起到一定的效果,但由于ReLU激活函数属于非饱和类激活函数,并不会出现类似Sigmoid和tanh激活函数使用过程中可能存在的梯度消失或梯度爆炸问题,反而因为ReLU激活函数的不饱和特性,ReLU激活函数的叠加极有可能出现神经元活性消失的问题,很明显,该类问题无法通过Xavier初始化解决。对于参数初始化计算过程,最重要的是确定参数的方差,如果是正态分布,由于均值是0,因此可以快速确定其分布,而如果是均匀分布,则可通过。

2024-03-21 08:58:06 1260

原创 算法第三十一天-区域和检索【数组不可变】

为方便描述,把nums记作a。对于数组a,定义它的前缀和s0s1s2sisi1sn​0a0a0a1⋮a0a1⋯ai−1j0∑i−1​numsja0a1⋯ai−1aij0∑i​numsj⋮a0a1⋯an−1​根据这个定义,有si1siai示例中的数组−203−52−1,对应的前缀和数组s0−2−21。

2024-03-20 11:04:42 867

原创 深度学习-2.9梯度不稳定和Glorot条件

对于神经网络这个复杂系统来说,在模型训练过程中,一个最基础、同时也最常见的问题,就是梯度消失和梯度爆炸。我们知道,神经网络在进行反向传播的过程中,各参数层的梯度计算会涉及到激活函数导函数取值,具体来说,假设现在有一个三层的神经网络,其中两个隐藏层的激活函数为Fx,对应的导函数为fx,设X为输入训练的数据特征,y为标签,y​为模型向前传播输出结果,$ w_1为第一层参数、w_2为第二层参数、w_3$为第三层参数,loss为损失函数,则有如下计算公式:y​FFX∗w1​∗。

2024-03-20 10:31:20 981

原创 算法第三十天-矩阵中移动的最大次数

网格图 DFS从第一列的任一单元格i0开始递归。枚举往右上/右/右下三个方向走,如果走一步后,没有出界,且格子值大于gridij,则可以走,继续递归。在递归过程中,记录能访问到的最大列号,作为答案。代码实现时,为避免重复递归之前访问过的格子,可以用一个vis数组标记访问过的格子。但实际上,可以把gridij置为0从而无需创建vis数组。这是因为网格值均为正数,并且我们只能访问到比当前格子值更大的格子,所以置为0。

2024-03-18 19:21:41 1074

原创 深度学习-2.8模型拟合概念和欠拟合模型、过拟合调整策略

​ 通过此前介绍,已经知道深度学习模型主要是通过模型在测试集上的运行效果来判断模型好坏。测试集相当于是“高考”,而此前的模型训练都相当于是在练习,但怎么样的练习才能有效的提高高考成绩,这里就存在一个“悖论”,那就是练习是为了高考,而在高考前我们永远不知道练习是否有效,那高考对于练习的核心指导意义何在?

2024-03-18 19:16:27 1088

原创 算法第二十九天-最长公共子序列

比如对于本题而言,可以定义dp[i][j]表示和的最长公共子序列。之所以dp[i][j]的定义不是text1[0:i]和text2[0:j],是为了方便当i=0或者j=0的时候,dp[i][j]表示的为空字符串和另外一个字符串的匹配,这样子dp[i][j]可以初始化为0.

2024-03-17 21:47:30 796

原创 算法第二十九天-森林中的兔子

xx+1x我们可以通过举例子得出一下的规律:我们统计数组中所有回答x的兔子的数量nn%(x+1)==0n/(x+1)x+1n/(x+1)+1x+1。

2024-03-17 21:46:09 368

原创 算法第二十八天-组合总和

target =727-2=52737-3=437基于上面的想法,可以画出树形图。建议大家自己在纸上画出这棵树,。编码通过实现,使用一个列表,在变化过程中,遍历所有可能的列表并判断当前列表是否符合题目要求,完成[回溯]

2024-03-16 15:30:38 371

原创 深度学习-2.7 机器学习目标与模型评估方法

如果模型能够在测试集上有不错的预测效果,我们就“简单粗暴”的认为模型可以在真实的未来获取的未知数据集上有不错的表现。据此,我们称模型在训练集上误差称为训练误差,在测试集上的误差称为泛化误差,不过毕竟在测试集上进行测试还只是模拟演习,我们采用模型的泛化能力来描述模型在未知数据上的判别能力,当然泛化能力无法准确衡量(未知的数据还未到来,到来的数据都变成了已知数据),我们只能通过模型在训练集和测试集上的表现,判别模型泛化能力,当然,就像此前说的一样,最基本的,我们会通过模型在测试集上的表现来判断模型的泛化能力。

2024-03-16 15:25:18 1238

原创 深度学习-2.6在MINST-FASHION上实现神经网络的学习流程

需要对数据的结构进行一个改变,这里的“-1”代表,我不想算,请pytorch帮我计算criterion = nn.NLLLoss() #定义损失函数opt = optim.SGD(net.parameters(), lr=lr,momentum=gamma) #定义优化算法opt.step()opt.zero_grad()#求解准确率epoch+1, samples。

2024-03-15 19:43:49 1417

原创 算法第二十七天-猜数字游戏

有多少位属于数字和确切位置都猜对了:统计secretiguessi的个数。有多少位属于数字猜对了但是位置不对:用两个数组(哈希表)分别统计secretiguessi时secreti的出现次数和guessi的出现次数,记作cntS和cntG。答案为∑min⁡cntSicntGi])例如secret12223guess13332对于secretiguessi。

2024-03-15 18:57:39 832

原创 算法第二十六天-删除有序数组中的重复项Ⅱ

题目要求中提到原地修改,那么肯定需要一个指针指向当前即将放置元素的位置,需要另外一个指针向后遍历所有元素,所以[双指针]解法呼之欲出。slow-1因为最多允许两个重复元素,并且slow-2位置是上上次放置了元素的位置,所以让num[fast]跟进行比较。每次都是只允许最多两个元素出现重复,这两个元素的位置在slow-1和slow-2。

2024-03-10 22:08:23 518

原创 算法第二十五天-寻找排序数组中的最小值

二分法。

2024-03-09 22:54:13 330

原创 深度学习-2.4建模过程总结和第一个最优化函数

深度学习的完整建模过程总结和第一个最优化函数

2024-03-09 22:51:39 1073

原创 代码第二十四天-寻找旋转排序数组中的最小值Ⅱ

二分法当遇到两个left、right两个位置值相同时候,可以选择将 right = right-1。

2024-03-07 19:54:12 342

原创 深度学习-2.3损失函数

在之前的文章中,已经建立了最基础的深层神经网络,并能够理解网络的正向传播过程,接下来,我将分享深度学习网络的学习和训练过程,并从最小二乘和梯度下降算法开始拓展,介绍神经网络的损失函数、常用优化算法等信息,实现神经网络的学习和迭代。

2024-03-07 12:09:55 1012

原创 深度学习-2.2 多层神经网络

从单层到多层是神经网络发展史上的重大变化,层的增加彻底将神经网络的性能提升到了另一个高度,正确理解层的意义对于我们自主构建神经网络有很重要的作用,学会利用层是避免浪费计算资源以及提升神经网络效果的关键。

2024-03-03 17:10:14 1054

原创 深度学习-2.1 神经网络原理

文章目录神经网络原理1.单层神经网络1.1 回归单层神经网络:线性回归1.2 二分类单层神经网络:sigmoid与阶跃函数1.3 多分类单层神经网络:softmax回归神经网络原理人工神经网络(Artificial Neural Network,ANN),通常简称为神经网络,它是机器学习当中独树一帜的,最强大的强学习器没有之一。人脑通过构建复杂的网络可以进行逻辑,语言,图像的学习,而传统机器学习算法不具备和人类相似的学习能力。机器学习研究者们相信,模拟大脑结构可以让机器的学习能力更上一层楼,于是人工神

2024-02-29 10:53:16 1539

原创 生成模型-流模型(Flow)

Flow-based模型的不同之处从去年GLOW提出之后,我就一直对基于流(flow)的生成模型是如何实现的充满好奇,但一直没有彻底弄明白,直到最近观看了李宏毅老师的教程之后,很多细节都讲解地比较清楚,就想好好写篇笔记来梳理一下流模型的运作原理。首先来简单介绍一下流模型,它是一种比较独特的生成模型——它选择直接直面生成模型的概率计算,也就是把分布转换的积分式(pGx∫zpx∣zpzdzpG​x))∫z​px∣zpzdz)给硬算出来。

2024-02-26 09:12:11 1123

原创 1.深度学习基础-模型评估指标

针对不同类型的任务,需要通过不同的模型评价指标进行评价,在实际应用中,可能需要结合具体任务和需求选择合适的评估方法。

2024-02-23 09:40:28 988

原创 1.深度学习基础-有监督学习、无监督学习和强化学习

深度学习(机器学习)任务可以简单分为有监督学习、无监督学习、强化学习等。其中,有监督学习从有标签的训练数据中推导出预测函数,有标签的训练数据是指每个训练的样本都包含输入和对应的真实输出。无监督学习是与有监督学习的另一种学习类别。它从无标记的训练数据中推断结论。其中最典型的无监督学习就是无监督聚类分析,它可以在探索性数据分析阶段用于发现隐藏的模式或者对数据进行分组。强化学习是机器学习的另一个领域。它更加关注模型在环境中采取某一行为,以便获取最大化某种积累的会报。

2024-02-22 19:38:31 722

原创 机器学习-朴素贝叶斯【手撕】

在许多分类算法应用中,特征和标签之间的关系并非是决定性的。比如说,我们想预测一个人究竟是否会在泰坦尼克号海难中生存下来,那我们可以建一棵决策树来学习我们的训练集。在训练中,其中一个人的特征为:30岁,男,普通舱,他最后在泰坦尼克号海难中去世了。当我们测试的时候,我们发现有另一个人的特征也为:30岁,男,普通舱。基于在训练集中的学习,我们的决策树必然会给这个人打上标签:去世。然而这个人的真实情况一定是去世了吗?并非如此。也许这个人是心脏病患者,得到了上救生艇的优先权。

2024-02-06 09:19:49 1255 2

原创 机器学习-线性回归【手撕】

回归是一种应用广泛的预测建模技术,这种技术的核心在于预测的结果是连续型变量。决策树,随机森林,支持向量机的分类器等分类算法的预测标签是分类变量,多以{0,1}来表示,而无监督学习算法比如PCA,KMeans的目标根本不是求解出标签,注意加以区别。

2024-02-02 14:26:30 1375

空空如也

空空如也

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

TA关注的人

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