- 博客(105)
- 资源 (2)
- 收藏
- 关注
原创 deepFm的keras实现
参考知乎用keras实现deepFMDeepfm原理和源码 一篇就好TF 2.0 Keras 实现 DeepFMcsdn用Keras实现一个DeepFMtensorflow2实现DeepFM(基于DataFrame格式训练数据)
2020-12-20 21:40:31
694
原创 tf.nn.embedding_lookup()输入输出
self.embeddings =tf.nn.embedding_lookup(self.weights[“feature_embeddings”],self.feat_index) # None * F * K输入1:张量weights[“feature_embeddings”]维度为F*K输入2:张量feat_index维度为None * F输出: tf.nn.embedding_lookup()的维度为None * F * K参考ChenglongChen/tensorflow-De
2020-12-20 12:24:43
456
1
原创 单调栈问题总结
参考暴力解法、栈(单调栈、哨兵技巧)-题目题解42. 接雨水(困难)暴力解法、优化、双指针、单调栈739. 每日温度(中等)暴力解法 + 单调栈496. 下一个更大元素 I(简单)暴力解法、单调栈316. 去除重复字母(困难)栈 + 哨兵技巧(Java、C++、Python)901. 股票价格跨度(中等)「力扣」第 901 题:股票价格跨度(单调栈)402. 移掉K位数字581. 最短无序连续子数组...
2020-12-17 11:57:24
229
原创 深度学习如何计算特征重要度?
参考特征重要度暂未找到好的参考文献。测试时,依次将feat_i (i=1,…,n)置空,计算测试指标的变化ΔZ_i。可以用ΔZ_i衡量特征的重要度,ΔZ_i越大特征重要度越高。
2020-12-15 16:31:11
3357
1
原创 二叉树的前、中、后序遍历统一写法
参考帮你对二叉树不再迷茫,彻底吃透前中后序递归法(递归三部曲)和迭代法(不统一写法与统一写法)二叉树的前、中、后序遍历(递归与非递归)算法通过插入标志符,来标记需要输出哪个元素。确定输出顺序。首次遍历结点A时,将A和其左右子结点按照遍历顺序插入到栈中,A结点后需要插入标志符。输出结点元素。如果当前栈顶元素是标志符,说明A结点该输出了,输出A结点即可。参考博文1中,用null作为标志符,这在要求输出空结点时不可行,标志符和空结点会发生冲突。要解决冲突,只需自定义标志即可。前序遍历pu
2020-12-15 12:59:35
296
原创 java中LinkedList.push的陷阱
结论使用LinkedList时,尽量使用addLast和addFirst。不要使用push,会和预期不一致。如果要使用push,建议使用Stack。测试先看下面一段LinkedList.push代码, LinkedList<Integer> deque = new LinkedList<>(); deque.push(1); deque.push(2); System.out.println("LinkedList push:
2020-12-04 22:27:22
1091
2
原创 transformer学习
代码注意力机制中的mask是怎么回事?将注意力(QK)ij中不存在的项去掉。例如句子最大长度为10,其中一个句子的长度为5,那么j>5的项就不用算了。在机器翻译中,翻译到第i个词时,算自注意力时看不到j>i的K,因此这些j>i的项应该mask掉,注意力矩阵为下三角阵。y_ = label_smoothing(tf.one_hot(y, depth=self.hp.vocab_size))的作用?加入后效果有少量提升。lr = noam_scheme(self.hp.lr, glob
2020-11-23 11:40:16
210
原创 动态规划总结
动态规划套路详解:非常好的参考文献动态规划解决问题本质还是在枚举,状态转移方程就具体的枚举方法。动态规划相对暴力解法的优势,在于动态规划用dp table存储了中间子问题的结果,从而减少了大量重复计算,优化了时间复杂度。...
2020-11-09 21:58:42
285
原创 背包问题总结
「力扣」上的 0-1 背包问题:第 416 题:分割等和子集(中等)第 474 题:一和零(中等)第 494 题:目标和(中等)第 879 题:盈利计划(困难)
2020-11-08 21:31:24
207
原创 秒杀功能优化
秒杀功能优化目标应该时尽可能覆盖更多的用户数,让更多得用户感受到自己确实能秒杀到。不能让用户感觉,自己网不行所以抢不到,这是算法设计的缺陷。
2020-11-08 00:15:41
99
原创 神经网络相对树模型等有何优势?
特征自动抽取。减少手动特征构建工作量,减少对专家知识的依赖。例如bert可以学到文本的语义和语法;CNN可以自动学习图像特征。离散和连续特征都能处理。可以加入很多id类特征、类别特征等。对离散特征做embedding后,可以通过数据学到离散特征的语义向量,能表示离散特征的相对关系等,例如女装和男装的距离要小于女装和自行车的距离。而树模型对离散特征,基本只能按one-hot处理,无法表示离散特征的相对关系。...
2020-11-03 11:40:06
551
原创 排序算法
归并排序Java实现归并排序-有图有真相白话经典算法系列之五 归并排序的实现(C++)。实现时,提前申请好临时数据效率高,mergesort(int a[], int first, int last, int temp[])
2020-10-31 17:10:54
98
原创 java优先队列
默认顺序时,队首元素是最小值。对整数,如{1,2},队首元素是1。对字符串,如{“A”, “B”},队首元素是"A"。字典序中,数字在字面前面,大写在小写前面,a在b前面。这时按照字符在ASCII码中的顺序,详见最全的ASCII码对照表。测试代码System.out.println("1".compareTo("A"));//-16,数字在字面前面System.out.println("A".compareTo("a")); //-32, 大写在小写前面System.out.print.
2020-10-30 22:13:54
272
原创 java的坑:判断String相等要用equals,不能用==
下面代码测试了String的equals()和==。从实际输出看到,equals()始终能给出正确结果,而==有时会给出错误结果。 public static void test1() { String s; s = ")"; System.out.println("s=" + s); System.out.println(s == ")"); System.out.println(s.equals(")"));
2020-10-30 16:44:25
826
原创 新用户的点击率如何优化?
新用户和行为少的用户,在很多情况下可以用相同的策略来优化点击率。新用户的缺点是用户行为数据少,优点是新用户往往积极性很高。点击率优化方法:处理行为数据少的问题。可参考Airbnb的方式,将user _id映射到group_id,然后用group_id的行为来近似该用户的行为。分组可以参考用户的各种静态特征来分组。利用好新用户积极性高的优势。向B端展示新用户时,对新用户进行提权,B端能获得高的互动性,新用户也能感受到自己被需要。相关性问题可以设置阈值,相关性达标后才提权。...
2020-10-29 11:42:50
533
原创 算法:和大于零的最长子串
问题:有数组arr[], 求和大于0的最长子串。解法1:定义s[i]=0到i-1的和,则问题转化为s[j]-s[i]>0时,j-i最大值,其中0<=i<j<=n。遍历i、j,时间复杂度O(N^2).解法2:如何将时间复杂度降为O(N)?...
2020-10-24 22:36:52
1585
原创 java:Set可以插入重复元素?
public static void main(String[] args) { Set<List<Integer>> res1 = new HashSet<>(); res1.add(new ArrayList<>()); res1.add(new ArrayList<>(Arrays.asList(1))); Set<List<Integer>> ...
2020-10-23 19:12:01
4977
原创 CNN和RNN学到了什么?
CNN学到了什么?一维卷积可以学到波形,例如心电图上的各种尖峰,可用来识别各种心电图病症。二维卷积可以学到一个形状,例如三角形、椭圆等,组合起来就能识别人脸等。RNN学到了什么?...
2020-10-22 21:04:24
260
原创 leetcode刷题记录
秋叶集问题。 算法提前已经想好,实现的时候一开始没有处理好边界条件,需要让i,j满足0<i<j<n-1, 然后再求g=f[i]-f[j]+n-r[n-1]的最小值。
2020-10-18 20:43:33
103
原创 tf.variable_scope()和tf.name_scope()的正确用法
tf.variable_scope()tf官网对tf.variable_scope()的说明。tf.variable_scope()和tf.get_variable()是配合使用的,主要用于变量共享。当reuse=False或None,重复创建变量会报错。当reuse=True而变量不存在,也会报错。reuse参数相互之间是怎么传递的?没有设置reuse参数时,会继承上层的reuse参数值。scope.reuse_variables()。在同一个scope中,可以通过这个语句重用定义过的变量。
2020-10-18 11:33:13
2040
原创 推荐系统评价指标
在线指标点击率。例如对电商平台,浏览率、购买率等。相关性标注。对推荐结果进行人工标注,观察推荐内容的相关性。多样性。离线指标PRAUCMAPNDCG
2020-10-16 09:11:32
408
原创 损失函数和最大似然
从数据获取模型,需要有衡量标准即损失函数。首先需要知道条件概率P(y|x),让概率最大就能求得模型。概率P取负对数后,就是损失函数。回归问题。观测值为高斯分布时,得到平方差损失MSE。观测值为laplace分布式,得到平均绝对误差MAE。分类问题。由多分类的观测概率,可以得到交叉熵损失。...
2020-10-15 13:51:39
777
1
原创 dropout方法
dropout在训练和预测时的差异。dropout代码实现。dropout为什么可以防止过拟合?相当于同时训练了多个神经网络,最终预测结果是多个网络bagging的结果。那模型bagging为什么可以防止过拟合?如果bagging的n个模型相互独立,那么预测平均值方差=单个方差/n。因此bagging方法确实可以减少预测方差,减少过拟合。...
2020-10-15 11:09:18
484
DMT_2020.pdf
2021-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