- 博客(95)
- 资源 (20)
- 收藏
- 关注
原创 基于树的召回框架(三):Learning Optimal Tree Models under Beam Search
fffffffffffff
2021-04-12 15:54:07
1027
原创 基于树的召回框架(二):Joint Optimization of Tree-based Index and Deep Model for Recommender Systems
阿里基于树结构的召回体系一共发了三篇paper,这是第二篇,其他两篇论文的阅读笔记见下方链接:论文笔记:Learning Tree-based Deep Model for Recommender Systems本文讲解论文的 supplementary files 下载,包括一些论断的证明过程以及 JTM 的代码实现论文笔记:Learning Optimal Tree Models under Beam Search 此链接尚未更新背景在第一篇论文中提出的基于树结构的召回模型,优化树结构 T
2021-04-11 18:09:35
1247
2
原创 基于树的召回框架(一):Learning Tree-based Deep Model for Recommender Systems
背景在召回阶段,如果需做全量召回,直接线性遍历每个物品的时间复杂度是 O(N)O(N)O(N),如果 NNN 过大,会遇到严重的计算效率过低的问题。在面对大规模物品集时,经典的召回思路有两种:基于物品的协同过滤、内积模型向量检索。基于物品的协同过滤使用 item-based 的协同过滤方法进行物品召回,可以有效降低计算量。其基于两阶段的思路,首先根据用户的历史行为(点击、购买等)获得触发物品(Trigger Item),然后到物品集中检索与这些触发物品最相似的物品,其中物品对的相似度是离线就已经预先计
2021-04-06 16:59:47
991
1
原创 nvidia-smi查看无进程但有显存占用、pytorch的dataloader在num_worker>0子进程没有在主进程被kill时被清理
复现步骤:pytorch dataloader的num_worker设为大于0的数(例如8),然后执行后台运行脚本的命令:nohup python -u script.py &,shell会返回进程pid,下图中我还加了指定GPU的环境变量以及输出重定向:使用 watch -n .5 ps aux --sort -rss' 持续按照内存从大到小查看进程,dataloader的代码执行之后会发现有1+8个你创建的进程是占用内存排在前列的(下图中我的用户名是xiepengyu):其中第一个进
2020-11-23 16:23:04
1857
3
原创 DCN的Cross操作的优缺点
DCN全称Deep Crossing Network,模型介绍可以见 这篇文章DCN的关键设计在于Cross层,假设输入为特征向量 x0x_0x0,其每一层的运算过程为 :xi+1=x0xiTwi+1+xix_{i+1}=x_0x_{i}^Tw_{i+1}+x_ixi+1=x0xiTwi+1+xi可视化为:前面的文章详细推导了为什么有 iii 层的Cross操作可以得到从 1 阶到 i+1i+1i+1 阶的任意的特征组合,这里截图放在这里:后来看到xDeepFM的论文,其首先证明了
2020-11-19 16:40:50
1393
原创 论文笔记:A Multi-View Deep Learning Approach for Cross Domain User Modeling in Recommendation Systems
引言协同过滤模型的一个很大缺陷在于很难处理冷启动问题,基于内容的推荐是一种解决思路,例如对于系统中的新物品,可以将其推荐给喜欢系统中相似物品的用户,对于新用户,可以给其推荐类似的用户所喜欢的物品。这里会涉及一个问题,即如何对用户建模,以计算其之间的相似度。不少相关文献已经尝试过使用用户的搜索记录或社交帖子等数据作为对用户建模的原始数据,本文就是采用用户的搜索记录作为用户建模的数据的。跨域推荐也是一种缓解冷启动问题的思路,其基本假设是:在同一个领域具有相似品位的用户在另一个领域也具有类似品位。跨域推
2020-11-18 23:12:47
916
原创 论文笔记:Wide & Deep Learning for Recommender Systems
引言传统的基于LR的推荐系统一般会将类别型特征做one-hot编码得到二元特征。例如一共只有3种app,则原来的一个特征"安装的APP=0/1/2"转成了3个特征:“安装的APP是app0=True/False”、 “安装的APP是app1=True/False”、 “安装的APP是app2=True/False”。另外,为了提高非线性,让模型具有记忆(Memorization)特定的模式(例如同时下载了app0和app1的人往往会下载app2)的能力,往往需要基于经验来设计一些组合特征,设一共有 dd
2020-11-18 11:37:39
166
原创 论文笔记:Neural Collaborative Filtering 以及 Neural Collaborative Ranking
简介本论文提出了NCF(Neural Collaborative Filtering),使用神经网络来解决协同过滤的问题。文章论证了传统的矩阵分解(协同过滤的一种常见实现)可以看做是NCF模型的一个特例,并通过实验论证了NCF相对于之前模型的优越性。关于矩阵分解,推荐阅读文章 推荐算法之矩阵分解预备知识一、显式反馈与隐式反馈显式反馈一般指评分、评论等能直接反映用户对物品兴趣程度的反馈,隐式反馈是指浏览等行为,其无法准确反应用户是否喜欢该item(不过浏览时间的长短可以间接反映兴趣程度)使用隐
2020-11-17 17:29:40
424
1
原创 论文笔记:Collaborative Filtering Recommender Systems
学习随笔,仅记录值得留意的点。协同过滤的适用领域PS:适用协同过滤的场景并不一定完全符合下述要求,只是如果下述条件符合会更适合使用CF数据要求1、item数量足够多2、每个item有足够多的评分3、每个用户对较多数量的item给出了评分。如果一个用户只对一个item进行了评分,那我们就无法获得item之间相关联的信息。4、用户评分的数量要比item数量大得多。例如当用户评论稀疏时,我们就需要更多用户来弥补这一缺陷;再举个实际例子,谷歌搜索所索引了的网页数量比全球人口还要多,因此用户无法对ite
2020-11-15 20:47:03
882
原创 算法面经汇总(1)
文章目录项目编程算法和数据结构pythonSQLLinux数学AI通用统计机器学习深度学习NLP其他项目有些公司一面基本都是聊项目和比赛,项目细节问的很多,通用技术问题没怎么问1、项目中用到哪些技术 ,然后会针对这些技术的知识点来提问2、项目中XXX(神经网络)等算法的性能为什么比不过XXX(gbdt)3、项目还有什么改进空间4、项目有什么商用价值5、项目难点在哪6、在项目中学到了...
2020-10-22 18:07:50
1977
原创 算法面经汇总(2)
文章目录深度学习NLP海量数据其他深度学习⭐️ 画出RNN的结构图NLP模型公式笔记⭐️ 反向传播的原理BP算法推导——以矩阵形式⭐️ 梯度下降陷入局部最优有什么解决办法[1] 你的模型真的陷入局部最优点了吗[2] 梯度下降法的神经网络容易收敛到局部最优,为什么应用广泛?[3] 深度学习里,如何判断模型陷入局部最优?在高维问题中,梯度下降通常是收敛到鞍点或大块的平坦区域,...
2020-10-22 18:07:04
1112
原创 Markdown草稿纸
Bilinear(x,y)=x⊙W×y+bBilinear(x,y)=x⊙W\times y+bBilinear(x,y)=x⊙W×y+bP(z∣G,S)logP(G∣S)=log∫P(G∣z,S)P(z∣S)dz=log∫P(G∣z,S)P(z∣S)q(z)q(z)dz=logEz∼q(z)[P(G∣z,S)P(z∣S)q(z)]≥Ez∼q(z)[logP(G∣z,S)P(z∣S)q(z)]=Ez∼q(z)[logP(G∣z,S)]+Ez∼q(z)[logP(z∣S)q(z)]=Ez∼q(
2020-09-24 21:45:45
100
原创 Pytorch DataLoader 内存泄漏 RuntimeError: received 0 items of ancdata
现象内存占用随着训练过程逐渐增大,最终Out of memory。即使将不再用到的变量及时删除并使用gc.collect(),也无法解决。解决方案方案1:Dataset 的成员变量避免使用Python原生数据格式以下面的Dataset代码为例,如果使用 self.data = [x for x in range(24000000)],即使用了List作为Dataset的成员变量,当 num_worker>0 时就会导致前面的现象,而改用numpy ndarray 包装一下就没问题了。另外,参考
2020-08-16 09:43:47
4979
5
原创 树模型总结
树模型笔记Adaboost原理学习资料1、https://www.youtube.com/watch?v=LsK-xG1cLYA2、https://blog.csdn.net/v_JULY_v/article/details/40718799算法流程简记1、初始化/更新样本权重(学习资料1在11:32秒开始解释)2、根据所选择的不纯度指标计算每个特征的最优划分点,比较得到最优特征,得到一个树桩(stump)3、计算误差率(分错的样本的权重和)和这一轮得到的学习器在最终多个学习器中的加权系数(
2020-07-30 11:43:58
334
原创 pytorch修改Dataparallel的主gpu
背景pytorch使用Dataparallel时会出现负载不均衡的现象,一般来说0号gpu占用显存最多。但是,有时候0号gpu显存不是特别多了,但是其他gpu显存很多,更适合用来作为主gpu。所以我们得想办法指定其他gpu为主gpu。方法1、修改之前,大家使用多gpu的代码指定device是这样指定的:device = torch.device("cuda" if torch.cuda.is_available() else "cpu")现在需要修改为:device = torch.devic
2020-05-23 10:19:36
1178
原创 深度学习中的batch的大小对学习效果有何影响?
推荐阅读:[1] 深度学习中的batch的大小对学习效果有何影响? - 言有三的回答 - 知乎[2] 深度学习中的batch的大小对学习效果有何影响? - 程引的回答 - 知乎[3] batch size 越大,学习率也要越大小结:优点缺点batch_size 较大训练时间减少,收敛更加稳定每个epoch更新次数变小,模型达到相同的精度需要的epoch数量batch_size 较小给梯度下降过程带来更大的随机性,有助于逃离 sharp minimum,使得模型收敛
2020-05-13 11:18:23
1005
原创 DFS与回溯总结
文章目录地图类LC200. Number of IslandsLC79. Word Search学习与参考资料:[1] 2013王道论坛计算机考研机试指南[2] DFS和BFS讲解及Leetcode刷题小结(1)(JAVA)[3] DFS和BFS讲解及Leetcode刷题小结(2)(JAVA)地图类LC200. Number of IslandsLC200. Number of Is...
2020-05-02 07:35:02
842
原创 笔试面试——滑动窗口
推荐阅读:算法思维系列/滑动窗口技巧.LC76. Minimum Window Substringfrom collections import defaultdictclass Solution: def minWindow(self, s: str, t: str): left, right = 0, 0 needs = defaultdict...
2020-04-28 12:19:23
266
原创 pytorch中的nn.Bilinear
参考:pytorch中的nn.Bilinear的计算原理详解代码实现使用numpy实现Bilinear(来自参考资料):print('learn nn.Bilinear')m = nn.Bilinear(20, 30, 40)input1 = torch.randn(128, 20)input2 = torch.randn(128, 30)output = m(input1, i...
2020-04-12 10:42:29
6444
原创 None作为ndarray或tensor的索引
None作为ndarray或tensor的索引作用是增加维度,与 pytorch中的 torch.unsqueeze() 或 tensorflow 中的tf.expand_dims() 作用相同例子:In [5]: t=torch.from_numpy(np.arange(12).reshape(3,4))In [6]: tOut[6]:tensor([[ 0, 1, 2, 3]...
2020-04-07 12:01:00
2056
原创 笔试——快速幂取模
阿里巴巴2021暑期实习笔试题,题目本身需要经过数学推导,得到答案的表达式为 (n×2n−1)%(109+7)(n\times 2^{n-1}) \% (10^9+7)(n×2n−1)%(109+7) ,其中 nnn 是输入的一个大数,%\%% 是取模运算。本题需要使用快速幂取模算法,在python中有自带的实现:pow(a,b,c) # 等价于(a^b)%c,但在b非常大时效率高很多...
2020-04-05 13:04:40
260
原创 python多key排序
首先需要知道,python 对 tuple 的排序规则就是多key排序,对于一个三元组的list用默认的sorted,结果是先按照第一个字段升序,在第一个字段相同的情况下按照第二个字段升序,在前两个字段都相同的情况下按照第三个字段升序。根据python对元祖的这个排序特性,就可以对对象的多个属性来排序,只需要利用 sorted的 key 参数,并学会构造元祖来进行排序。例如 person 是个...
2020-03-30 16:44:07
3519
原创 BFS答题记录与总结
LC200. Number of IslandsLC200. Number of Islandsfrom collections import dequedef dfs(grid,x,y): if 0<=x<len(grid) and 0<=y<len(grid[0]) and grid[x][y]=="1": grid[x][y]=0 ...
2020-03-24 23:17:11
310
原创 笔试——单调栈
题目链接:腾讯2020校园招聘编程题——逛街import sys# 本答案参考自评论区def parse_nums(nums_str): return [int(x) for x in nums_str.strip().split()]for n in sys.stdin: n = int(n) nums = parse_nums(input()) ...
2020-03-18 01:15:05
933
原创 高频面试题——算法与数据结构Python实现
快速排序参考:快速排序partition过程常见的两种写法+快速排序非递归实现def partition(arr, low, high): pivot = arr[low] #选第一个元素作为枢纽元 while low < high: while low < high and arr[high] >= pivot: high-...
2020-03-15 16:35:12
758
原创 numpy.triu()和numpy.tril()
triu():返回上三角(Upper triangle)。用k 指定对角线,主对角线为k=0,右上的对角线用k>0,左下的对角线用k<0,返回包括该对角线的上三角。tril():返回下三角(Lower triangle)。用k 指定对角线,主对角线为k=0,右上的对角线用k>0,左下的对角线用k<0,返回包括该对角线的下三角。In [1]: import numpy ...
2020-03-13 19:58:29
1073
原创 Seq2Seq中的Exposure Bias现象的原因以及解决办法
学习资料:[1] 李宏毅视频 59:36 开始[2] Seq2Seq中Exposure Bias现象的浅析与对策[3] Bridging the Gap between Training and Inferencefor Neural Machine Translation(2019ACL)Seq2Seq模型会遇到常说的Exposure Bias现象。原因:在训练阶段和预测阶段会遇到m...
2020-03-12 21:00:17
1414
原创 Bi-LSTM+CRF理解
学习资料:[1] 基于BiLSTM-CRF模型的序列标注(Tensorflow)[2] 最通俗易懂的BiLSTM-CRF模型中的CRF层介绍[3] CRF Layer on the Top of BiLSTM - 5 \quad 资料[2]的原系列文章的一篇训练阶段资料 [1] 对BiLSTM的那部分解释比较清楚,但是讲到CRF层出错了。就像资料 [2,3] 所说,我们需要计算的是的真...
2020-03-12 17:28:43
3703
原创 hierarchical softmax对生僻词很不友好?扯淡!
[1] https://code.google.com/archive/p/word2vec/[2] Word2Vec原始论文[3] Why is hierarchical softmax better for infrequent words, while negative sampling is better for frequent words?[4] NLP中的Embedding方...
2020-03-12 11:21:31
514
原创 softmax数值稳定性问题以及CrossEntropyWithLogits的由来
softmax自身导致的数值问题对于 x=[x1,x2,⋯ ,xn]x=[x_1,x_2,\cdots,x_n]x=[x1,x2,⋯,xn],softmax公式:softmax(x)=[a1,a2,⋯ ,an],ai=exi∑j=1nexjsoftmax(x)=[a_1,a_2,\cdots,a_n], \quad a_i=\frac{e^{x_i}}{\sum_{j=1}^{n}e^{...
2020-03-11 20:40:49
1163
原创 深度学习优化器Optimizer公式简记
推荐学习资料:[1] 从 SGD 到 Adam —— 深度学习优化算法概览(一)[2] 深度学习——优化器算法Optimizer详解[3] 一个框架看懂优化算法之异同 SGD/AdaGrad/Adam这里仅记录公式,方便对比记忆,而不解释由来,其他细节可以看上面说的资料。设:参数向量为 θ\thetaθ学习率为 η\etaη用于数值稳定的接近0的常数 ϵ\epsilonϵ用于计...
2020-03-11 13:22:37
1459
原创 HMM与CRF笔记
本文为HMM与CRF学习笔记,方便日后可回顾完此文即可在面试中回答诸如“简单介绍下CRF”,“HMM是如何训练的”等问题.隐马尔可夫模型-HMM模型定义HMM的图结构如下:Y={y1,y2,...,yT}Y=\{y_1,y_2,...,y_T\}Y={y1,y2,...,yT}是长度为TTT的状态序列,X={x1,x2,...,xT}X=\{x_1,x_2,...,x_T\}X={...
2020-03-08 12:12:11
1234
1
原创 LeetCode动态规划题目总结(持续更新中)
Sell Stock121. Best Time to Buy and Sell Stock题目:https://leetcode.com/problems/best-time-to-buy-and-sell-stock/思路:卖出能得到最高profit是在之前的几天中最低价的那天买入,...
2020-03-04 23:09:45
688
原创 手推逻辑斯蒂回归——以向量形式
线性二分类模型是f(x)=θTx(1)f(\boldsymbol x)=\boldsymbol \theta^T\boldsymbol x \tag1f(x)=θTx(1)为了解决非线性二分类问题,LR的决策函数对线性二分类模型套了一层sigmoid函数,得到h(x)=sigmoid(f(x))=11+e−θTx(2)h(\boldsymbol x)=sigmoid(f(\boldsymbo...
2020-03-02 15:28:21
265
原创 使用class weight和sample weight处理不平衡问题
class weight:对训练集里的每个类别加一个权重。如果该类别的样本数多,那么它的权重就低,反之则权重就高.sample weight:对每个样本加权重,思路和类别权重类似,即样本数多的类别样本权重低,反之样本权重高[1]^{[1]}[1]。PS:sklearn中绝大多数分类算法都有class weight和 sample weight可以使用。PytorchTensorf...
2020-03-01 21:25:40
19219
4
原创 正则项的原理、梯度公式、L1正则化和L2正则化的区别、应用场景
先对“L1正则化和L2正则化的区别、应用场景”给出结论,具体见后面的原理解释:L1正则化会产生更稀疏的解,因此基于L1正则化的学习方法相当于嵌入式的特征选择方法.L2正则化计算更加方便,只需要计算向量内积,L1范数的计算效率特别是遇到非稀疏向量时非常低实际使用时,L2正则化通常都比L1正则化要好,所以应优先选择L2正则化.PS:为方便书写,以下的向量w\boldsymbol ww省略...
2020-02-29 13:42:45
5162
原创 函数等值线与Hessian矩阵的关系
参考:https://www.zhihu.com/question/24623031以及花书4.3节《基于梯度的优化方法》当我们的函数具有多维输入时,二阶导数也有很多。我们可以将这些导数合并成一个矩阵,称为Hessian矩阵。对于函数f:Rm→Rnf: \Bbb R^m \rightarrow \Bbb R^nf:Rm→Rn,Hessian矩阵H\boldsymbol HH定义为:Hi,j=...
2020-02-29 12:00:50
1051
1
JTM-supplementary-files.zip
2021-04-11
广工高性能计算期末论文-翻译论文-基于GPU的密度峰值并行聚类算法
2018-06-27
广工操作系统课程设计(文档+代码+可执行文件)
2018-01-20
机器学习与深度学习相关视频课程
2018-01-20
Python for Data Analysis, 2nd Edition 利用Python进行数据分析 第二版
2017-12-11
广工软件代码开发技术课程设计《代码之美》课设
2017-11-12
广工数据挖掘2012-2016期末试卷+复习资料+《数据挖掘原理与实践》课后答案
2017-11-12
All Of Statistics 统计学完全教程 中英文版(中文版带书签)
2017-10-18
广工离散数学anyview答案(16届最新完整版)
2017-06-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人