自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 论文总结《A Closer Look at Few-shot Classification Again》

这篇文章主要探讨了在少样本图像分类问题中,training algorithm 和 adaptation algorithm的相关性问题。给出了training algorithm和adaptation algorithm是完全不想关的,这意味着我们在设计少样本学习算法时,可以分别设计模型的training阶段和adaptation阶段。同时文章也在训练集规模、监督学习和自监督学习在少样本学习中的性能、以及标准finetune在少样本图像分类adaptation阶段对模型影响的问题。

2023-09-16 20:19:04 785

原创 论文总结《Adversarial Collaborative Neural Network for Robust Recommendation(ACAE/FG-ACAE)》

总结来说,这两篇文章都较为简单,无非就是在神经网络的每一层都加上扰动,通过模型的训练来调整不同扰动的权重。这篇文章有一个问题就是他没有解释其中的Noise Mixing层的作用,没有分析其对于性能的影响,而且这篇文章是对于hidden layer连接了几个神经元作为扰动,再经过一个全连接层映射到K维,那为什么不直接扩展中间hidden layer的维度,或者扩充hidden layer的层数?我姑且认为这是个trick。

2023-08-28 16:31:31 143

原创 论文总结《Adversarial Sampling and Training for Semi-Supervised Information Retrieval(AdvIR)》

这篇文章介绍了在对抗训练后的模型上进行动态负采样,连同正例和采样出来的负样本进行对抗训练。在item recommendation上与APR[2]类似,但也有以下不同点APR是在latent vector上进行扰动,而AdvIR则在input上进行扰动,即混合不同的embedding来达到扰动的效果其次APR仅仅利用均匀负采样负例,而AdvIR则在对抗训练的模型上动态负采样负例。

2023-08-27 15:43:10 169

原创 论文总结《Adversarial Personalized Ranking for Recommendation(APR)》

这篇文章提出了一个在RS领域应用对抗训练提高模型的鲁棒性。在阅读文章过程中我有几点问题/想法目标函数是minmax game,那么是否可以用GAN的方法来同时更新扰动Δ\DeltaΔ以及Θ\ThetaΘ,即训练Δ\DeltaΔ使得模型尽可能差,同时训练Θ\ThetaΘ使得模型尽可能抵抗这种扰动这篇文章的扰动仅仅是在浅层,是否可以对更加深层次扰动,效果会不会更好?

2023-08-14 20:02:58 246

原创 论文总结《Towards Evaluating the Robustness of Neural Networks(C&W)》

介绍了当时一些攻击方法和防御方法,以及本篇论文的贡献Session 3 介绍几种攻击算法A. 介绍利用受限内存的拟牛顿法(L-BFGS)求解最优化问题得到对抗样本B. 介绍FGSM和I-FGSMC. 介绍Jacobian-based Saliency Map Attack (JSMA),简单来说就是目标分类对于图像每一个像素点的梯度不同,表征每一个像素对于分类器判别该图像为目标类所作出的影响不同,选出有限数量的最有影响力的像素点进行更新D. 介绍Deepfool。

2023-08-12 15:30:24 254

原创 论文总结《DeepFM: A Factorization-Machine based Neural Network for CTR Prediction(DeepFM)》

Wide & Deep 结构是一个经典的结构,在学习MLP的时候很多时候都是利用的这种结构来提取特征,那么是否还能用其它的结构来预测CTR如果利用FM来提取order-1 feature的关系,MLP作为order-2 feature的关系,是否能利用MLP来提取feature之间复杂的关系(包括order-1和order-2),毕竟MLP能拟合一切关系,不过缺点就是复杂度太高,效率不高。

2023-08-03 19:14:59 90

原创 论文总结《Neural Collaborative Filtering(NCF)》

模型图坐标的GMF Layer表示的是latent feature的element-wise product,即捕获latent features的线性性质。而如果u1,u2,u3在隐空间的向量如图所示,那么u4放哪都不是最合适的,这归因于MF的内积的线性性质。可以看到,u4与u1最相似,其次是与u3,最后与u2,如果将其映射到二维的隐空间,那么应该有。论文中的MF的局限性的图可以很好解释为什么MF无法很好的捕获相似关系。MovieLens和Pinterest。

2023-07-28 21:00:45 266

原创 LC-300-最长递增子序列

表示以i结尾的最长上升子序列。

2023-03-16 20:02:17 83

原创 LC-297-二叉树的序列化与反序列化

其无左递归也不存在二义性,故为LL(1)型文法,那么我用LL(1)型文法的手工解析,递归下降法进行解析。前序遍历二叉树,遇到空则将空表示为null,然后构造的时候再按照字符串进行前序构造。我们可以构造二叉树序列化为。

2023-03-15 21:18:25 85

原创 LC-287-寻找重复数

可以遍历数组,将数组中的值放到其对应位置(不断交换),如果发现不是自己位置上的值和当前值相等,意味着此时已经见到了重复的值,直接返回即可。然后才意识到不让修改数组,那么这种方法实际上不符合题意。

2023-03-14 22:15:52 77

原创 LC-283-移动零

