推荐算法
文章平均质量分 68
青松愉快
动漫什么的最好了
展开
-
weidl x DeepRec:热门微博推荐框架性能提升实战
例如在不清楚后续内存请求的情况下,由于前期的多次内存分配和释放,会导致后来的大内存请求由于内存碎片的问题而需要一块新的内存或者OOM。自适应内存分配器在训练过程对于前面的K轮进行一些统计,通过Allocator模块,对内存的分配,包括分配的时间点、分配的大小,统计好分配的时间点和大小后,在K轮结束之后会使用启发式的一些算法规划出一个较优的tensor cache planner,planner会创建allocator,并且预分配一些tensor内存块,后续的分配会优先通过此allocator进行分配。转载 2023-01-31 16:31:51 · 241 阅读 · 0 评论 -
Swing算法介绍
1.Swing算法介绍Swing算法原理比较简单,是阿里早期使用到的一种召回算法,在阿里多个业务被验证过非常有效的一种召回方式,它认为 user-item-user 的结构比 itemCF 的单边结构更稳定。为了衡量物品ii和jj的相似性,考察都购买了物品ii和jj的用户uu和vv, 如果这两个用户共同购买的物品越少,则物品ii和jj的相似性越高。极端情况下,两个用户都购买了某个物品,且两个用户所有购买的物品中,共同购买的物品只有这两个,说明这两个用户兴趣差异非常大,然而却同时购买了这两个物品,转载 2022-04-20 16:51:03 · 1396 阅读 · 0 评论 -
Focal Loss
Focal Loss摘要Focal Loss目标是解决样本类别不平衡以及样本分类难度不平衡等问题,如目标检测中大量简单的background,很少量较难的foreground样本。Focal Loss通过修改交叉熵函数,通过增加类别权重𝛼α和 样本难度权重调因子(modulating factor)(1−𝑝𝑡)𝛾(1−pt)γ,来减缓上述问题,提升模型精确。一、技术背景我们知道object detection的算法主要可以分为两大类:two-stage detector和one-stage.转载 2022-03-11 17:15:33 · 766 阅读 · 0 评论 -
Focal Loss理解
1. 总述Focal loss主要是为了解决one-stage目标检测中正负样本比例严重失衡的问题。该损失函数降低了大量简单负样本在训练中所占的权重,也可理解为一种困难样本挖掘。2. 损失函数形式Focal loss是在交叉熵损失函数基础上进行的修改,首先回顾二分类交叉上损失:是经过激活函数的输出,所以在0-1之间。可见普通的交叉熵对于正样本而言,输出概率越大损失越小。对于负样本而言,输出概率越小则损失越小。此时的损失函数在大量简单样本的迭代过程中比较缓慢且可能无法优化至最优。那转载 2022-03-11 16:41:29 · 4965 阅读 · 0 评论 -
PyTorch梯度裁剪避免训练loss nan的操作
近来在训练检测网络的时候会出现loss为nan的情况,需要中断重新训练,会很麻烦。因而选择使用PyTorch提供的梯度裁剪库来对模型训练过程中的梯度范围进行限制,修改之后,不再出现loss为nan的情况。PyTorch中采用torch.nn.utils.clip_grad_norm_来实现梯度裁剪,链接如下:torch.nn.utils.clip_grad — PyTorch 1.10 documentation训练代码使用示例如下: 1 2 3 4 5转载 2022-03-10 16:51:46 · 2208 阅读 · 0 评论 -
Spark ML LR 用 setWeightCol 解决数据不平衡
前言如题,记录在Spark ML LR中如何解决数据不平衡。参考:Dealing with unbalanced datasets in Spark MLlib1、数据不平衡指label == 1和label == 0 的数据比例的很多,如80%和20%,这样导致模型的结果的准确率也不平衡,不准确。2、setWeightCol 主要代码 1234567891011121314151617181920212223转载 2020-11-30 09:57:47 · 374 阅读 · 0 评论 -
跳出公式,看清全局,图神经网络(GCN)原理详解
https://cloud.tencent.com/developer/article/1513016转载 2020-09-21 17:45:55 · 279 阅读 · 0 评论 -
统计学三大相关系数之Pearson相关系数、Spearman相关系数
一、相关系数:相关系数:考察两个变量之间的相关程度。相关系数的取值范围是-1到1,绝对值越接近1,则说明两个变量之间的相关程度越大;绝对值越接近0,则说明两个变量之间的相关程度越小,具体见下图:二、Pearson相关系数: 1. 先给出公式推导: ①首先由Pearson相关系数的定义可知, ②这里,分子cov表示协方差,分母表示标准差(以两个变量为例): 这里分母位置为什么是n-1而不是n呢?是为了使我们得以用更小的样本更好的逼近总体,即达到“无偏..转载 2020-09-07 19:26:26 · 5136 阅读 · 0 评论 -
Embedding在腾讯应用宝的推荐实践
Embedding在腾讯应用宝的推荐实践Embedding 技术目前在工业界以及学术界中应用非常广泛,关于 Embedding 的探索和应用从未停歇。Embedding 的训练方法主要分成 DNN 的端到端的方法以及序列学习的非端到端的方法,其中最经典的 word2vec 以及由此衍生出 sentence2vec,doc2vec,item2vec 等都属于非端到端的学习方法;本文主要介绍 Embedding 技术的非端到端学习方法在应用宝推荐场景的应用实践。1.经典的 word2vec 模型转载 2020-08-26 17:13:06 · 489 阅读 · 0 评论 -
推荐系统遇上深度学习(六十一)-[阿里]使用Bert来进行序列推荐
本文介绍的论文题目是《BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer》论文下载地址为:https://arxiv.org/abs/1904.06690将Transformer运用到推荐系统中,前面也介绍过许多篇相关的论文了,如阿里的DSIN、BST等等,他们都使用Transformer的Encoder部分的网络结构作为模型中的一部分进行使用。同时,在自然语..转载 2020-07-31 16:36:19 · 1567 阅读 · 0 评论 -
tf.nn.softmax & tf.nn.reduce_sum & tf.nn.softmax_cross_entropy_with_logits
tf.nn.softmaxsoftmax是神经网络的最后一层将实数空间映射到概率空间的常用方法,公式如下:????????????????????????????(????)????=????????????(????????)∑????????????????(????????)softmax(x)i=exp(xi)∑jexp(xj)本文意于分析tensorflow中的tf.nn.softmax(),关于softmax的具体推导和相关知识点,参照其它文章。tensorflow的tf.nn.转载 2020-04-30 14:53:48 · 314 阅读 · 0 评论 -
如何取出 tf.layers.dense 定义的全连接层的weight和bias参数值
[原创] 如何取出 tf.layers.dense 定义的全连接层的weight和bias参数值TensorFlow版本:1.14.0Python版本:3.6.8在TensorFlow中,tf.layers.dense定义了一个全连接层,其实现的是(来自官方文档):This layer implements the operation: outputs = activation(...转载 2020-04-30 14:40:09 · 1343 阅读 · 0 评论 -
深入理解graphx中的pregel图计算引擎
深入理解graphx中的pregel图计算引擎一、graphx中的属性(1)顶点(vertex),顶点包含(id,顶点内容)两部分,其中顶点内容可以是对象或者元组形式对象形式:User("name", 12)元组形式:("name", 12)(2)边(edge),包含(srcid, dstid, 边属性),边属性目前使用过程中都是Int或者Double单值形式(3)三元...转载 2020-04-24 20:20:06 · 1030 阅读 · 0 评论 -
Spark连续特征转化成离散特征
Spark连续特征转化成离散特征当数据量很大的时候,分类任务通常使用【离散特征+LR】集成【连续特征+xgboost】,如果把连续特征加入到LR、决策树中,容易造成overfit。如果想用上连续型特征,使用集成学习集成多种算法是一种方法,但是一是过程复杂了一些,另外训练过程会非常耗时,在不损失很多特征信息的情况下,可以考虑将连续特征转换成离散特征加入到LR模型中。转换特征分成两种情况:...转载 2020-04-14 19:08:25 · 434 阅读 · 0 评论 -
转载记录
weighted—-LR的理解与推广:https://www.cnblogs.com/hellojamest/p/11871108.html向量内积外积:https://www.cnblogs.com/gxcdream/p/7597865.htmlauxiliary loss:https://stats.stackexchange.com/questions/304699/what-is-...原创 2019-11-29 16:47:02 · 95 阅读 · 0 评论 -
NLP 神经网络训练慎用 Adam 优化器
https://www.jianshu.com/p/48e71b72ca67NLP 神经网络训练慎用 Adam 优化器theoqian关注12019.02.10 16:01:45字数 499阅读 1,168AllenNLP 在 EMNLP 2018 的演讲 PPT 《Writing Code for NLP Research》中提到在 NLP 的神经网络中使用 sp...转载 2019-11-08 15:17:35 · 1463 阅读 · 0 评论 -
损失函数
https://www.csuldw.com/2016/03/26/2016-03-26-loss-function/原创 2019-11-01 14:55:37 · 310 阅读 · 0 评论 -
KNN算法理解
一、算法概述1、kNN算法又称为k近邻分类(k-nearest neighbor classification)算法。最简单平凡的分类器也许是那种死记硬背式的分类器,记住所有的训练数据,对于新的数据则直接和训练数据匹配,如果存在相同属性的训练数据,则直接用它的分类来作为新数据的分类。这种方式有一个明显的缺点,那就是很可能无法找到完全匹配的训练记录。kNN算法则是从训练集中找转载 2017-04-20 16:04:44 · 453 阅读 · 0 评论 -
bandit算法原理及Python实现
Bandit算法是在线学习的一种,一切通过数据收集而得到的概率预估任务,都能通过Bandit系列算法来进行在线优化。这里的“在线”,指的不是互联网意义上的线上,而是只算法模型参数根据观察数据不断演变。以多臂老虎机问题为例,首先我们假设每个臂是否产生收益,其背后有一个概率分布,产生收益的概率为p我们不断地试验,去估计出一个置信度较高的概率p的概率分布就能近似解决这个问题了。怎转载 2017-04-17 15:26:09 · 1284 阅读 · 0 评论 -
SimHash算法原理
刚到公司项目中用到了simhash,但没有详细的了解,后来被问到原理,结果就狗带了。。下面是自己查资料和自己的一些理解,不愧是google出品,比较符合google的风格,简单实用。先贴一张网上的图片:解释一下图片:这里feature可以指一篇文档分词后的某个词,即将文档中的某个词作为一个特征。weight是这个词的权重,这里可以是这个词在这个句子中出现的次数。这里的hash算转载 2017-04-17 15:44:33 · 352 阅读 · 0 评论 -
sigmoid和softmax总结
sigmoid函数(也叫逻辑斯谛函数): 引用wiki百科的定义: A logistic function or logistic curve is a common “S” shape (sigmoid curve). 其实逻辑斯谛函数也就是经常说的sigmoid函数,它的几何形状也就是一条sigmoid曲线。 logistic曲线如下:转载 2017-06-02 11:15:23 · 624 阅读 · 0 评论 -
TF-IDF与余弦相似性的应用(二):找出相似文章
今天,我们再来研究另一个相关的问题。有些时候,除了找到关键词,我们还希望找到与原文章相似的其他文章。比如,"Google新闻"在主新闻下方,还提供多条相似的新闻。为了找出相似的文章,需要用到"余弦相似性"(cosine similiarity)。下面,我举一个例子来说明,什么是"余弦相似性"。为了简单起见,我们先从句子着手。 句子A:我喜欢看电视,不喜欢看电影转载 2017-08-07 17:01:35 · 243 阅读 · 0 评论 -
TF-IDF与余弦相似性的应用(一):自动提取关键词
有一篇很长的文章,我要用计算机提取它的关键词(Automatic Keyphrase extraction),完全不加以人工干预,请问怎样才能正确做到?这个问题涉及到数据挖掘、文本处理、信息检索等很多计算机前沿领域,但是出乎意料的是,有一个非常简单的经典算法,可以给出令人相当满意的结果。它简单到都不需要高等数学,普通人只用10分钟就可以理解,这就是我今天想要介绍的TF-IDF算法。转载 2017-08-07 17:02:49 · 1882 阅读 · 0 评论 -
spark lda对参数进行调试
online 方法setMaxIter//对迭代次数进行循环for(iArray(5,10,20,40,60,120,200,500)){ val lda=new LDA() .setK(3) .setTopicConcentration(3) .setDocConcentration(3转载 2017-09-13 16:40:58 · 1179 阅读 · 0 评论 -
DNN论文分享 - Item2vec: Neural Item Embedding for Collaborative Filtering
DNN论文分享 - Item2vec: Neural Item Embedding for Collaborative Filtering清凇1 年前本篇文章在 ICML2016 Machine Learning for Music Discovery Workshop前置点评: 这篇文章比较朴素,创新性不高,基本是参照了google的word2vec方法,应用到推转载 2017-11-03 21:00:22 · 2498 阅读 · 0 评论 -
朴素贝叶斯分类
朴素贝叶斯分类1.1、摘要 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。本文作为分类算法的第一篇,将首先介绍分类问题,对分类问题进行一个正式的定义。然后,介绍贝叶斯分类算法的基础——贝叶斯定理。最后,通过实例讨论贝叶斯分类中最简单的一种:朴素贝叶斯分类。1.2、分类问题综述 对于分类问题,其实谁都不会陌生,转载 2017-11-30 10:35:48 · 347 阅读 · 0 评论 -
Parameter Server 详解
Parameter Server 详解本博客仅为作者记录笔记之用,不免有很多细节不对之处。还望各位看官能够见谅,欢迎批评指正。更多相关博客请猛戳:http://blog.csdn.net/cyh_24如需转载,请附上本文链接:http://blog.csdn.net/cyh_24/article/details/50545780MXNet 是李沐转载 2017-12-05 10:19:58 · 269 阅读 · 0 评论 -
美团推荐算法实践:机器学习重排序模型成亮点
摘要:本文介绍了美团网推荐系统的构建和优化过程中的一些做法,包括数据层、触发层、融合过滤层和排序层五个层次,采用了HBase、Hive、storm、Spark和机器学习等技术。两个优化亮点是将候选集进行融合与引入重排序模型。编者按:在用户意图明确时,我们通常用搜索引擎来解决互联网时代的信息过载问题,但当用户的意图不明确或者很难用清晰的语义表达,搜索引擎就无能为力。此时,借助推荐系统通过转载 2018-02-08 16:12:17 · 221 阅读 · 0 评论 -
Bandit算法
经常听身边的人说起使用推荐系统的感受,“某宝某东就是看什么给推什么”,使用者对推荐系统产生厌倦;也有听做推荐系统的同学抱怨推荐的冷启动问题,如何去尝试新用户的兴趣点,尝试到什么时候地步才算真正掌握了用户的兴趣,用户的兴趣发生改变如何灵活的调整推荐策略。这些,都与今天聊到的E&E问题有关,而Bandit算法是解决E&E问题的一种思路。本文首先描述E&E问题的及策略框架,然后介...转载 2018-03-09 10:35:26 · 1634 阅读 · 0 评论 -
基于用户投票的排名算法(五):威尔逊区间
http://www.ruanyifeng.com/blog/algorithm/迄今为止,这个系列都在讨论,如何给出"某个时段"的排名,比如"过去24小时最热门的文章"。但是,很多场合需要的是"所有时段"的排名,比如"最受用户好评的产品"。这时,时间因素就不需要考虑了。这个系列的最后两篇,就研究不考虑时间因素的情况下,如何给出排名。一种常见的错误算法是: 得分 = 赞成票 - 反对票假定有两个...转载 2018-04-09 15:27:11 · 363 阅读 · 0 评论 -
主题模型-LDA浅析
上个月参加了在北京举办SIGKDD国际会议,在个性化推荐、社交网络、广告预测等各个领域的workshop上都提到LDA模型,感觉这个模型的应用挺广泛的,会后抽时间了解了一下LDA,做一下总结:(一)LDA作用 传统判断两个文档相似性的方法是通过查看两个文档共同出现的单词的多少,如TF-IDF等,这种方法没有考虑到文字背后的语义关联,可能在两个文档共同出现的单词很少甚至没...转载 2018-05-17 20:32:33 · 267 阅读 · 0 评论 -
EM算法(Expectation Maximization Algorithm)详解
EM算法(Expectation Maximization Algorithm)详解主要内容 EM算法简介预备知识 极大似然估计Jensen不等式EM算法详解 问题描述EM算法推导EM算法流程EM算法优缺点以及应用1、EM算法简介 EM算法是一种迭代优化策略,由于它的计算方法中每一次迭代都分两步,其中一个为期望步(E步),另一个为极大步(M步),所以算法被称为EM算法(Expectation ...转载 2018-05-17 20:33:14 · 907 阅读 · 0 评论 -
tensorflow word2vec编译
TF_CFLAGS="-I/usr/lib/python2.7/site-packages/tensorflow/include"TF_LFLAGS="-L/usr/lib/python2.7/site-packages/tensorflow"g++ -std=c++11 -I /usr/lib/python2.7/site-packages/tensorflow/include/external...原创 2018-06-15 17:05:44 · 474 阅读 · 0 评论 -
Tensorflow c++ 实践及各种坑
Tensorflow c++ 实践及各种坑在这篇文章中:实现方案实现步骤(1) 源码编译(2) 模型训练与输出(3) 模型固化坑 BatchNorm bug(4) 模型加载及运行(5) 运行问题Tensorflow当前官网仅包含python、C、Java、Go的发布包,并无C++ release包,并且tensorflow官网也注明了并不保证除python以外库的稳定性,在功能方面python也是...转载 2018-06-28 12:18:58 · 16807 阅读 · 1 评论 -
Tensorflow C++ 编译和调用图模型
Github下载完整代码 tensorflow freeze_graph.py 工具简介最近在研究如何打通tensorflow线下 python 的脚本训练建模, 利用freeze_graph工具输出.pb图文件,之后再线上生产环境用C++代码直接调用预先训练好的模型完成预测的工作,而不需要用自己写的Inference的函数。因为目前tensorflow提供的C++的API比较少,所以参考了几篇...转载 2018-06-28 18:49:21 · 1647 阅读 · 0 评论 -
特征选择 (feature_selection)
原文:https://www.cnblogs.com/stevenlk/p/6543628.html参看:https://www.cnblogs.com/pinard/category/894692.html特征选择 (feature_selection)目录特征选择 (feature_selection) Filter 1. 移除低方差的特征 (Removing fea...转载 2018-08-04 11:03:57 · 1121 阅读 · 0 评论 -
xgboost 分布式部署教程
xgboost 分布式部署教程xgboost是一个非常优秀的用于梯度提升学习开源工具。在多个数值算法和非数值算法的优化下(XGBoost: A Scalable Tree Boosting System),速度非常惊人。经测试用spark10小时才能train出GBDT(Gradient Boosting Decision Tree)的数据量,xgboost 使用一半的集群资源只需要10分钟。...转载 2018-07-31 17:16:53 · 3237 阅读 · 0 评论 -
实战 Google 深度学习框架:TensorFlow 计算加速
出处:https://juejin.im/entry/58eb25fc61ff4b0061a88c0c要将深度学习应用到实际问题中,一个非常大的问题在于训练深度学习模型需要的计算量太大。比如Inception-v3模型在单机上训练到78%的正确率需要将近半年的时间 ,这样的训练速度是完全无法应用到实际生产中的。为了加速训练过程,本章将介绍如何通过TensorFlow利用GPU或/和分布式计算进...转载 2018-10-11 17:31:13 · 310 阅读 · 0 评论 -
大学之道,在明明德
https://blog.csdn.net/jerr__y/article/category/6747409https://www.cnblogs.com/wxquare/p/5541414.html原创 2018-10-10 16:28:18 · 692 阅读 · 0 评论 -
18个技巧实战深度学习,资深研究员的血泪教训
(文/Nikolas Markou)我自 2013 年以来就一直在使用深度学习和深度置信网络。 我加入了一个绿地项目,负责选择在计算机视觉平台上使用的核心机器学习算法。 这些算法要么是不能很好地工作,要么能够很好地工作但不能泛化,需要很多时间或在遇到类似的数据集时,它无法收敛。我迷失了。然后,我从学术界抓住了希望,学术界掀起了深度学习的热风,宣称它能解决所有问题。 对于深度学习,...转载 2018-11-06 18:03:56 · 191 阅读 · 0 评论