推荐系统
zhangztSky
这个作者很懒,什么都没留下…
展开
-
How the embedding layer is trained in Keras Embedding layer
https://stats.stackexchange.com/questions/324992/how-the-embedding-layer-is-trained-in-keras-embedding-layer原创 2020-12-22 18:39:46 · 181 阅读 · 0 评论 -
Keras: why must an embedding layer be used only as the first layer?
https://stackoverflow.com/questions/54048388/keras-why-must-an-embedding-layer-be-used-only-as-the-first-layer原创 2020-12-22 18:27:32 · 139 阅读 · 0 评论 -
precision and recall
讲得很好的连接补充一下,为了提高查全率,我们可以预测有10只狗,但事实上只有6条狗,你会发现,查全率,查准率一个高了一个低了。查全率查准率在不同的场景中有应用,如上连接中的推荐系统和嫌疑犯预测...原创 2020-07-06 16:28:14 · 90 阅读 · 0 评论 -
Faiss相关
1 .安装更新condaconda update conda先安装mklconda install mklfaiss提供gpu和cpu版,根据服务选择cpu版本conda install faiss-cpu -c pytorchgpu版本 – 记得根据自己安装的cuda版本安装对应的faiss版本,不然会出异常。使用命令:nvcc -V 查看conda install faiss-gpu cudatoolkit=8.0 -c pytorch # For CUDA8conda insta原创 2020-10-27 23:10:40 · 1236 阅读 · 1 评论 -
社区发现算法LPA
什么是社区发现现实中存在着各种网络:社交网络,交通网络,交易网络,食物链。将这些行为转化为图的网络形式社区发现是一种聚类算法作用:精准定位群体,方便进行商品推荐,好友推荐,广告投放社区的种类:非重叠社区:任意两个社区的顶点之间没有交集重叠社区,在社区内部存在顶点之间的交集社区发现的常用算法LPA:Label Propagation Algorithm基于标签传播的非重叠社区发现算法COPRA:Community Overlap PRopagation Algorithm基于L原创 2020-10-22 18:57:29 · 1494 阅读 · 3 评论 -
FP-Growth算法实现
频繁项集挖掘(二)FP-Growth算法FP-Growth(Frequent Patterns)相比于Apriori是一种更加有效的频繁项集挖掘算法,FP-Growth算法只需要对数据库进行两次扫描,而Apriori算法对于每次产生的候选项集都会扫描一次数据集来判断是否频繁,因此当数据量特别巨大,且扫描数据库的成本比较高时,FP-Growth的速度要比Apriori快。但是FP-Growth只能用于发现频繁项集,不能用于发现关联规则。FP-Growth原理分析FP-Growth算法实现步骤构建F原创 2020-08-30 23:25:49 · 731 阅读 · 0 评论 -
基于关联规则的推荐综述
基于关联规则的推荐基于关联规则的推荐思想类似基于物品的协同过滤推荐“啤酒与尿布”关联分析中最有名的例子就是“啤酒与尿布”。据报道,在美国沃尔玛超市会发现一个很有趣的现象:货架上啤酒与尿布竟然放在一起售卖,这看似两者毫不相关的东西,为什么会放在一起售卖呢?原来,在美国,妇女们经常会嘱咐她们的丈夫下班以后给孩子买一点尿布回来,而丈夫在买完尿布后,大都会顺手买回一瓶自己爱喝的啤酒(由此看出美国人爱喝酒)。商家通过对一年多的原始交易记录进行详细的分析,发现了这对神奇的组合。于是就毫不犹豫地将尿布与啤酒摆放原创 2020-08-30 23:22:53 · 966 阅读 · 1 评论 -
Apriori原理及其算法实现
关键规则挖掘算法(一)Apriori算法Apriori算法原理Apriori算法是著名的关联规则挖掘算法。假如我们在经营一家商品种类并不多的杂货店,我们对哪些经常在一起被购买的商品非常感兴趣。我们只有四种商品:商品0、商品1、商品2、商品3。那么所有可能被一起购买的商品组合都有哪些?这些商品组合可能著有一种商品,比如商品0,也可能包括两种、三种或所有四种商品。但我们不关心某人买了两件商品0以及四件商品2的情况,只关心他购买了一种或多种商品。下图显示了物品之间所有可能的组合:图中使用物品的编号0来原创 2020-08-30 23:20:22 · 2643 阅读 · 0 评论 -
基于矩阵分解的CF算法综述
基于矩阵分解的CF算法一、矩阵分解发展史Traditional SVD:通常SVD矩阵分解指的是SVD(奇异值)分解技术,在这我们姑且将其命名为Traditional SVD(传统并经典着)其公式如下:Traditional SVD分解的形式为3个矩阵相乘,中间矩阵为奇异值矩阵。如果想运用SVD分解的话,有一个前提是要求矩阵是稠密的,即矩阵里的元素要非空,否则就不能运用SVD分解。很显然我们的数据其实绝大多数情况下都是稀疏的,因此如果要使用Traditional SVD,一般的做法是先用均值或者原创 2020-08-30 22:35:06 · 536 阅读 · 0 评论 -
基于矩阵分解的CF算法实现(二):BiasSvd
基于矩阵分解的CF算法实现(二):BiasSvdBiasSvd其实就是前面提到的Funk SVD矩阵分解基础上加上了偏置项。BiasSvd利用BiasSvd预测用户对物品的评分,kkk表示隐含特征数量:r^ui=μ+bu+bi+puk⃗⋅qki⃗=μ+bu+bi+∑k=1kpukqik\begin{aligned}\hat {r}_{ui} &=\mu + b_u + b_i + \vec {p_{uk}}\cdot \vec {q_{ki}}\\&=\mu + b_u + b原创 2020-08-30 22:33:24 · 402 阅读 · 0 评论 -
基于矩阵分解的CF算法实现(一):(Funk SVD)LFM
基于矩阵分解的CF算法实现(一):LFMLFM也就是前面提到的Funk SVD矩阵分解LFM原理解析LFM(latent factor model)隐语义模型核心思想是通过隐含特征联系用户和物品,如下图:P矩阵是User-LF矩阵,即用户和隐含特征矩阵。LF有三个,表示共总有三个隐含特征。Q矩阵是LF-Item矩阵,即隐含特征和物品的矩阵R矩阵是User-Item矩阵,有P*Q得来能处理稀疏评分矩阵利用矩阵分解技术,将原始User-Item的评分矩阵(稠密/稀疏)分解为P和Q矩阵,然后原创 2020-08-30 22:25:47 · 1004 阅读 · 1 评论 -
推荐算法之Baseline
基于回归模型的协同过滤推荐如果我们将评分看作是一个连续的值而不是离散的值,那么就可以借助线性回归思想来预测目标用户对某物品的评分。其中一种实现策略被称为Baseline(基准预测)。Baseline:基准预测Baseline设计思想基于以下的假设:有些用户的评分普遍高于其他用户,有些用户的评分普遍低于其他用户。比如有些用户天生愿意给别人好评,心慈手软,比较好说话,而有的人就比较苛刻,总是评分不超过3分(5分满分)一些物品的评分普遍高于其他物品,一些物品的评分普遍低于其他物品。比如一些物品一被生产原创 2020-08-30 20:05:53 · 3138 阅读 · 3 评论 -
推荐系统中不得不说的DSSM双塔模型
DSSM双塔详解参考下面的链接DSSM双塔模型代码实现原创 2020-08-30 18:56:09 · 1080 阅读 · 4 评论 -
TensorFlow实现DeepFM
DeepFM原理讲解代码mport tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layers, optimizers, losses, regularizersfrom tensorflow.keras.layers import Embedding, Dropout, Flatten, Dense, Inputimport osos.environ['TF_CPP_MIN_LOG_LEV原创 2020-08-29 22:10:38 · 354 阅读 · 0 评论 -
FM、FFM原理解析
参考:https://zhuanlan.zhihu.com/p/37963267原创 2020-08-29 18:17:27 · 511 阅读 · 0 评论 -
DeepFM原理以及DeepCTR代码实现
import pandas as pdfrom sklearn.metrics import mean_squared_errorfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import LabelEncoderfrom deepctr.models import DeepFMfrom deepctr.feature_column import SparseFeat,get_featu原创 2020-08-29 14:46:09 · 1051 阅读 · 5 评论 -
推荐算法-协同过滤(Collaborative Filtering)-相似度
推荐算法推荐模型构建流程推荐算法概述基于协同过滤的推荐算法协同过滤实现一 推荐模型构建流程Data(数据)->Features(特征)->ML Algorithm(机器学习算法)->Prediction Output(预测输出)数据清洗/数据处理数据来源显性数据Rating 打分Comments 评论/评价隐形数据Order history 历史订单Cart events 加购物车Page views 页面浏览Click-t原创 2020-08-26 09:21:35 · 2288 阅读 · 3 评论 -
pyspark踩坑记之rg.apache.spark.api.python.PythonAccumulatorV2([class java.lang.String, class java.lang.
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).Traceback (most recent call last): File "tfifd.py", line 24, in <module> .appName("TfIdfExample")\ File "/opt/module/software/miniconda3/envs/superse原创 2020-08-09 00:59:36 · 1260 阅读 · 1 评论 -
基于图卷积网络(GCN)做AE商品推荐
1.下面讲解一个基于图自编码器实现简单的推荐任务的例子。推荐系统要建立的是用户与商品之间的关系,这里我们以简化后的用户对 商品的评分为例进行介绍,如图下图假设用户与商品之间的交互行为只 存在评分,分值从1分到5分。如果用户u对商品v进行评分,评分为r, 就是说用户u与商品v之间存在一条边,边的类型为r,其中r∈R。基于 这种交互关系对用户进行商品推荐实际上就是要预测哪些商品与用户之 间可能存在边,这样的问题称为边预测问题。对于这种边预测问题,我 们将其看作矩阵补全问题,用户与商品之间的交互行为构成了一个二部原创 2020-07-24 00:12:53 · 1382 阅读 · 12 评论 -
基于tensorflow2.0的RNN 情感分析
import osimport tensorflow as tfimport numpy as npfrom tensorflow import kerasfrom tensorflow.keras import layerstf.random.set_seed(22)np.random.seed(22)os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'assert tf.__version__.startswith('2.')batc原创 2020-07-23 09:18:45 · 396 阅读 · 0 评论 -
LSH minhash Signature
准备些写得时候,发现大佬们已经总结的很棒很完善了,瞬间不知道改写什么,、贴个链接吧minhash1minhash2minhash3原创 2020-06-24 15:04:48 · 236 阅读 · 0 评论 -
word2vec和word embedding
介绍首先,word2vec 和 word embedding 两者并不是平级的,其都属于 语言表示(Representation)的范畴。语言表示(Representation)是将人类的自然语言表示成计算机可以处理的数值形式,一般的方式有独热表示(one-hot Representation)、分布式表示(Distributed Reprensentation)等。分布式表示(Distributed Reprensentation)又包括基于矩阵、基于聚类、基于神经网络的方式,一般将 基于神经网络的原创 2020-06-23 18:33:03 · 2375 阅读 · 1 评论 -
pageRank到textRank
PageRank,又称网页排名、谷歌左侧排名、PR,是Google公司所使用的对其搜索引擎搜索结果中的网页进行排名的一种算法。佩奇排名本质上是一种以网页之间的超链接个数和质量作为主要因素粗略地分析网页的重要性的算法。其基本假设是:更重要的页面往往更多地被其他页面引用(或称其他页面中会更多地加入通向该页面的超链接)。 其将从A页面到B页面的链接解释为“A页面给B页面投票”,并根据投票来源(甚至来源的来源,即链接到A页面的页面)和投票对象的等级来决定被投票页面的等级。简单的说,一个高等级的页面可以提升其他低等原创 2020-06-23 19:01:01 · 218 阅读 · 0 评论 -
TF-IDF算法
TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术,常用于挖掘文章中的关键词,而且算法简单高效,常被工业用于最开始的文本数据清洗。TF-IDF有两层意思,一层是"词频"(Term Frequency,缩写为TF),另一层是"逆文档频率"(Inverse Document Frequency,缩写为IDF)简单的来说,假如我们要求一篇文章《我为什么这么帅》中关键词或者说是代表文章核心主旨的词语。应该怎么求呢。 很原创 2020-06-22 17:29:10 · 346 阅读 · 0 评论