类似二分排序的想法,将不等于0的都放到0的左边,等于0的都放到0的右边。将所有非0的元素往前移,那么剩下的元素全部赋值0.类似冒泡排序的想法,两两比较将0移到末尾。

2023-03-14 21:13:11 61

原创 LC-279-完全平方数

暴搜+剪枝,直接从n的开平方到1枚举,不断拆分n,知道n为0,此时记录最小值。当拆分的数已经大于记录的答案,既可以直接返回来剪枝。

2023-03-14 20:06:04 67

原创 LC-240-搜索二维矩阵 II

故如果target小于当前值,意味着它所在列的值都比target值大,故可以直接舍弃一列。因为每一行每一列都是升序的,故一种直观的方法就是遍历每一行,对每一行进行一个二分搜索。如果target大于当前值,意味着它所在行的值都比target小,故可以直接舍弃一行。因为行和列都是升序排列的,那么右上角为它所在行的最大值,为它所在列的最小值。我们取右上角的值为起始遍历的点进行比较,为什么取右上角的值?这样知道找到target或越界表示没找到。

2023-03-13 22:02:53 89

原创 LC-239-滑动窗口最大值

这道题是一道经典的单调队列的题,我们根据滑动窗口可以发现,滑动窗口中最大值左边的值我们是可以不用管的,因为它们总是比最大值先滑出窗口,但是右边的值确实要记录下来,因为最大值会先滑出,那么滑出后我们要看新的最大值,此时我们可以维护一个单调递减的队列,若新加入窗口的值比队尾小则加入,比队尾大意味左边窗口比它小的值且在队列中的值可以不需要了,因为它总是比这个大值先滑出窗口。这样每次滑动窗口的最大值就是这个单调递减队列的队首。

2023-03-13 21:31:42 88

原创 LC-236-二叉树的最近公共祖先

这个题算一个经典的题目了,我的方法是dfs遍历到结点,将路径记下来,那么这里就有两条路径,最近的公共祖先只要求这两个序列的最后一个相等的值。

2023-03-12 20:25:44 74

原创 LC-234-回文链表

我们可以利用快慢指针找到链表的中间位置,然后翻转后半部分链表,此时再判断前半部分和后半部分是否一一相等即可。当然也可以全部翻转链表查看时否相等。

2023-03-12 20:04:45 84

原创 LC-221-最大正方形

这题与之前做过的求二维最大矩形比较类似,但这题有限制条件就是只能为正方形,那么我们就可以利用二维前缀和来做,我们枚举起始点,那么第二个坐标我们只需枚举边长即可。

2023-03-11 20:57:23 69

原创 LC-215-数组中的第K个最大元素

【代码】LC-215-数组中的第K个最大元素。

2023-03-11 20:35:19 74

原创 LC-207-课程表

一般这种完成某一件事需要完成另一件事,就是典型的AOV网,那么如果能完成所有课程,这个图必须是有向无环图,那么我们可以利用拓扑排序的思路,求图的拓扑序,如果存在环,则无法遍历到所有的结点,可以用一个计数量来表示。

2023-03-10 15:34:57 66

原创 LC-206-反转链表

画图看指针如何操作即可。

2023-03-10 15:03:07 59

原创 LC-200-岛屿数量

这道题是经典的dfs或者bfs暴搜题,直接对岛屿进行暴搜标记已经访问,那么主函数就看有几个没被访问的岛屿。

2023-03-10 14:48:55 62

原创 LC-198-打家劫舍

这是一个DP问题,每间房屋存在两种状态,要么被偷,要么没被偷。那么由此我们其实就可以写出状态转移方程,此时状态方程为。表示前i间房间且最后一间房间为被偷的最大金额,同理。

2023-03-10 14:33:29 68

原创 LC-155-最小栈

核心的是解决如何维护当前栈中的最小值,我们其实可以利用一个栈(记为S),这个栈中的元素是单调递减的,如果压栈的值小于等于S的栈顶(既最小的元素),那么我们就该值也压入S,这样我们可以通过S的栈顶直接求当前栈的最小值,若弹栈的时候,若栈顶的值与S栈顶的值相等,那么我们需要弹出S的栈顶表示最小值已经弹出。

2023-03-10 12:58:45 77

原创 pytorch踩坑——padding类型坑

pytorch搭建网络时,出现一个typeError。

2023-03-06 20:23:14 198

原创 LC-152-乘积最大子数组

数组为{5,30,−3,4,−3},最大值为30,然后这并不对,最大值是整个序列相加,为什么?我们可以看最后一个数字,因为前面所有的数字相乘为一个负数,然而最后一个数字为负数,最后结果相乘为正数!故我们可以得出,如果前面为负值,那么当前数如果为负数,也可能使得答案最大,所以我们需要借助两个状态表示,一个表示以i结尾的最大子序列,一个表示以i结尾的最小子序列。,但这里有问题,如果有序列{5,6,−3,4,−3}, 求出来的。这里也许一开始会想到直接。

2023-03-02 20:56:33 56

原创 LC-148-排序链表

归并排序,因为是链表的形式,故归并的时候只需要按顺序链上即可,此时空间复杂度为常数。借助数组,讲链表结点存入数组中再进行排序后取出。

