
数据挖掘
sigmeta
Peking University / Microsoft
展开
-
机器学习实战及Python实现——奇异值分解(SVD)实现简单推荐系统
本篇讲数据降维的另一种更普遍的算法——奇异值分解,主要内容包括数学原理,计算步骤,优缺点,应用场景、Python推荐示例等内容。1、数学原理奇异值分解(Singular Value Decomposition,SVD)是一种重要的矩阵分解。与之相对的是特征值分解(主成分分析主要使用方法),但特征值分解是针对的是方阵,但在实际应用场景中,我们经常遇到的矩阵都不是方阵,比如N个学生,每个学生的M科成绩...转载 2018-04-02 20:37:59 · 3393 阅读 · 0 评论 -
word2vec词向量训练及gensim的使用
一、什么是词向量词向量最初是用one-hot represention表征的,也就是向量中每一个元素都关联着词库中的一个单词,指定词的向量表示为:其在向量中对应的元素设置为1,其他的元素设置为0。采用这种表示无法对词向量做比较,后来就出现了分布式表征。在word2vec中就是采用分布式表征,在向量维数比较大的情况下,每一个词都可以用元素的分布式权重来表示,因此,向量的每一维都表示一个特征向量,作用...转载 2018-06-08 11:42:25 · 2516 阅读 · 0 评论 -
BPR [Bayesian Personalized Ranking] 算法详解
在推荐系统的实现中,几乎总会遇到从较多候选集中为用户选取特定的少数几个物品进行推荐,这本质上是一个Ranking问题。 在推荐场景中用户更缺乏耐性,对推荐结果的消费也十分有限。因此,排序的好坏直接决定了用户对一个准确率为90%的推荐候选集的满意度是否真的有90%。 这里我们为大家介绍一种“基于贝叶斯后验优化的个性化排序算法”:Bayesian Personalized Ranking。其本身并不优...转载 2018-05-30 23:37:15 · 7118 阅读 · 1 评论 -
深度学习在推荐系统上的应用
转载于携程技术团队近些年,深度学习在语音识别、图像处理、自然语言处理等领域都取得了很大的突破与成就。相对来说,深度学习在推荐系统领域的研究与应用还处于早期阶段。 携程在深度学习与推荐系统结合的领域也进行了相关的研究与应用,并在国际人工智能顶级会议AAAI 2017上发表了相应的研究成果《A Hybrid Collaborative Filtering Model with Deep Struct...转载 2018-05-22 23:21:06 · 3227 阅读 · 0 评论 -
推荐系统常用评测指标
推荐系统常用评测指标预测准确度(Precision)评分预测准确度一般通过均方根误差(RMSE)和平方根误差(MAE)计算。对于测试集中的一个用户u和物品i,令 评分预测:(测试集的一个用户u和物品i,令ruirui是用户u对物品的实际评分,而r^uir^ui是推荐算法给出的预测评分。 假设我们用一个列表records存放用户评分数据,令records[i] = [u,i,rui,pui],其中r...转载 2018-05-19 20:21:56 · 960 阅读 · 0 评论 -
推荐系统入门
1. 推荐系统是什么?推荐系统又叫个性化推荐系统,它会基于用户行为数据或物品数据,通过一定的算法,为用户推荐符合他需求的物品。试想一下这样的场景,我们有一个电商网站,有数千万种商品。有一天,进来了三个客人,A是电子产品发烧友,B是化妆品爱好者,C超级爱买书。他们想买一些符合自己喜好的商品,但是看到密密麻麻的分类列表,大脑有点转不过来。我们呢,想最快的把商品推到他们眼前,最好能让他们第一眼就看到自己...转载 2018-05-17 23:04:52 · 918 阅读 · 0 评论 -
常用推荐算法
内容主要围绕电商中用到的一些推荐算法,参考了Xavier Amatriain在CMU的Machine Learning暑期学校上的讲授的内容。PS:建议阅读方式——点击图片,横屏阅读转载 2018-05-17 23:03:45 · 2605 阅读 · 1 评论 -
SVD在推荐系统中的应用详解以及算法推导
转载请声明出处http://blog.youkuaiyun.com/zhongkejingwang/article/details/43083603 前面文章SVD原理及推导已经把SVD的过程讲的很清楚了,本文介绍如何将SVD应用于推荐系统中的评分预测问题。其实也就是复现Koren在NetFlix大赛中的使用到的SVD算法以及其扩展出的RSVD、SVD++。 记得刚接触SVD是在大二,那会儿跟师兄在...转载 2018-05-17 23:01:53 · 653 阅读 · 0 评论 -
scikit-learn中PCA的使用方法
@author:wepon@blog:http://blog.youkuaiyun.com/u012162613/article/details/42192293在前一篇文章 主成分分析(PCA) 中,我基于python和numpy实现了PCA算法,主要是为了加深对算法的理解,算法的实现很粗糙,实际应用中我们一般调用成熟的包,本文就结束scikit-learn中PCA使用的方法和需要注意的细节,参考:skle...转载 2018-04-06 20:55:56 · 1700 阅读 · 1 评论 -
numpy.linalg.svd报错memory error解决
U,Sigma,VT = la.svd(dataMat,False)我是200000*93的矩阵分解,报错memory error,是由于U和VT过大查看文档:numpy.linalg.svd(a, full_matrices=True, compute_uv=True)[source]Singular Value Decomposition.When a is a 2D array, it is...原创 2018-04-11 10:31:21 · 2506 阅读 · 0 评论 -
随机森林算法学习(RandomForest)
随机森林算法学习最近在做kaggle的时候,发现随机森林这个算法在分类问题上效果十分的好,大多数情况下效果远要比svm,log回归,knn等算法效果好。因此想琢磨琢磨这个算法的原理。要学随机森林,首先先简单介绍一下集成学习方法和决策树算法。下文仅对该两种方法做简单介绍(具体学习推荐看统计学习方法的第5章和第8章)。Bagging和Boosting的概念与区别该部分主要学习自:http://www....转载 2018-06-26 13:03:03 · 1716 阅读 · 0 评论