共计 14 篇文章

第12课:实验平台搭建 & 产品设计思维

在前面章节中,我们对整个推荐的架构进行了简单了解,之前也说过推荐的产品形态不在于其功能,而在于其最终的商业价值,带来的转化。 所以,如何保证整个系统能够快速稳定的保持迭代是个需要着重考虑的事,架设一个好的推荐系统实验平台,能够保证整个过程稳步进行。 推荐实验平台 整个推荐实验平台最大的目标就是能够进行 AB 测试,然后进行模型迭代,而这一切的基础就是将很多东西进行解耦,以及打通整个数据闭环。 其要素,包括并不限于: 模型的快速新增实验 模型的快速迭代实验 模型的融合测试 栏位的分流测试 规则的配置生效 推荐的效果追踪分析 这是我们的推荐系统实验平台(浓浓的工程师风格) ...

第11课:推荐系统的架构设计(下)

在第 10 课中我们对于整体的推荐系统所要解决的问题,以及系统整体的系统逻辑架构都有一个大致的了解。 在接下来的章节里,我们将继续延续对架构进行解析,从技术栈选择、数据流向以及实时离线架构分析等维度进行拆解,最后将重点讲讲实验平台,使用一个实例来呈现推荐实验平台的构建。 埋点上报 在了解系统逻辑架构的基础上,如果要落地实操,最终还是细化到技术机构上,我们来简单了解一下,基于上个章节的系统逻辑架构基础上,我们使用最通用的大数据相关组件,进行整个结构的搭建。 我们根据数据的流向来看这个图。 自下而上,原始数据层其实依然是业务表和埋点上报,业务表不多说,埋点上报,实际上是一个相对比较大的体系了,构建一个埋点上报体系,在流程上我们前端按要求进行上报信息封装, ...

第10课:推荐系统的架构设计(上)

在前面的课程中,我们陆续学习了诸如基于内容的推荐算法、基于用户兴趣的推荐算法,以及基于典型协同的推荐算法,并且都相应的进行简单的实践讲解。 并且,从第09课中我们也知道,对于整个推荐算法来说,实际上并不是固定的,只要能够达到我们推荐最终的业务目标即可,而推荐算法的设计实际上是开放的。 再回到基础知识的第01课中,我曾着重提醒了,虽然推荐算法很重要,但是从整个推荐的设计角度来讲,推荐算法并不等于推荐系统,因为推荐系统所涵盖的范围远不止推荐算法所承载的内容。 推荐系统的需要解决的问题 我们来试想一下,如果要构建一个推荐系统,除了设计和开发推荐算法以外还需要什么,甚至可以追问,如果想要设计一个推荐算法并实现我们需要什么。 或者说,我们需要解决哪些难题? 推荐底层数据的依赖 ...

第09课:灵活多变的推荐算法设计

在前面的几个课程中,我们已经学习了包括基于内容属性的推荐、基于用户画像标签的推荐,以及经典的基于协同的推荐,并且针对每个常规算法都进行了 Spark 示例的讲解。 基于常规的理解,可能大家会觉得推荐算法的路子大概就这样子了,基本上我们所熟悉的都已经接触过了,实际上不是的,对于推荐系统来说,我们核心要抓住的推荐的业务目标,以及提升的优化目标,至于底层算法实现的逻辑,实际上是可以灵活多变的。 啤酒与尿布的故事 看到这个标题,或许很多人已经会心一笑了,应该听过太多次了,好吧,这个故事估计快讲烂了。以免部分同学没有了解过,这里再讲一次,听过的可以跳过这部分。 故事来源实际就是, ...

第08课:协同推荐(工程示例)

接上个章节,由于本系列不是专门针对算法进行详解,而是针对整个推荐系统进行知识体系构建,所以,基于协同的推荐,我们这里只做基于模型的推荐的工程示例讲解。 截止 Spark 2.X 系列,Spark 的 MlLib 只实现了基于矩阵分解的协同(也就是经典的基于 ALS 协同过滤),没有实现更常规的基于物品或者基于用户的协同过滤。 但从上面的原理我们知道,其实基于物品基于用户的协同核心就在于构建基础向量矩阵以及计算相似的两个方面。由于 MlLib 实现了算法模型,所以从敲代码的维度上来说,代码量反而会远远低于基于用户、 ...