- 博客(29)
- 收藏
- 关注
原创 Scorced Diffusion Model
x(T) ~pT.p0为数据集的数据分布,pT为先验分布。概率密度函数p(x)的分数就是p(x)的梯度,分数网络就是对分数建模的神经网络,训练其接近真实分数。方案:加不同大小噪音扰动数据,用独立的条件分数网络预测不同噪声下分布的分数。问题:有限步骤的加噪,将噪声量级推广到无限,引入SDE,以获得一个更加一般的扩散过程。wbar为逆布朗运动,dt无穷小负时间步长,只要知道pt(x)的分数即可求。f为漂移系数,g为扩散系数,w为布朗运动的表示,是随机的。从现在开始用pt(x)表示x(t)的分布。
2023-09-25 21:14:39
193
原创 LightGCN论文阅读
基于人口的统计学推荐(Demographic-based Recommendation)基于内容的推荐(Content-based Recommendation)基于协同过滤的推荐(Collaborative Filtering-based Recommendation)
2023-09-18 21:20:52
189
1
原创 Pytorch 01
如果参数axis=0,则表示计算是沿着最左边下标(第0个下标)的变化方向进行操作(也可以说按照张量的第0维计算),将除了第0个下标外,其他几个下标都相同的部分分成一组,然后再进行操作。以三维张量c为例,计算是用A000&A100、A001&A101等六组数据计算。如果设置 .requires_grad 为 True,那么将会追踪所有对于该张量的操作。当完成计算后通过调用 .backward(),自动计算所有的梯度, 这个张量的所有梯度将会自动积累到 .grad 属性。如果axis为负,则按倒数计算。
2023-09-05 15:45:06
68
原创 备战面试08 栈与队列 Part1
在push数据的时候,只要数据放进输入栈就好,但在pop的时候,操作就复杂一些,输出栈如果为空,就把进栈数据全部导入进来(注意是全部导入),再从出栈弹出数据,如果输出栈不为空,则直接从出栈弹出数据就可以了。最后如何判断队列为空呢?如果进栈和出栈都为空的话,说明模拟的队列为空了。
2023-08-28 21:23:12
67
1
原创 备战面试07 字符串Part1+Part2
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。请实现一个函数,把字符串 s 中的每个空格替换成"%20"。首先扩充数组到每个空格替换成"%20"之后的大小。输入: “the sky is blue”输出: “blue is sky the”i指向新长度的末尾,j指向旧长度的末尾。
2023-08-28 15:51:29
193
1
原创 备战面试06 哈希表Part2
接下来如何移动left 和right呢, 如果nums[i] + nums[left] + nums[right] > 0 就说明 此时三数之和大了,因为数组是排序后了,所以right下标就应该向左移动,这样才能让三数之和小一些。如果 nums[i] + nums[left] + nums[right] < 0 说明 此时 三数之和小了,left 就向右移动,才能让三数之和大一些,直到left与right相遇为止。
2023-08-27 21:37:31
73
原创 备战面试05 哈希表Part1
如果 可以变为 1,那么这个数就是快乐数。再遍历 字符串s的时候,只需要将 s[i] - ‘a’ 所在的元素做+1 操作即可,并不需要记住字符a的ASCII,只要求出一个相对数值就可以了。这样就将字符串s中字符出现的次数,统计出来了。需要把字符映射到数组也就是哈希表的索引下标上,因为字符a到字符z的ASCII是26个连续的数值,所以字符a映射为下标0,相应的字符z映射为下标25。那看一下如何检查字符串t中是否出现了这些字符,同样在遍历字符串t的时候,对t中出现的字符映射哈希表索引上的数值再做-1的操作。
2023-08-27 21:25:59
95
原创 备战面试04 链表 Part2
双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。删掉slow所指向的节点就可以了。给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回 null。
2023-08-27 16:26:51
44
原创 备战面试03 链表 Part1
示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL。链表的长度可以是不固定的,并且可以动态增删, 适合数据量不固定,频繁增删,较少查询的场景。删除链表中等于给定值 val 的所有节点。
2023-08-27 14:53:35
47
原创 备战面试02 数组 Part2
复杂度O(n),每个元素最多被移入窗口一次,移出窗口一次,最多两次,O(n*2)=O(n)窗口的起始位置如何移动:如果当前窗口的值大于s了,窗口就要向前移动了(也就是该缩小了)。窗口的结束位置如何移动:窗口的结束位置就是遍历数组的指针,也就是for循环里的索引。生成1~n^2的数字,元素按顺时针顺序螺旋排列的正方形矩阵。窗口就是 满足其和 ≥ s 的长度最小的 连续子数组。两个指针从两端向内指,因为最大平方一定在两端。例:给定有序数组,输出有序的其平方。例:寻找长度最小的符合条件的子数组。
2023-08-26 21:23:01
45
原创 李宏毅机器学习 day06
在这里插入图片描述](https://img-blog.csdnimg.cn/e3addeb2d69d4f328ca95907f9bc1d48.png。变化量取决于偏微分以及”learning rate“。随机选取初始w0,b0。对于两个参数w,b。
2023-08-10 22:00:03
106
1
原创 李宏毅机器学习day03
但故意给一些错误标注、给一些无关输入,正确率波动不大,倾向于范例是用于唤醒语言模型已有的某个任务。给一些例子,再进行任务输出。
2023-08-06 17:06:42
60
原创 李宏毅 机器学习day01
一般的机器学习:监督式学习喂给它一些成对的案例,记起自己找寻合适的函数f,用来计算当前情况下下一个最大概率的字。GPT:就是无痛收集成对案例进行文字接龙的技术。chatGPT就是GPT加上监督式学习的结果。
2023-08-03 21:54:54
162
原创 day13 栈与队列
设计单调队列的时候,pop,和push操作要保持如下规则:pop(value):如果窗口移除的元素value等于单调队列的出口元素,那么队列弹出元素,否则不用任何操作push(value):如果push的元素value大于入口元素的数值,那么就将队列入口的元素弹出,直到push元素的数值小于等于队列入口元素的数值为止。
2023-07-10 19:58:38
57
1
原创 day02数组part2
问题在于:负数平方之后可能成为最大数。那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间。此时可以考虑双指针法了,i指向起始位置,j指向终止位置。定义一个新数组result,和A数组一样的大小,让k指向result数组终止位置。
2023-06-29 19:06:14
227
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人