2023-03-02 20:02:30 68

原创 LC-146-LRU 缓存

用双向链表维护LRU中的key和value,若访问到则将对应的结点置换到链表尾部,若需要替换则直接替换链表头部,这个比较难debug,要注意细节。

2023-02-28 20:58:24 69

原创 LC-142-环形链表 II

利用快慢指针,慢指针一次走一步,块指针一次走两步,通过尝试可以发现,当快慢指针相遇时,其 离进入环的距离与头指针进入环的距离相等,故此时可以再次利用相遇使得指针指向环的入口。利用哈希表记录遍历到的结点,如果遇到遍历过的则返回该结点,否则返回NULL。

2023-02-28 19:24:13 55

原创 LC-141-环形链表

故我们可以利用一个超过其的值标记已经遍历过的,若遇到标记的则表示有环。因为我们可以发现链表中的值的范围是。

2023-02-27 20:46:07 53

原创 LC-139-单词拆分

一开始想着暴力解,直接遍历字符串,以某一个索引开头,若出现与字典中匹配的,就由以该位置的下一个位置进行重复的匹配,直到字符串全部匹配结束。表示以i结尾的字符串是否可以由字典中的单词构成。

2023-02-27 20:27:10 53

原创 LC-136-只出现一次的数字

直接用的unordered_map,没想到空间复杂度为常数的解法。异或运算,在异或运算中,两次相同的值抵消,剩下的就是出现一次的值。

2023-02-25 21:38:45 61

原创 LC-128-最长连续序列

这个思路比较容易想到,既对于每一个数,都尝试往后看,看数组中是否存在这个数(用unordered_set,哈希表实现),那么若一个数的前一个数在哈希表中,就可以跳过,因为若前一个数存在,意味着前一个数是在一个更长的区间内,此时这个数是区间中间的某一个值,此时可以跳过。本来想着用区间表示,如果出现一个值就看其相邻的是否有区间,做一个区间合并,但是没想出来。看题解发现是一种动态规划的思想。

2023-02-25 21:27:23 75

原创 LC-124-二叉树中的最大路径和

故可以发现,上述就是递归定义,可以直接用递归来做,为了防止重复计算,可以记录以某根为端点的最长路径,如重复直接返回即可。那么我们还需要求以某一个根我端点的最长路径,下列情况的最大值。经过某个根的最长路径,我们可以抽象为下列情况的最大值。

2023-02-23 21:01:47 76

原创 LC-105-从前序与中序遍历序列构造二叉树

由前序遍历可以知道根,由根可以知道左右子树的中序遍历,那么我们可以递归,分别摘出左子树前序遍历数组和中序遍历数组,摘出右子树前序遍历数组和中序遍历数组。我们可以利用前序遍历的下标与中序遍历中值相等的下标做一个映射关系,这样我们就可以省去递归中找根的。

2023-02-22 20:39:22 58

原创 LC-101-对称二叉树

递归比较左右两棵子树是否是二叉树,对于比较相同的树,我们递归的比较左右子树是否相等,而比较镜像的树是否相等,我们递归的比较一棵树的左子树与另一棵树的右子树,右子树与左子树。

2023-02-22 20:10:12 68

原创 LC-98-验证二叉搜索树

直接中序遍历存下值,可以发现如果是二叉搜索树,中序遍历的结果是升序的,故因此可以判断是否是二叉搜索树。

2023-02-22 19:52:26 66

原创 LC-96-不同的二叉搜索树

我们可以将一棵二叉搜索树抽象为一个顶点与左右两棵子树构成,这样统计一棵搜索树能构成多少棵不同的树转换为统计其左右子树能构成的不同二叉搜索树的乘积。,注意如果递归计算的话会TLE,原因是有一些值已经算过了,重复计算会使得计算量增大,故可以用记忆化搜索。实际上就是上述思想的非递归形式。

2023-02-22 18:45:31 60

原创 LC-85-最大矩形

这道题我们可以看成是 84-柱状图中最大的矩形的一个扩展,如果我们把每一行当作一个“地平线”,那么每一行都有1组成的柱体的序列,那么问题就转换为了对每一行来说,求以该行为“地平线”的柱状图中最大的矩形。直接暴力用了二维前缀和,果不其然超时了,没想到这是上一题的一个扩展。

2023-02-17 20:57:57 71

原创 LC-84-柱状图中最大的矩形

这道题典型的单调栈问题,因为我们可以发现,如果求以某一个柱子为高,看它能扩展到的左右两个最远的边界构成的矩形,那么其实就是找以该柱子为起点,左边比它小的第一个数的位置,右边比它小的第一个数的位置。对于找某个数左边比它小的第一个数,我们可以利用单调递增的栈来做。

2023-02-17 19:49:56 56

原创 LC-79-单词搜索

dfs直接搜素,注意可以剪枝,若dfs当前位置字符不对应相等则可以直接退出,直到满足字符相等且长度已经枚举到和word一样长时返回true。

2023-02-15 21:29:24 59

空空如也

空空如也

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

TA关注的人

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