- 博客(52)
- 资源 (7)
- 收藏
- 关注
原创 详解“因果效应估计”
按照估计范围划分,因果效应估计包括对平均干预效应(Average Treatment Effect,ATE)、条件平均干预效应(Conditional Average Treatment Effect,CATE)以及个体干预效应(Individual Treatment Effect,ITE)的估计。
2022-10-11 16:44:06
7900
2
原创 推荐系统近期论文
《Denoising User-aware Memory Network for Recommendation》[RecSys2021 Oral] 高德- 去噪用户感知记忆网络DUMN文章地址背景模型仅仅考虑了用户对什么商品感兴趣,并未对其不感兴趣的偏好进行建模,这将导致模型对用户学习到的表征是有偏的。用户的反馈数据分成显性反馈和隐性反馈两类: 显性反馈:能直接反映出用户感兴趣/不感兴趣的表征;信息准确但数据量较少;包括用户评分、打标签(喜欢或不喜欢)等。 隐性反馈...
2021-07-16 14:08:23
815
原创 推荐系统Bias汇总
文章:《Bias and Debias in Recommender System: A Survey and Future Directions》数据中的Bias选择偏差(Selection Bias):当用户可以自由选择要评分的项目时,会出现选择偏差,因此观察到的评分并不是所有评分的代表性样本。换言之,评级数据往往是不随机缺失的(MNAR)。例如:在rating数据集上面, 用户并非是随机打分的:1.用户会选择它们喜欢的商品进行打分;2.用户更倾向于给特别好的商品和坏的商品打分;解决方.
2021-07-05 22:03:35
568
1
原创 ATA笔记
One Model to Serve ALL:多场景下的星型CTR预估模型STAR解决问题一些场景较小,数据量也比较少,这对复杂CTR模型的学习带来困难。对于数据量少难以拟合的问题,常见的做法是复用大场景的模型,比如首猜或者购后的模型来进行服务。但是这样做没有充分利用本场景数据,造成CTR预估准度不足。 为每个场景都单独维护一个模型。由于我们的场景数非常多,每个场景维护独立的模型会对系统资源和人力成本带来巨大的压力和挑战。网络结构参数共享Scenario-Specific FCN
2021-02-02 18:13:29
1241
原创 推荐系统冷启动技术-研究进展
最近调研了一些冷启动方案,现汇总如下商品冷启动商品冷启动一般在item的embedding上优化Graph Embedding在Graph Embedding I2I的基础上,加入商品的Side Information,进一步提升Embedding的泛化学习能力,更好地解决长尾以及商品冷启动问题《Hybrid Item-Item Recommendation via Semi-...
2019-09-26 01:10:04
4740
3
原创 推荐系统技术
目录推荐系统技术整体流程用户画像match部分CF(协同过滤)SwingContent I2ISession-based I2I向量召回RankI2IRank部分LRLR+GBDTFM/FFMMLRFNNAFMNFMPNNWide&DeepDeepFMDeepFFMDCNxDeepFMFAT...
2019-05-18 17:43:00
11211
14
原创 处理部分python2的中文编码问题
1.为在编辑器中输入中文,在第一行加上:#coding=utf-8 或 # _*_ coding:UTF-8 _*_2.改变编辑器的默认编码方式,加上下面三条import sysreload(sys)sys.setdefaultencoding('utf-8')3.获取中文字符串长度时注意:a为str类型len_a=len(a.decode("utf-8"))...
2018-07-27 20:47:07
1026
原创 sql正则化过滤非中文字符
过滤不含中文的字符:where name REGEXP '[\\x{4e00}-\\x{9fa5}]'提取只含有中文的字符:where name REGEXP '^[\\x{4e00}-\\x{9fa5}]'and name not REGEXP '[^\\x{4e00}-\\x{9fa5}]'
2018-07-23 12:08:22
10919
原创 Keras实现CNN、RNN(基于attention 的双向RNN)及两者的融合
本文主要采用CNN,RNN对时序数据进行二分类CNN处理时序数据的二分类model = Sequential()model.add(Conv1D(128, 3, padding='same', input_shape=(max_lenth, max_features)))model.add(BatchNormalization())model.add(Activation('relu'))...
2018-04-24 10:50:34
19966
3
原创 keras中自定义验证集的性能评估(ROC,AUC)
在keras中自带的性能评估有准确性以及loss,当需要以auc作为评价验证集的好坏时,就得自己写个评价函数了:from sklearn.metrics import roc_auc_score# AUC for a binary classifierdef auc(y_true, y_pred): ptas = tf.stack([binary_PTA(y_true,y_p
2017-12-07 13:38:53
33938
12
原创 远程访问Tensorboard
训练完模型后使用如下命令进行端口号映射:tensorboard --port 10004 --logdir='/path/to/log-directory' (/path/to/log-directory为自己设定的日志存放路径,10004为自己设置的服务器空闲端口号)接下来在浏览器上的访问地址:http://121.*.*.*:20064/ (服务器地址+映射后的端口号(20
2017-11-21 11:36:05
1412
原创 BAT面试经验分享(机器学习算法岗)
阿里:7月份最早投的阿里(算法工程师),过了2天就收到一面通知,一面最主要的是问简历上写的内容,问基础。对简历上的项目中涉及到的所有知识点必须理清,期间面试官问了一个我简历上写的但我不是很了解的内容,结果我说不是很熟悉,面试官就说了我不熟悉的还敢往上写…面试主要问的其他知识点:有哪些聚类(当时我只熟悉kmeans,下来赶紧找资料https://www.zhihu.com/question/3...
2017-08-24 14:45:47
39933
22
原创 深度学习之优化算法详解
梯度下降(batch gradient descent, stochastic gradientdescent, 以及 mini-batchgradient descent)现在的SGD一般都指mini-batch gradient descent(1)Batch gradientdescent:最小化所有训练样本的损失函数。得到的是一个全局最优解,但是每迭代一步,都要用到训练集所有的数...
2017-08-24 14:41:17
6442
1
原创 机器学习中几个常见模型的优缺点
朴素贝叶斯:优点:对小规模的数据表现很好,适合多分类任务,适合增量式训练。缺点:对输入数据的表达形式很敏感(连续数据的处理方式)。决策树:优点:计算量简单,可解释性强,比较适合处理有缺失属性值的样本,能够处理不相关的特征。缺点:容易过拟合(后续出现了随机森林,减小了过拟合现象)。逻辑回归:优点:实现简单,分类时计算量非常小,速度很快,存储资源低。缺点:容易欠拟合,一般准确度不高;只能处
2017-08-24 14:18:49
16161
原创 理解Word2Vec
NLP 中最直观,也是到目前为止最常用的词表示方法是 One-hot Representation,这种方法把每个词表示为一个很长的向量。从很大的词库corpus里选V个频率最高的词(忽略其他的) ,V一般比较大,比如V=10W,固定这些词的顺序,然后每个词就可以用一个V维的稀疏向量表示了,这个向量只有一个位置的元素是1,其他位置的元素都是0。这个向量的维度是词表大小,其中绝大多数元素为 0,只有...
2017-08-24 14:13:51
974
原创 HMM+CRF笔记
HMM+CRF笔记CRF就像一个反向的隐马尔可夫模型(HMM),两者都是用了马尔科夫链作为隐含变量的概率转移模型,只不过HMM使用隐含变量生成可观测状态,其生成概率有标注集统计得到,是一个生成模型;而CRF反过来通过可观测状态判别隐含变量,其概率亦通过标注集统计得来,是一个判别模型。由于两者模型主干相同,其能够应用的领域往往是重叠的,但在命名实体、句法分析等领域CRF更胜一筹。CRF和HM
2017-08-24 14:09:56
1874
原创 FM与FFM的区别
FM与FFMFM:旨在解决稀疏数据下的特征组合问题,具有线性的计算复杂度;(矩阵分解方式处理参数,不仅能减少参数数量,还能处理由于稀疏性带来的参数不好训练的问题)一般的线性模型压根没有考虑特征间的关联(组合)。为了表述特征间的相关性,我们采用多项式模型。观察大量的样本数据可以发现,某些特征经过关联之后,与label之间的相关性就会提高。例如,“USA”与“Thanksgiving”、“China”...
2017-08-24 14:07:02
10207
转载 数据不平衡时分类器性能评价(ROC曲线)
大家在将统计学习方法用于实际应用时,不免会遇到各类间数据不太平衡的情况。比如垃圾邮件的识别、稀有病情的诊断、诈骗电话识别、情感分析等等情况。导致数据不平衡的原因有很多,有可能是因为不恰当的采样方法,也可能真实的数据分布就是如此;然而真实的数据分布在大多数情况下我们是无从得知的,于是我们只好认为我们所取得的样本是“真实”的,再从中进行学习。那么针对数据不平衡有很多研究点,最近稍微调研了一下,这也算是
2017-08-23 17:16:53
7498
原创 NLP笔记
NLP笔记问答系统:三个重要模块:提问处理模块(查询关键词生成、答案类型确定、句法和语义分析)、检索模块(根据查询关键词做信息检索)、答案抽取模块(从检索出的句子或段落里抽取出和提问一致的实体,再根据概率最大对候选答案排序)。分词、命名实体识别和词性标注这三项技术如果达不到很高的水平,是难以建立起高性能的自然语言处理系统。中文自动分词最难的两个问题:1)歧义消除;2)未登陆词识别。
2017-08-22 11:38:54
4857
原创 生成模型与判别模型的异同
生成方法的特点:生成方法学习联合概率密度分布P(X,Y),所以就可以从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度。但它不关心到底划分各类的那个分类边界在哪。生成方法可以还原出联合概率分布P(Y|X),而判别方法不能。生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快的收敛于真实模型,当存在隐变量时,仍可以用生成方法学习。此时判别方法就不能用。判别方法的特
2017-07-27 15:54:50
535
原创 面试常问的深度学习(DNN、CNN、RNN)的相关问题
CNN: 1)卷积:对图像元素的矩阵变换,是提取图像特征的方法,多种卷积核可以提取多种特征。一个卷积核覆盖的原始图像的范围叫做感受野(权值共享)。一次卷积运算(哪怕是多个卷积核)提取的特征往往是局部的,难以提取出比较全局的特征,因此需要在一层卷积基础上继续做卷积计算 ,这也就是多层卷积。2)池化:降维的方法,按照卷积计算得出的特征向量维度大的惊人,不但会带来非常大的计算量,而且容易出现过拟合,
2017-07-24 16:46:40
56173
3
原创 推荐系统方法概览
1>基于用户属性的推荐:根据系统用户的基本信息发现用户的相关程度,然后将相似用户喜爱的其他物品推荐给当前用户。系统首先会根据用户的属性建模,比如用户的年龄,性别,兴趣等信息。根据这些特征计算用户间的相似度。比如系统通过计算发现用户A和C比较相似,就会把A喜欢的物品推荐给C。优势:a 不需要历史数据,没有冷启动问题b 不依赖于物品的属性,因此其他领域的问题都可无缝接入。 不足:
2017-07-24 11:24:14
5920
原创 机器学习试题
1.什么是监督学习和非监督学习,请说明它们的区别,并各举一个例子。说明分类和回归问题的区别,并各举一个例子。答:(1)有监督学习:对具有标记的训练样本进行学习来建立从样本特征到标记的映射。例如:支持向量机 无监督学习:对没有标记的训练样本进行学习,以发现训练样本集中的结构性知识。聚类就是典型的无监督学习。比如:K-means等。(2)回归是监督学习的一种,它的标记是连续取值,有大小区别
2017-07-04 11:50:36
29174
2
原创 RNN用于二值分类
import numpy as npimport randomwith np.load('rnn_data/file_name.npz') as data: feature = data['feature'] label = data['label'] rea_lenth = data['true_lenth'] #实际长度#迭代器class SimpleDat
2017-07-04 11:22:34
6352
11
原创 python保存文件的几种方法
1>保存为二进制文件,pkl格式import picklepickle.dump(data,open('file_path','wb')) #后缀.pkl可加可不加若文件过大pickle.dump(data,open('file_path', 'wb'),protocol=4)读取该文件:data= pickle.load(open('file_path','r
2017-07-04 10:50:30
55146
原创 tf.tile() 用法介绍
tile() 平铺之意,用于在同一维度上的复制tile( input, #输入 multiples, #同一维度上复制的次数 name=None)示例如下:with tf.Graph().as_default(): a = tf.constant([1,2],name='a') b = tf.tile(a,[3]) sess
2017-06-05 15:30:57
73282
2
原创 根据多个索引高效删除python list中对应位置的元素
注:元素个数过多时效率较高List a=[0,1,2,3,4,5,6,7,8,9,10] ;List b = [2,3,4]目标:删除a中索引位置为b的元素根据:set([1,2,6,8]) - set([2,3,5,8]) 结果:set([1, 6])a_index = [i for i in range(len(a))]a_index = set(a_index)
2017-05-22 16:48:52
9547
原创 pandas.dataframe中根据条件获取元素所在的位置(索引)
在dataframe中根据一定的条件,得到符合要求的某行元素所在的位置。代码如下所示:df = pd.DataFrame({'BoolCol': [1, 2, 3, 3, 4],'attr': [22, 33, 22, 44, 66]}, index=[10,20,30,40,50])print(df)a = df[(df.BoolCol==3)&(df.attr==22
2017-05-21 21:28:30
199181
2
原创 ValueError: Variable RNN/MultiRNNCell/Cell0/BasicLSTMCell/Linear/Matrix does not exist, disallowed.
ValueError: Variable RNN/MultiRNNCell/Cell0/BasicLSTMCell/Linear/Matrix does not exist, disallowed. Did you mean to set reuse=None in VarScope? 问题原因:Jupyter中运行多次cell时,默认在已存在的计算图上进行相同的操作解决方法如下:
2017-05-08 17:26:36
4947
2
原创 xgboost实现
def draw_result(filename): import numpy as np from scipy import interp import matplotlib.pyplot as plt from matplotlib.pyplot import savefig import xgboost as xgb from sklearn
2017-05-01 16:16:16
2533
原创 Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-o2julgbe/xgboost/
Linux下通过pip install xgboost命令安装xgboost出错“XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you install compiler”的解决方法如下:第一步:sudo apt-get update第二步:sudo apt-get instal
2017-04-29 22:50:42
10406
1
转载 通俗理解决策树算法中的信息增益
在决策树算法的学习过程中,信息增益是特征选择的一个重要指标,它定义为一个特征能够为分类系统带来多少信息,带来的信息越多,说明该特征越重要,相应的信息增益也就越大。1 概念我们前面说了,信息熵是代表随机变量的复杂度(不确定度)通俗理解信息熵,条件熵代表在某一个条件下,随机变量的复杂度(不确定度)通俗理解条件熵而我们的信息增益恰好是
2017-04-27 20:30:41
7885
1
原创 RNN(LSTM)用于分类
import tensorflow as tfimport sysimport random from sklearn.cross_validation import train_test_splitfrom sklearn.cross_validation import StratifiedKFold #StratifiedKFoldimport matplotlib.pyplot
2017-04-27 16:53:36
20094
8
转载 tensorflow scope命名方法(variable_scope()与name_scope()解析)
学习资料:不同 scope 对比代码reuse variable RNN 代码sharing variable tensorflow 官网介绍scope 能让你命名变量的时候轻松很多. 同时也会在 reusing variable 代码中常常见到. 所以今天我们会来讨论下 tensorflow 当中的两种定义 scope 的方式. 最后并附加一个 RNN 运用 reuse vari
2017-04-26 16:49:58
3945
转载 通俗理解条件熵
1 信息熵以及引出条件熵我们首先知道信息熵是考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。公式如下:我们的条件熵的定义是:定义为X给定条件下,Y的条件概率分布的熵对X的数学期望这个还是比较抽象,下面我们解释一下:设有随机变量(X,Y),其联合概率分布为
2017-04-25 14:48:26
45265
14
转载 通俗理解信息熵
1 信息熵的公式先抛出信息熵公式如下:其中P(xi)代表随机事件X为xi的概率,下面来逐步介绍信息熵的公式来源!2 信息量信息量是对信息的度量,就跟时间的度量是秒一样,当我们考虑一个离散的随机变量x的时候,当我们观察到的这个变量的一个具体值的时候,我们接收到了多少信息呢?多少信息用信息量来衡
2017-04-25 14:44:54
3899
转载 神经网络中w,b参数的作用(为何需要偏置b的解释)
可视图讲解神经元w,b参数的作用在我们接触神经网络过程中,很容易看到就是这样一个式子,g(wx+b),其中w,x均为向量.比如下图所示:加入激活函数为g(x),我们就可以用公式g(w1x1+w2x2+b)(注:1,2均为下标,公众号很难打,下面所有的公式均是)来表示神经元的输出。其中b为神经元的偏置.那么w,b这些参数的作
2017-04-25 11:04:45
77420
26
转载 神经网络中的BP算法
在我们了解过神经网络的人中,都了解神经网络一个有很常见的训练方法,BP训练算法.通过BP算法,我们可以不断的训练网络,最终使得网络可以无限的逼近一种我们想要拟合的函数,最终训练好的网络它既能在训练集上表现好,也能在测试集上表现不错!那么BP算法具体是什么呢?为什么通过BP算法,我们就可以一步一步的走向最优值(即使有可能是局部最优,不是全局最优,我们也可以通过其它的方法也达到全局
2017-04-25 10:48:55
3004
2
转载 准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC、AUC
下面简单列举几种常用的推荐系统评测指标:1、准确率与召回率(Precision & Recall)准确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。一般来说,Precision就是...
2017-04-25 10:02:43
33718
LHRM: A LBS based Heterogeneous Relations Model for User Cold-Start Recommendati
2021-02-24
batch normalization 和 layer normalization 在RNN(LSTM、GRU)上的TensorFlow实现
2017-04-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人