共计 14 篇文章

第07课:协同推荐(原理)

在上面的四个章节里,我们分别对推荐算法中的基于内容的推荐和基于用户画像的推荐逻辑做了简单了解,从算法原理到示例逻辑,再到工程代码讲解,并且将算法逻辑从与用户无关逐渐过渡到用户的兴趣相关推荐。 单纯基于画像推荐的缺陷 并且,我们大致 Get 到了一个点,那就是如果要达到推荐个性化的目的,核心还是用户的行为数据,只有用户各自的行为数据才能反馈其与其他人所不一样的特性,从而有针对性的进行推荐。 按上个章节的节奏,大致就是这样的: 实际上基于用户画像的个性化推荐依然是有缺陷的,比如他不会做用户兴趣的升级,而实际上一些知识本身就是具有一定的阶梯性的。 举个例子就很容易理解了,比如,你对大数据的东西很感兴趣,于是系统根据你的兴趣偏好天天给你推 Hadoop、大数据各种技术框架等信息,在某个时间段可能是合理, ...

第06课:融合了用户兴趣的推荐才更具个性(工程示例)

紧接上一篇内容,我们在了解基于用户画像的推荐原理基础上,再结合所能获取到公开数据集,进行该算法机制的构建。这里我们将直接进入工程示例实现的讲解。 关于数据集 至于说取原始数据的过程,这里就不多说了,具体的可以看上示例(基于内容的工程示例),这里就不贴代码片段了,这里所有表的数据都会用到,所以都要获取,过程都是一致的。 第一步,先进行 movie 候选集的处理,包括 Tag 预处理、合并以及类目年份的获取。 我们进行相似 Tag 合并操作,返回的数据形态是( ...

第05课:融合了用户兴趣的推荐才更具个性(原理)

在第04课中,我们已经成功的从推荐系统的基本知识过渡到了推荐算法,并且进行了最最最简单的推荐算法深入了解,包括进行了代码工程的熟悉。 在上个推荐算法的学习中,我们了解了基于内容的相似或者相关推荐,实际上这种推荐机制只会针对于商品也就是 ITEM 本身的属性进行候选集推荐,而这种推荐机制和用户没有任何的关系,它的候选推荐集不会随着用户的改变而改变,更不会随着用户的行为变更而进行变更。 你会发现,这种推荐机制相对是比较“呆板”的,而我们一般说起推荐系统,往往都会说个性化推荐,那么核心就在于如何让推荐更具有个性化,所谓个性化即跟随用户本身的不同而进行个性化的信息推送。 个性化与用户画像 什么是个性化 在进行算法层面的学习之前,我们进一步来探讨什么是个性化。个性化一定是与人相关的,只有人才有个性, ...

第04课:基于内容的推荐(工程示例)

在第03课中了解了基于内容推荐的算法逻辑,以及我们的示例计算逻辑之后,可以直接通过工程示例来进一步学习。 工程逻辑 Spark 2.0 之后,不用再构建 Sparkcontext 了,以创建一个复合多功能的 SparkSession 替代,可以正常的从 HDFS 读取文件,也可以从 Hive 中获取 DataFrame 等。 val sparkSession = SparkSession .builder( ...

第03课:基于内容的推荐(原理)

在上两篇中,我们对推荐系统所涉及到的一系列基础知识进行了了解,包括推荐冷启动的机制、马太效应的概念、对于推荐的评估方式等。 但我个人觉得最大信息含量在于整个推荐体系的构成,以及推荐系统不等于推荐算法的认知,并且我们也对常见的推荐算法有了个概念性的认知。 在这一篇中,包括后续的章节,我们将直接在推荐系统最核心的部分上进行深入的了解,从原理解析上,从实际生产的注意事项上,甚至从代码工程上进行学习。 什么是最最最简单的推荐算法 结合之前大致陈述的一些推荐机制,最最最简单的推荐机制,无疑是基于主体属性相似或者相关推荐了,连个性化都说不上,铁定最最最简单了。说到这,说不定有些读者不愿意继续了解下去了,既然如此简陋的推荐机制,不看也罢。但是,真的不要小看基于内容相似的推荐, ...