- 博客(121)
- 资源 (8)
- 收藏
- 关注
原创 AB实验总结
互联网有线上系统,可做严格的AB实验。传统行业很多是不能做AB实验的。匹配侧是采用严格的AB实验来进行模型迭代,而精细化定价是不能通过AB实验来评估模型好坏,经历过合成控制法、双重差分法,目前采用双重差分法来进行效果评估。本次只讨论AB实验,其他的非AB实验方法不做详细描述,大家可初步参考之前吴百威整理的文档。《双边市场下的实验设计》。
2023-09-21 21:30:01
1122
原创 十大排序算法
https://www.yuque.com/docs/share/589e9af3-1b66-496f-a113-2c798b7f6a5b?# 《排序算法》
2022-10-24 15:15:49
224
原创 mac conda安装
首先激活这个虚拟环境conda activate my_station,之后执行conda env export命令即可看到环境的相关配置。这里可以重定向输出流,例如conda env export > my_station_config.yml即可在当前目录下创建一个名叫my_station_config.yml的文件。当他人获得这个文件之后,执行conda env create -f my_station_config.yml就可以得到一模一样的环境了。星号表示当前所在的环境。例如现在要与他人分享。
2022-10-11 15:51:38
6782
原创 MACR因果推荐Model-Agnostic Counterfactual Reasoning for Eliminating Popularity Bias in RS
因果关系的角度来探讨推荐系统中的流行度偏差问题。该文章指出,流行度偏差存在于因果图中物品节点对排名分数的直接影响之中,也就是说物品的内在属性是错误地赋予某些物品过高排名分数的原因。文章认为为了纠正这种偏差,有必要考虑一个反事实的问题,即如果推荐模型只输入物品相关信息,那么它的排名分数将是多少。为此,该论文用因果图来描述推荐过程中的重要因果关系,在模型训练过程中,论文采行多任务学习的方式,建模每一项因果关系对于推荐得分的贡献,并在模型测试过程中采用反事实推理的方法来消除流行度对于推荐的影响。
2022-09-16 21:31:20
1774
原创 多目标loss优化
loss 加权_如何解决多任务模型中loss不能同步收敛的问题?_ABEL苏的博客-优快云博客前言在训练多任务模型时,由于多个任务之间存在着数据分布、正负样本比例,损失尺度等的问题,会导致模型训练过程中存在某些任务loss收敛很快,但是另外一些任务的loss收敛很慢甚至停滞,最终导致那些收敛停滞的任务无法共享输入层的特征而导致训练失败,那么,如何避免这个问题的产生呢?本文将介绍一篇文章《Multi-Task Learning Using Uncertainty to Weigh Losse........
2022-08-29 15:51:41
1550
原创 python matplotlib 画图
# -*- coding: utf-8 -*-import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import rcimport matplotlib.path as mpathfig = plt.figure()ax = fig.add_subplot(221, aspect='auto')#2*2的画布,放在第一个位置ax.grid(True) # 隐藏网格ax.grid(False)rc('mat...
2021-12-09 16:23:43
1790
原创 overleaf使用指南 IEEE Access
笔记|Overleaf(三)终章我又来了https://mp.weixin.qq.com/s/LH0sqCIskOsd6lPM7SCl4A目录一、导言二、稿件准备指南A.缩略语和首字母缩略词B.其他建议C.方程式D.具体建议三、单位四、 一些常见错误五、 图形准备和提交指南六、结论附录致谢A.参考资料B.脚注附录A提交论文供审查A.最后阶段B.使用SCHOLARONE®进行审查阶段C.最后阶段使用SCHOLARONE手稿D.
2021-11-24 19:34:50
10184
原创 深入理解推荐系统:推荐系统中的attention机制
什么是attention机制、在推荐模型中的应用(会介绍相关模型,AFM/DIN/DIEN/DST)和参考文献什么是attention机制Attention函数的本质可以被描述为一个查询(query)到一系列(键key-值value)对的映射,在计算attention时主要分为三步第一步是将query和每个key进行相似度计算得到权重,常用的相似度函数有点积,拼接,感知机等;第二步一般是使用一个softmax函数对这些权重进行归一化;第三步将权重和相应的键值value进行加...
2021-11-11 15:17:48
2041
原创 tensorflow shape,reshape
图解TensorFlow中Tensor的shape概念与tf op: tf.reshape_田海立@优快云-优快云博客《图解NCHW与NHWC数据格式》中从逻辑表达和物理存储角度用图的方式讲述了NHWC与NCHW两种数据格式,数据shape是可以改变的,本文介绍TensorFlow里Tensor的Shape概念,并用图示和程序阐述了reshape运算。https://blog.youkuaiyun.com/thl789/article/det...
2021-11-08 19:27:56
472
原创 tf.lookup: 在tf内部做string2id的映射
之前在写tf模型的时候,对于category类型的特征,经常是预处理成id,然后才输入到模型中去,category->id的映射通常是独立与tf代码的。tf.lookup模块中提供了使用tensorflow原生api将category特征映射为id的方法,本文将介绍这些方法。tf.lookup模块中有两类方法:Initializer:负责构建 category -> id 映射表 tf.lookup.KeyValueTensorInitializer: 通过显式指定 category-
2021-11-06 21:20:58
769
转载 MIMN用户序列建模
论文下载地址:https://arxiv.org/abs/1905.09248代码地址:https://github.com/UIC-Paper/MIMN/tree/master/script1、背景在CTR预估中,用户历史行为信息是很重要的一类信息,如何利用用户的历史行为信息呢?大致可以分为以下几类方法:1)pooling-base方法:将用户行为序列中的单个行为作为单独的信号,并通过sum/max/mean pooling等方式来进行聚合,作为用户的兴趣表示。除此之外,DIN通过atten
2021-09-28 21:17:37
757
原创 SIM(Search-based user interest modeling)
模型结构上图左侧是第一个阶段,即初步筛选。这里分为两个策略,第一个是soft search, 第二个是hard search。soft search是用候选item的embedding去和用户行为序列中的每一项的embedding去做点积,然后去top-K。这里可以使用的是一些高效方法是ALSH和MIPS的,都是已有的方法,咱们在基于Delaunay图的快速最大内积搜索算法中介绍过MIPS的方法。hard search是利用item的一些元信息,比如商品类别,在用户的行为序列中进行选择,这个方法是.
2021-09-28 16:19:50
1346
原创 feature_column相关接口
在TensorFlow中,特征列(Feature column)是原始数据和 Estimator 之间的接口,它告诉Estimator如何使用数据。原始数据集包含各种各样的特征,有的特征是数值,比如年龄,长度、速度;有的特征是文字,比如,地址、Email内容、数据库查询语句等神经网络接受的输入,只能是数值,而且是整理好的数值所以,原始数据 和 神经网络输入需求之间需要一个桥梁,这个桥梁就是特征列(Feature column) 使用特征列可以将类别特征转换为one-hot编码特征,将.
2021-09-18 21:24:23
322
原创 dropout原理解析
为何要做缩放训练深度神经网络的时候,总是会遇到两大缺点:(1) 容易过拟合(2) 费时Dropout可以比较有效的缓解过拟合的发生,在一定程度上达到正则化的效果假设丢弃概率是P,有两种实现方式,不管实在测试阶段还是训练阶段对每层的输出做缩放,都是为了保持伯努利分布的期望np。测试阶段没法dropout是全量神经元参与运算,不然预测结果具有随机性。为了保持每层输出和训练时一样的期望,所以需要缩放。形象化理解10个人拉一个10吨车,第一次(训练时),只有5个人出力(有p=0.5的人被
2021-09-14 21:36:52
1023
原创 岛屿相关题目(深度优先遍历dfs)
牛逼题解力扣https://leetcode-cn.com/problems/number-of-islands/solution/dao-yu-lei-wen-ti-de-tong-yong-jie-fa-dfs-bian-li-/200. 岛屿数量class Solution { private int res; public int numIslands(char[][] grid) { //如果是海洋,就是0;如果是陆地就是1;如果是已经遍历过的陆地..
2021-09-13 13:51:48
138
原创 leetcode编辑距离
https://leetcode-cn.com/problems/edit-distance/讲一下我自己对状态转移方程的理解,麻烦大家看看我说得对不对有没有道理:(一)、当word1[i]==word2[j]时,由于遍历到了i和j,说明word1的0~i-1和word2的0~j-1的匹配结果已经生成, 由于当前两个字符相同,因此无需做任何操作,dp[i][j]=dp[i-1][j-1](二)、当word1[i]!=word2[j]时,可以进行的操作有3个: ① 替.
2021-08-10 14:31:00
114
原创 深度强化学习
深度强化学习的骨架来自强化学习,而灵魂则是由深度学习赋予。所以,要讲明白深度强化学习,首先来看下强化学习。强化学习和有监督学习、无监督学习都不太一样,有一个智能体(Agent)的概念。什么是智能体呢?大家应该都玩过任天堂的一款经典FC横版通关游戏——马里奥兄弟。在游戏中,玩家通过控制马里奥顶蘑菇、踩乌龟来取得胜利,如果想用强化学习来通关,那这里的智能体指的就是马里奥。智能体是强化学习的第一个重要概念,是主角,但强化学习作为一台好戏,自然不能光有主角,还得有舞台,这就是强化学习的第二个重要概念,环境(
2021-08-03 17:39:47
13939
原创 二叉树层序遍历(宽度优先遍历bfs--队列)
https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-ii-lcof/solution/mian-shi-ti-32-ii-cong-shang-dao-xia-da-yin-er-c-5/public List<List<Integer>> levelOrder(TreeNode root) { //队列,遍历上一层的时候,顺便吧下一层元素加入队列 Queue
2021-07-30 10:41:47
186
原创 export_savedmodel
TensorFlow Estimator 模型从训练到部署https://mp.weixin.qq.com/s/ZNs0eEOCSR-0HOd5lM3ekg
2021-07-27 15:57:04
534
原创 回溯算法模版
https://leetcode-cn.com/problems/permutations/solution/pei-yang-chou-xiang-neng-li-de-yi-dao-ti-1731/46. 全排列List<List<Integer>> res = new LinkedList<>(); public List<List<Integer>> permute(int[] nums) { Linke
2021-06-28 16:48:07
98
原创 优先队列 小顶堆,大顶堆
堆定义定义:1、堆是一颗完全二叉树;2、堆中的某个结点的值总是大于等于(最大堆)或小于等于(最小堆)其孩子结点的值。3、堆中每个结点的子树都是堆树。
2021-06-21 15:02:31
1980
原创 位运算性质
268. 丢失的数字给定一个包含 [0, n]中n个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。进阶:你能否实现线性时间复杂度、仅使用额外常数空间的算法解决此问题?示例 1:输入:nums = [3,0,1]输出:2解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。class Solution { public int missingNumber(i...
2021-06-15 20:49:58
198
原创 最长回文子串
动态规划避免重复计算,讲计算过的存下来,空间换时间 //动态规划 public static String longstPalindrome(String s) { int strLen = s.length(); int maxLen = 0; int maxStart = 0; int maxEnd = 0; //dp[i,j] 从i到j的最长回文子串为true,那么i-1到j+1时,如i-1等于j-1,则也.
2021-05-25 11:33:40
81
原创 BN(batchnorm)训练和在线预测
https://blog.youkuaiyun.com/xys430381_1/article/details/85141702
2021-05-11 17:42:28
668
原创 node2vec
node2vec的实战讲解(不讲论文和公式),只写例子https://zhuanlan.zhihu.com/p/323134817代码https://link.zhihu.com/?target=https%3A//github.com/aditya-grover/node2vec还没跑通
2021-05-10 21:14:22
331
原创 DIEN DIN
一 淘宝数据描述https://tianchi.aliyun.com/dataset/dataDetail?dataId=56Ali_Display_Ad_Click是阿里巴巴提供的一个淘宝展示广告点击率预估数据集。二 算法原理从DIN到DIEN看阿里CTR算法的进化脉络https://zhuanlan.zhihu.com/p/78365283深度兴趣网络DIN-DIEN-DSINhttps://www.zhihu.com/search?type=content&q=D.
2021-05-10 15:28:12
924
原创 gdbt,xgboost,lightgbm区别与联系
gbdt 随着迭代次数(树个数的增加)效果刚开始比较好,后面就会过拟合变差;但是随机森林就不会存着这个问题,基本树个数越多越好 gbdt 回归和分类的实现是一样的,只不过损失函数不同,回归用的是MSE,分类用的交叉熵,都是回归树,因为拟合的负梯度,所以必须是CART回归树,寻找最优变量的最佳分割点(每一个值作为分裂点,计算左子树和右子树收益,择优录取) ...
2021-05-08 15:09:32
521
原创 xgboost
通俗理解kaggle比赛大杀器xgboost(原理讲解)https://blog.youkuaiyun.com/v_july_v/article/details/81410574xgboost原理分析以及实践(手动建树过程)https://blog.youkuaiyun.com/qq_22238533/article/details/79477547xgboost如何处理缺失值(自动处理缺失值,而GBDT...
2021-05-08 14:22:28
313
原创 causalml 因果推断
论文地址https://arxiv.org/pdf/2002.11631.pdf摘要:在本文中,来自 Uber 的研究者推出了针对因果推理和机器学习算法的 Python 实现。近年来,结合因果推理和机器学习的算法早已成为热门话题。CasualML 包通过该领域一系列方法的 Python 实现,力图缩小方法论理论研究与实际应用之间的差距。本文着重介绍了 CasualML 包的核心概念、应用范围和应用实例。此外,研究者计划将来添加更多 SOTA 增益模型,并探索更多融合机器学习与因果推理的建模方法以
2021-04-13 21:31:06
1300
原创 快速排序算法
目录快排数组中的第 K 个最大元素二叉堆解法快排快排亲兄弟:快速选择算法详解(这个比较好,更容易懂)https://mp.weixin.qq.com/s/TRO3FOKT90Mpvn3hQWVBAQ快排递归与非递归--Java实现https://mp.weixin.qq.com/s/ChM5AMCpu43MIydaXMvdVw快速选择算法比较巧妙,时间复杂度更低,是快速排序的简化版,一定要熟悉思路。我们先从快速排序讲起。快速排序的逻辑是,若要对nums[lo.
2021-04-04 14:57:33
227
原创 batchnorm(特征数据纵向标准化,全连接使用) LayerNorm(特征数据横向的规范化,nlp,rnn使用) WeightNorm(对参数的规范化) 余弦Norm(对w*x的规范化)
内部协方差漂移深度神经网络很难训练。因为深度神经网络中网络层数太多,在训练过程中,模型参数的更新会引起靠近输出侧各层的输出结果发生剧烈的变化。Google 将这一现象总结为Internal Covariate Shift(ICS)内部协方差漂移,具体而言,有如下表现: 靠近输出侧的各层需要不断去重新适应参数更新,学习速度慢。 每层的更新都会影响到其他层,为了训好模型,我们需要非常谨慎地去设定学习率、初始化权重、以及尽可能细致的参数更新策略。 从上图可以看到,靠近输入侧的层稍有更新
2021-03-31 20:39:46
1487
原创 分类问题可以使用MSE(均方误差)作为损失函数吗
一、. 从损失函数公式本身来说1. 从损失函数公式的物理含义来说MSE衡量的是预测值和目标值的欧式距离。而交叉熵是一个信息论的概念,交叉熵能够衡量同一个随机变量中的两个不同概率分布的差异程度,在机器学习中就表示为真实概率分布与预测概率分布之间的差异。交叉熵的值越小,模型预测效果就越好。所以交叉熵本质上是概率问题,表征真实概率分布与预测概率分布差异,和几何上的欧氏距离无关,在回归中才有欧氏距离的说法,而在分类问题中label的值大小在欧氏空间中是没有意义的。所以分类问题不能用mse作为损失函数
2021-03-31 17:40:11
9989
原创 二分查找、部分有序二分查找
二分查找的执行过程如下1.从已经排好序的数组或区间中,取出中间位置的元素,将其与我们的目标值进行比较,判断是否相等,如果相等则返回。2.如果 nums[mid] 和 target 不相等,则对 nums[mid] 和 target 值进行比较大小,通过比较结果决定是从 mid的左半部分还是右半部分继续搜索。如果 target > nums[mid] 则右半区间继续进行搜索,即 left = mid + 1; 若target < nums[mid] 则在左半区间继续进行搜索,即
2021-03-30 12:01:56
448
原创 标签传播算法(半监督图算法)
graphx 实现参数调优很简单。LPA 使用最大迭代参数运行,并且使用默认值 5 就可以得到一些好的结果。Raghavan 和她的合作者在几个有标签的网络上测试了 LPA。他们发现至少 95% 的节点在 5 次迭代中被正确分类。 运行时间内近线性。LPA 的每次迭代都是 O (m),边的数量是线性的。与 以前的一些社区检测解决方案中的O (n log n) 或 O (m+n) 相比,...
2021-03-13 16:12:37
2430
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人