推荐系统的中级概述
Posted 小q的理想
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐系统的中级概述相关的知识,希望对你有一定的参考价值。
小q的第 7 篇原创文章
标签:推荐系统
全文共约10000字,预计花60分钟
上一篇文章《
》主要讲述了推荐系统的一些基础知识,涉及到了很多基础推荐算法模型。在这篇文章,想要以更高阶的思维框架来诠释推荐系统。
那什么是推荐系统的中级化呢?根据facebook最新的一篇论文《deep learning recommendation model for personalization and recommendation systems》里写道,目前的推荐系统都往深度学习的怀抱里去投入了,从基于邻近关系的协同过滤到矩阵分解,预测模型从简单的线性模型到深度网络。由于物联网和5G的逐渐普及,新的行业形态会产生新的推荐需求,而传统的推荐系统无法通过一些基础的算法模型来解决这些需求。
小q认为中级推荐系统与初级推荐系统里从数据收集、特征工程、推荐模型到得出推荐结果的这套推荐流程基本不变,唯一提升的方面是需要通过更为复杂的算法模型来给用户做更精准更快速的推荐的系统(*复杂的定义:基于统计学、ML、数据挖掘等领域的结合)。方便大家理解,依惯例直接上图!
跟产品的迭代一样,中级推荐系统就像是产品的2.0版本,初级推荐系统就是1.0版本。中级推荐系统的出现是初级的推荐系统有一定的问题。初级推荐系统的问题体现在三个方面:
1)局限性:新行业形态导致的新推荐需求,初级的作用有限
尤其是在冷启动阶段,这个阶段没有用户行为数据,新的标的物也要被推荐出去,一般都是利用基于内容的推荐系统来让用户与标的物精准地匹配。
任何基础的事物一旦发展起来都会变的更复杂,需要多维度去看待。尤其在互联网行业,人工智能的崛起,将可能会彻底改变现在的互联网。因此,用批判性思维去看待人工智能,机器学习的不断优化和可迁移性是必然趋势。第一,中级推荐系统已经解决了初级推荐系统的一些问题。第二,中级推荐系统是采用更高效和多维度的算法来提高算法准确率、更快得出推荐结果。这样看来,中级化的推荐系统是社会进程中一个必要的中间产物。(温馨提示哦:如果有读者怕读晕,下文可以只看每个算法的总结图哈)
推荐系统虽说是社会进程中一个必要的产物,也需要辩证地来看它在社会发挥的价值。目前推荐系统的好与不好对推荐系统今后的迭代优化有非常重要的引导作用。就像找(换)对象一样,对于一个全新的对象,目前Ta的好与不好会让自己知道自己的恋爱底线以及理解认清陪伴自己走到最后那个人的必要素质。其本质都是给予新的解决方案做一次次评判,前者是为了解决用户与信息能更大化更精准匹配,后者是为了解决让人们的情感更大化满足。这时候就需要有一套评判标准。
正如《推荐系统实践》和《机器学习》两本专业书籍解释的一样,推荐系统的参与者是用户、网站和内容提供方,一个好的推荐系统就是要做到这三方共赢的系统。为了“全面评估推进系统对三方的利益影响”,需要知道评判指标,其中主要有精准度、覆盖度、新颖度、惊喜度、信任度、透明度等。这里不展开来讲了~
知道了评测指标,用什么方法去评判它也是非常重要。推荐系统的实验方法主要分三种:离线、实时和用户问卷。这篇文章主要讲前两种方法(参考推荐系统实践)。一个新的推荐系统最终上线,需要完成这三个实验:离线实验(证明在很多离线指标优于现有的算法)-用户调查(确定用户满意度不低于现有的算法)-在线实验(确定在关心的指标上优于现有的算法)。
离线实验的步骤共有4步。第一步,通过日志系统(kafka等)获得用户行为数据,并按照一定格式生成一个标准的数据集。第二步,将数据集按照一定的规则分成训练集和测试集。第三步,在训练集上训练用户兴趣模型,在训练集上进行预测。第四步,通过事先定义的离线指标评测算法在测试集上预测结果。如果预测结果好的话,说明这个模型是好的模型。