SVD:

 

SVD算法详解

下面开始介绍SVD算法,假设存在以下user和item的数据矩阵:

这是一个极其稀疏的矩阵,这里把这个评分矩阵记为R,其中的元素表示user对item的打分,“?”表示未知的,也就是要你去预测的,现在问题来了:如何去预测未知的评分值呢?上一篇文章用SVD证明了对任意一个矩阵A,都有它的满秩分解:

Continue reading

在推荐系统简介中,我们给出了推荐系统的一般框架。很明显,推荐方法是整个推荐系统中最核心、最关键的部分,很大程度上决定了推荐系统性能的优劣。目前,主要的推荐方法包括:基于内容推荐、协同过滤推荐、基于关联规则推荐、基于效用推荐、基于知识推荐和组合推荐。

一、基于内容推荐

基 于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机 器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。在基于内容的推荐系统中,项目或对象是通过相关的特征的属性来定义,系统基于用户评价对象 的特征,学习用户的兴趣,考察用户资料与待预测项目的相匹配程度。用户的资料模型取决于所用学习方法,常用的有决策树、神经网络和基于向量的表示方法等。 基于内容的用户资料是需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。

基于内容推荐方法的优点是:
1)不需要其它用户的数据,没有冷开始问题和稀疏问题。
2)能为具有特殊兴趣爱好的用户进行推荐。
3)能推荐新的或不是很流行的项目,没有新项目问题。
4)通过列出推荐项目的内容特征,可以解释为什么推荐那些项目。
5)已有比较好的技术,如关于分类学习方面的技术已相当成熟。
Continue reading

核心思想:

输入 习题体征、用户特征

习题特征: 习题难度(统计做题人数的正确率), 所属类别(Sklearn分类), 摘要信息(TDF-IDF提取),实体识别, 习题类别,

用户特征: 年级, 英语程度, 备考科目, 每天可以利用的时间, 最终考试时间, 统计 知识点正确率

今天在朋友圈看到一篇“一号店从0到1构建推荐系统通用平台”,突然感觉很有感触,上线八年的一号店从0到1构建,那我们这个5.19上线的百联o2o平台,推荐系统说是从-1爬到0.x更确切。很多时候看到都是某大型电商或互联网平台某个系统的架构图,这个架构图都很高大上,似曾相识,展示的都是很美好的一面。很少有人介绍在实现这个系统最初遇到的各种问题,因为电商发展至今,最初的那几个人早已已经成为技术总监或者cto了,都已经功成名就出书立传了。如果感兴趣可以看看专著《大数据架构商业之路:从业务需求到技术方案》豆瓣好评推荐。
虽然之前也曾接触过推荐系统,但也都是其中的某个算法,或者说大一点其中的某个栏位。也看过《推荐系统实践》这样的图书,现在反观一下,感觉这些更像是一本介绍推荐算法的书,而不是能落地的一套系统。在这里就是想记录一下,在百联全渠道(bl.com),和另外一个同事踩坑排雷实现百联推荐系统的一个过程。希望后来者能从中吸取教训。这篇文章没有高深架构图,复杂逻辑图,基本凭记忆,用文字讲述俩人历时4个月构建一个推荐系统雏形的历程。

Continue reading