资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,Click to edit Master title style,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数据挖掘之推荐算法入门阿里大数据竞赛参赛经历,遇到的问题,目录,什么是推荐系统,阿里巴巴大数据竞赛,推荐算法入门,Part 2,阿里巴巴大数据竞赛,阿里巴巴大数据竞赛,7000+参赛队伍,凸显了如今大数据方向的热门,赛题介绍,在天猫,每天都会有数千万的用户通过品牌发现自己喜欢的商品,品牌是联接消费者与商品最重要的纽带。本届赛题的任务就是根据用户4个月在天猫的行为日志,建立用户的品牌偏好,并预测他们在将来一个月内对品牌下商品的购买行为。,数据:,行为日志:用户id、品牌id、用户对品牌的行为、行为时间。,用户行为:点击、购买、加入购物车、收藏。,阿里巴巴大数据竞赛,比赛形式,设计一个推荐算法,基于算法和已有数据得出第五个月用户可能购买的品牌。,训练集:用于建立模型;,验证集:用于评估模型。,例如可以用 1-2月 的数据作为训练集,3月的数据作为验证集,以此来检验算法的效果。然后再用 3-4月 的数据作为训练集,得出推荐结果。最终提交推荐结果,由系统给出分数。,评估指标,预测的品牌准确率越高越好,也希望覆盖的用户和品牌越多越好。,阿里巴巴大数据竞赛,参赛成绩:第60名,比赛时间较长,持续4个月,比较耗时间。后劲不足,没有达到预期的成绩。,通过竞赛,对推荐算法的入门有了深入的理解与实践。,阿里巴巴大数据竞赛,Part 3,推荐算法入门,阿里大数据竞赛提供的数据:,行为日志:用户,id,、品牌,id,、用户对品牌的行为、行为时间。,用户行为:点击、购买、加入购物车、收藏。,对数据的处理:提取特征,特征:推荐算法所考虑的因素,如,用户过去一个月对品牌的点击次数,用户过去一个月对品牌的购买次数,品牌过去一个月的总销量,.,推荐算法,原始数据,处理后的特征数据,算法1:简单的推测规律,点击次数多,购买可能性较大;,加入购物车、收藏,购买可能性较大;,最近有浏览过的品牌,购买可能性较大;,.,推荐算法,点击次数与是否购买的关系,算法1:简单的推测规律,首先将数据转化为特征值:,点击次数 click,加入购物车 is_cart,收藏 is_fav,几天前有浏览过 days,实现1:直接利用规律,if ( this.days = 10) then recommend(this);,if ( this.is_cart ,.,推荐算法,简单粗暴且有效,只要规律找的好,效果还是可以的,算法1:简单的推测规律,点击次数 click,加入购物车 is_cart,收藏 is_fav,几天前有浏览过 days,实现2:设定权值,并计算分值(通过验证集找到较优权值),W = w,1,* click + w,2,* is_cart + w,3,* is_fav + w,4,*,1/days,例如得到一个较有权值: w1 = 0.1, w2 = 0.2, w3 = 0.2, w4 = 0.5,推荐算法,简单有效,实现方便,有一定效果,用户,品牌,交互数据,得分,1,133,click = 2, is_cart = 1, is_fav = 0, days = 1,1.4,2,133,click = 10, is_cart = 0, is_fav = 0, days = 5,1.1,算法2:逻辑回归(Logistic regression),Logistic regression (逻辑回归)是当前业界比较常用的机器学习方法,用于估计某事件的可能性。如某用户购买某商品的可能性、广告被某用户点击的可能性等。,推荐算法,公式定义,将可能性限定在0和1之间,算法2:逻辑回归(Logistic regression),组成1:回归,回归是对已知公式的未知参数进行估计。,如已知公式是y = a*x + b,未知参数是 a 和 b。我们现在有很多真实的(x,y)数据(训练样本),回归就是利用这些数据对 a 和 b 的取值去自动估计。,推荐算法,算法2:逻辑回归(Logistic regression),组成2:线性回归,如鞋子定价与鞋子销量的问题。y = a*x + b,x是价钱,y是销售量。假设它们满足线性关系,线性回归即根据往年数据找出最佳的a, b取值,使 y = a * x + b 在所有样本集上误差最小。,推荐算法,线性回归示例,算法2:逻辑回归(Logistic regression),组成2:线性回归,如鞋子定价与鞋子销量的问题。y = a*x + b,x是价钱,y是销售量。假设它们满足线性关系,线性回归即根据往年数据找出最佳的a, b取值,使 y = a * x + b 在所有样本集上误差最小。,一元变量关系比较直观,但若是多元就难以直观的看出来了。比如说除了鞋子的价格外,鞋子的质量,广告的投入,店铺所在街区的人流量都会影响销量,我们想得到这样的公式:sell = a*x + b*y + c*z + d*,+ e。这个时候画图就画不出来了,规律也十分难找,这时就得交给线性回归程序去完成。,推荐算法,算法2:逻辑回归(Logistic regression),组成3:Logsitic方程,上面提到的 sell 计算出来是一个数值,但我们需要的是一个0, 1,类似概率的值,于是引入了 Logistic 方程,来做归一化。,所以逻辑回归就是一个被Logistic方程归一化后的线性回归。,推荐算法,线性回归,逻辑回归,算法2:逻辑回归(Logistic regression),实现:使用算法库,R语言、Python等都有逻辑回归的算法库,使用方便。最重要的还是要提取相关特征,逻辑回归的效果直接取决于特征的选取(当然,追求更好的效果就需要去优化算法的实现)。,推荐算法,逻辑回归代码示例,算法3:协同过滤(Collaborative Filtering),基于用户的协同过滤算法是推荐系统中最古老的算法。可以不夸张地说,这个算法的诞生标志了推荐系统的诞生。,在个性化推荐系统中,当用户A需要个性化推荐时,可以先找到和他有相似兴趣的其他用户,然后把那些,相似兴趣用户喜欢的、而用户A没有听说过的,物品推荐给A。这种方法称为,基于用户的协同过滤算法,。,基于用户的协同过滤算法主要包括两个步骤。,找到和目标用户兴趣相似的用户集合。,将这个集合中用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。,相对应的,还有基于物品的协同过滤算法,比如给喜欢射雕英雄传的用户推荐天龙八部,因为这两部作品都是武侠小说,且作者都是金庸。,推荐算法,算法3:协同过滤(Collaborative Filtering),协同过滤算法的核心是计算相似度,以基于物品的协同过滤为例:,推荐算法,左边每一行代表一个用户感兴趣的物品集合,中间是某用户感兴趣物品的相似矩阵,右侧是所有用户感兴趣物品相似矩阵相加的结果,最后进行归一化就可得到一个0,1的物品相似度矩阵,算法3:协同过滤(Collaborative Filtering),推荐算法,基于用户的协同过滤(User CF),(用户A和用户C都喜欢物品A、C),基于物品的协同过滤(Item CF),(喜欢物品A的人也喜欢物品C),基于物品的协同过滤推荐示例,给用户推荐,算法导论,,是因为这本书和,C+ Primer,中文版,和,编程之美,都相似,相似度分别为,0.4,和,0.5,。,而用户对,C+ Primer,中文版,的兴趣度是,1.3,,对,编程之美,的兴趣度是,0.9,,那么用户对,算法导论,的兴趣度就是,1.3 0.4 + 0.90.5 = 0.97,。,逻辑回归与协同过滤的比较,最主要的一个区别是应用场景不同:逻辑回归针对的是已有交互的物品,而协同过滤则主要针对没有交互过的物品。,如购物网站的推荐系统,,逻辑回归,可以推荐给用户,其,浏览过且较有可能购买,的商品;,协同过滤,则可以推荐给用户,其,未浏览过但可能感兴趣,的商品。,推荐算法,亚马逊的图书推荐主要使用了协同过滤。,其他推荐算法:,随机森林(Logistic regression),支持向量机SVM,神经网络,Slope One,.,推荐算法,总结:,介绍了阿里巴巴大数据竞赛的基本情况;,介绍了两类比较典型的推荐算法:逻辑回归和协同过滤;,推荐算法的选择和具体应用场景有很大关系,一般也涉及多种推荐算法的组合使用。,推荐算法涉及较多的数学知识,今天只是做了一个简单的介绍,可深入了解的东西还有很多。,推荐算法,34,遇到的问题,Thanks,.,
展开阅读全文