- 博客(26)
- 收藏
- 关注
原创 softmax回归的从零实现(附代码)
softmax回归是一个多分类模型,但是他跟线性回归一样将输入特征与权重做线性叠加,与线性不同的是他有多个输出,输出的个数对应分类标签的个数,比如四个特征和三种输出动物类别,则权重包含12个标量(带下标的w),偏差包含三个标量(带下标的b),且对每个输入计算o1,o2,o3。然后再对这些输出值进行softmax‘运算,softmax也是单层模型。
2024-09-16 20:58:12
394
1
原创 如何从0开始创建一个线性回归模型(附代码)
x = torch.normal(0,1,(num_examples,len(w)))#均值为0方差为1的随机数,n个样本,len(w)列。return X,y.reshape((-1,1))#-1表示自动计算维度的大小。sgd([w,b],lr,batch_size)#使用参数的梯度更新参数。y+= torch.normal(0,0.01,y.shape)#噪音函数。y = torch.matmul(X,w)+b#matmul矩阵运算。生成y = Xw +b+噪声'''
2024-09-11 11:37:16
1540
原创 二叉树之Morriis遍历
使用Morris遍历算法,可以以O(1)的空间复杂度完成二叉树的遍历,但会破坏二叉树的结构。3. 如果cur有左子节点,则找到cur节点在中序遍历中的前驱节点pre(即cur左子树中最右的节点)。5. 如果pre的右子节点为cur,将其右子节点置为空,输出cur节点的值,然后将cur指向其右子节点。4. 如果pre的右子节点为空,将其右子节点指向cur,然后将cur指向其左子节点。2. 如果cur没有左子节点,则输出cur节点的值,然后将cur指向其右子节点。1. 初始化当前节点cur为根节点。
2024-08-04 21:07:22
136
原创 线性代数——奇异值分解
他们的本质都是一样的,都是通过分解来获取矩阵的核心特征,从运动角度来看都是将矩阵代表的运动分解为独立的旋转和伸缩。任意形状的矩阵都可以分解为一个正交矩阵,一个对角矩阵和另外一个正交矩阵的乘积。特征分解只是适用于,但是奇异值分解(SVD)与其不同,它适用于所有矩阵。
2024-07-28 21:45:11
260
原创 线性代数——特征分解
矩阵表示向量的运动和变换,矩阵分解就是找到合成的变换信息或者变换运动信息,找到合成变换中的具体旋转与伸缩信息。基的本质就是最基本的彼岸换单位或变换单元,决定了以何种变换尺度生成新的数据。特征分解是使用最广的矩阵分解之一,将矩阵分解成一组特征向量和特征值。特征值类似于向量的权重,特征值越大,说明特征向量越重要。是矩阵的特征向量,diag(lambda)为对角矩阵。,但是二维向量的基不都是单位矩阵,可以是任意一个方阵。可以通过分解 矩阵来发现矩阵一些不明显的特征和性质。
2024-07-28 21:27:09
306
原创 线性代数——范数
但是这个距离并非直接连接的距离,这只是其中的一种叫做欧氏距离,度量距离具有多样性,即范数的多样性。他是将向量映射到非负值的函数,直观来说范数是衡量从原点到。
2024-07-24 20:36:06
245
原创 如何发表论文
注:有一些其他要求在一审结束后编辑会告诉你,或者你可以提前查看进行完成。也可以在小木虫查询一些期刊的信息和相关评价,投过稿的人分享的一些经验。1.可以根据参考文献选择期刊。3.学科筛选选择期刊。
2024-07-07 09:35:43
319
原创 如何写论文
需要写出的信息:1.文章做了一件什么事情(1句话概括即可)2.创新点、过程或怎么做的(2-3句话)3.可以得到什么结果(选出重要的结论,可以只定性,尽量定量讲解,2-3句话)4.可以写出该项的研究意义(吹吹牛,1句话)5.关键词(可能文章不需要,但是要写出来)需要写的信息:1.给出背景信息,一般由广泛到具体引出所研究的对象2.背景信息可以从现象、政策、大的全球背景、公认的某些问题3.参考文献的引用是必要的(最好是引用最新版的)4.避免一个普遍的观点的文章引用超过3篇,最好是1-2篇。
2024-07-07 08:57:39
318
原创 【小土堆】25-26/33 pytorch现有网络模型的使用、修改、保存 与读取
加载预训练模型: PyTorch提供了许多经过预训练的模型,可以通过torchvision库直接加载。例如,可以使用以下代码加载预训练的ResNet模型。可以根据自己的需求修改已加载的模型的结构。保存模型: 使用torch.save()函数可以将模型保存到文件中。使用torch.load()函数加载已保存的模型参数。
2024-07-04 11:03:24
175
原创 力扣之移除元素
这道题比较简单,我用的思想是,原地覆盖的思想,设置一个变量ans用来记录结果,也方便在原数组中进行覆盖;除此之外,还可以用交换移除的方法,与覆盖移除不同的是这个ans变量初始值需要设置为数组长度-1。// 它以不等于 val 的值排序。你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。// 排序 nums 的前 k 个元素。你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。
2024-07-04 10:13:11
395
原创 小土堆【24/33】优化器
SGD(随机梯度下降):使用随机梯度的平均来更新模型的参数,可以通过设置学习率、动量和权重衰减等参数来调整优化过程,在训练过程中调用。优化器,是向前传播需要的能够优化损失函数的算法,详细参考官方文档。在入门阶段我们重点关注参数就可以。
2024-07-03 17:04:18
240
原创 力扣之删除有序数组中的重复项
解题思想:直接遍历数组删除重复项,利用一个变量记录新的数组的下标,也可以利用双指针。// 长度正确的期望答案。不需要考虑数组中超出新长度后面的元素。如果所有断言都通过,那么您的题解将被。不需要考虑数组中超出新长度后面的元素。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。函数应该返回新的长度。的前两个元素被修改为。函数应该返回新的长度。的前五个元素被修改为。
2024-07-03 09:16:03
417
原创 【小土堆】19/33最大池化
当值为True的时候,数值个数不足保留,为False的时候数值个数不足则不保留。池化核(3x3), kernel_size=3。例如:一个5*5的输入图象,和3*3的池化核。是池化核的大小,是在卷积过程中移动的格数。池化层会大大减小数据训练量。最大池化我们以2的为例。
2024-06-30 10:07:06
246
原创 打卡【小土堆】第18/33个视频《卷积层》
在神经网络当中,forward函数是深度学习框架的一个函数,用于记录向前传播的过程,数据传入到forward函数中,经过一系列计算和变换得到输出结果。我们写一个简单的神经网络,复习之前学过的知识,获取数据集,加载数据集,将数据集写入。的重要参数,其中前五个为最常用的参数。
2024-06-29 22:31:27
285
1
原创 打卡【小土堆】第17/33个视频《卷积操作》
当padding为0的时候,把圆圈的的数相乘相加,得到的是卷积结果得第一个数。如果padding为1,则扩充输入图像为:填充值,默认为1。有一个5*5的输入图象和3*3的卷积核。权重,用专业术语来说是卷积核。就是我么所输入的图像。
2024-06-29 09:00:00
1434
原创 合并两个非空链表
如果l1是空的,则l2一定不为空则将l1和l2进行交换将进位值保存在l1当中。两个链表l1,l2进行递归,carry=l1的值+l2的值+carry。如果链表l1,l2同时为空则创建一个新的节点保存carry的值,你可以假设除了数字 0 之外,这两个数都不会以 0 开头。的链表,表示两个非负的整数。它们每位数字都是按照。请你将两个数相加,并以相同形式返回一个表示和的链表。的方式存储的,并且每个节点只能存储。题目来源:leetcode。这个题目是用到链表递归。
2024-01-06 17:12:01
858
1
原创 LeetCode中的一个经典问题——两数之和
这是leetcode上的一道简单题问题描述:两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。[0,1]因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。[1,2][0,1]
2024-01-05 21:16:01
627
1
原创 卡拉兹(Callatz)猜想
对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……算法思想:这道题看似很难的样子其实算法很简单,用一个while循环就可以了,先输入一个数值n,当n不等于1的时候就一直循环,判断n如果是奇数的话,n=(3*n+1)/2,如果n为偶数,直接n=n/2?
2024-01-04 19:18:19
443
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人