“推荐算法”究竟是什么?这篇科普报告帮你快速了解

算法究竟是什么?我们为什么需要算法?

算法是否能服务人在获取信息时对效率提升、公平发展的诉求?

今年,在中国人民大学高瓴人工智能学院举办的“推荐算法社会价值与可持续发展”研讨会上,我们发布了《算法向善与个性化推荐发展研究报告》(下称《报告》)。

在这份算法科普性报告中,课题组围绕这些热点问题进行了探讨。

1、算法是什么?我们为何需要算法?

互联网数据中心发布的《数据时代2025》报告显示,全球每年产生的数据将从2018年的33ZB(十万亿亿字节)增长到175ZB,相当于每天产生491EB(百亿亿字节)的数据。

图1:用数学公式解决“鸡兔同笼”问题体现了算法思维

2、推荐技术发展历史上的关键事件有哪些?

“信息过载(InformationOverload)”是在上个世纪80、90年代就已经存在的概念。随着信息技术和互联网的快速发展,人类从信息匮乏时代走向了信息过载时代。

《报告》研究指出,早期的研究提出了通过信息检索和过滤的方式来解决这个问题。

到了上世纪90年代中期,研究者开始通过预测用户对推荐的物品、内容或服务的评分,试图解决信息过载问题。推荐系统由此也作为独立研究领域出现了。

图3:推荐系统发展历史

3、推荐系统有哪几个类型?

在《报告》看来,推荐系统发展至今,其核心技术可大致分为“基于协同过滤的推荐方法”、“基于内容的推荐方法”,以及“混合推荐方法”。

基于协同过滤的推荐方法,本质是根据相似的用户具有相似的喜好,推荐给他们喜欢的物品、内容或者服务。

图4:基于协同过滤的推荐方法

图5:基于内容的推荐方法

混合推荐方法:衡量各推荐方法的利弊,扬长避短,通过加权、切换、混杂、特征组合等方式避免或弥补各推荐技术弱点,进一步提升推荐方法性能。

图6:融合知识图谱的混合推荐方法

4、什么是个性化推荐算法?

纵观推荐系统的发展历史,可将其大致分为非个性化推荐系统和个性化推荐系统。

其中,个性化推荐系统,就是为每一个特定用户提供特定的服务,实现“千人千面”,服务个性化诉求。

图7:在个性化推荐算法下,不同人搜索“京剧”一词结果不同

5、推荐算法,会导致信息窄化吗?

在外界的印象里,个性化推荐就像漏斗一样,会将推荐内容与用户相匹配,倾向于向用户推荐高度符合其偏好的内容,致使推荐的内容越来越窄化。

但与外界的固有认知相反,《报告》认为在行业实践中,互联网应用(特别是位于头部的大型平台)有追求算法多样性的内在动力。

推荐技术并不是单纯地“投其所好”。在一些专家看来,在推荐已知的用户感兴趣内容基础上,如果能深入激发、满足用户的潜在需求,那么算法就能更好地满足人对信息的多维度诉求。

6、算法如何服务人对安全的诉求?

《报告》观察发现,当前很多内容创作与分发平台,从创立之初就将用户和内容安全视为最高优先级问题。

以今日头条为例,在内容安全技术方面采用了鉴黄模型、谩骂模型以及低俗模型等内容识别技术。抖音安全中心则自主研发反欺诈模型、风控策略,结合抖音产品功能、内容属性、用户行为特征,对欺诈行为进行主动拦截。

图9:抖音安全中心通过算法技术主动拦截欺诈行为

7、推荐技术如何服务人对公平的诉求?

《报告》认为,推荐系统中的“公平”是站在不同角度定义问题。

比如在招聘网站上,求职者方可能将公平定义为“相同的学历和能力可以被推荐类似的工作,而不受国籍、种族和性别等偏见”;对于招聘方,“公平”可能为“系统可以将他们的招聘信息推给优质的求职者,而不会因为公司的背景等因素,只将招聘信息推给不太合适的求职者”。

当前,学界对算法公平性的研究与探讨正不断深入。

图10:在抖音等国内短视频直播平台上,也能看到更多推荐系统服务“用户”、“物品”公平的案例

THE END
1.算法的概念及其特征但其实啊,算法没那么玄乎,它就在咱们的生活里到处蹦跶呢! 您想想,咱每天早上起床,先刷牙洗脸,再穿衣服出门,这一系列的步骤,不就是一种简单的“算法”吗?只不过咱们没把它叫得那么专业罢了。 那到底啥是算法呢?简单说,算法就是解决问题的一系列明确步骤。就好比您要做一道红烧肉,得先准备食材,切好肉,炒糖色https://wenku.baidu.com/view/b6df04096adc5022aaea998fcc22bcd126ff428e.html
2.什么是算法?没有输出的算法是毫无意义的;5、可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。 0 0 0 九州编程 一、什么是算法算法是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。算法常常含有重复的步骤和一些比较或逻辑判断。如果一个算法有缺陷,https://m.imooc.com/mip/wenda/detail/509729
3.什么是算法?算法的发展历程?特征?什么是复杂度?算法的产生一、什么是算法? ? 官方的概念呢,算法(algorithm)是解决一系列问题的清晰指令,也就是,能对一定规范的输入,在有限的时间内获得所要求的输出。 //我自身的理解呢,就是能够让我们编写程序代码更简洁,能够提升算法的运行效率。 二、算法的发展历程 算法的发展历程可以追溯到古代的数学和逻辑研究,随着计算机科学的发https://blog.csdn.net/weixin_67739446/article/details/141789238
4.一文看懂人工智能里的算法(4个特征+3个算法选择Tips)人工智能有三驾马车:数据、算法、算力。本文重点介绍算法相关的知识。 本文将介绍算法在人工智能里的概念,算法的4个特征、6个通用方法。以及在选择算法时需要注意的3个点。 什么是算法? 简单的说,算法就是:解决问题的手段,并且是批量化解决问题的手段。 https://easyai.tech/ai-definition/algorithm/
5.什么是算法?——算法轻松入门Ribbon什么是算法? 算法是利用计算机解决问题的处理步骤,简而言之,算法就是解决问题的步骤。 算法不仅仅用于计算机的数据处理,现实世界中的各种问题也需要结合算法的概念来解决,其中,具有代表性的就是烹饪中用到的食谱,食谱是各种美味料理的制作方法,需要用一定的步骤表示出来。 https://www.cnblogs.com/Ribbon/p/4519392.html
6.算法是指什么?算法概述算法是指什么?算法概述 描述 一、算法概述 算法是指解题方案的准确而完整的描述,是一系列解决问题、高度符合逻辑性、可执行性的指令集合,代表运用系统方法描述解决问题的策略机制。算法能够对一定规范的输入在有限时间内运行得到输出。 算法中的指令描述的是计算过程,当其运行时能从初始状态和初始输入(初始输入可能为https://m.elecfans.com/article/2008707.html
7.什么是算法我们说过算法与计算机无关,但现在绝大多数人把它们联系在一起。当算法与计算机结合在一起时,算法展现出其潜力,这是事实,但计算机实际上是一个特殊的机器,可命令它做一些确定的事物。我们通过编程(programming)来命令它,通过用编程来执行算法。 引自 算法、计算机和数学12 https://book.douban.com/annotation/137133352/
8.什么是密码算法?马在旅途:什么是密码算法? 回复:密码算法是实现密码对信息进行“明”“密”变换的一种特定的规则。不同的密码算法有不同的变换规则。因此,密码算法也是加密算法、解密算法、签名算法和认证算法等各类算法的统称。 密码算法对密码系统的安全性有着至关重要的意义。衡量密码算法的优劣采用的是密码强度的概念。密码强度https://www.oscca.gov.cn/sca/hdjl/2016-11/18/content_1002847.shtml
9.什么是哈希算法?常见的哈希算法有哪些?区块链技术区块链这篇文章主要介绍了什么是哈希算法?常见的哈希算法有哪些?的相关资料,需要的朋友可以参考下本文详细内容介绍 哈希算法是一种数学函数或者算法,它可以将任意长度的数据(称为“消息”)转换为固定长度的字符串(称为“哈希值”或者简称“哈希”)。哈希算法的作用是将数据进行一次性的加密,从而生成一个唯一且不可逆的标识https://www.jb51.net/blockchain/891421.html
10.什么是算理和算法在计算教学中,算理与算法是两个不可或缺的关键。算理是对算法的解释,是理解算法的前提,算法是对算理的总结与提炼,它们是相互联系,有机统一的整体。透彻理解算理和熟练掌握算法是提高学生计算能力的重要保证。那么什么叫做算理和算法呢?算理:即计算的原理或者道理,它有两层含义:一是列式的依据,即某一问题为什么要用https://www.unjs.com/xuexi/jiaoyuwenzhai/20111016201853_703871.html
11.什么是机器学习算法?IBM机器学习算法是 AI 系统用来执行任务的一套规则或流程,最常见的用途是发现新的数据洞察或模式,或者从一组给定输入变量中预测输出值。机器学习 (ML) 利用算法来学习。 行业分析师一致认同机器学习及其底层算法至关重要。Forrester 指出:“机器学习算法的进步让营销数据的分析更加精确深入,可帮助营销人员了解营销细节(如https://www.ibm.com/cn-zh/topics/machine-learning-algorithms
12.Vue中的diff算法是什么?什么是diff算法diff算法是指用于比较虚拟什么是diff算法 diff算法是指用于比较虚拟DOM新旧节点之间的变化,找出新旧节点之间的差异,以达到最小化更新视图,提高渲染性能的一种算法。 这个算法有两个基本特点: 比较只会在同层级进行,不会跨层比较。 在diff比较过程中,是从节点的两端向中间比较。 https://juejin.cn/post/7171076476933472293
13.深入理解JVM垃圾回收算法腾讯云开发者社区这一期讲述垃圾回收的算法。我们根据分代的理念讲述一下JVM是使用什么算法对于不同分代的对象进行垃圾回收的的,同样内容十分基础,但是对于学习JVM后续的内容十分重要。 前文回顾 在上一节当中,我们看到了JVM当中堆将分为新生代和老年代,对象优先在新生代分配,以及新生代在长期存活并且满足条件之后进入老年代,介绍了新https://cloud.tencent.com/developer/article/1862200
14.练习——简答题51CTO博客(4)证明算法正确性 (5)算法分析 各步骤之间存在循环和反复过程。 4.什么是算法复杂性?它主要有哪两个方面构成? 答:算法复杂性是算法运行时所需要的计算机资源的量,它包括两个方面:时间复杂性(需要时间资源的量)和空间复杂性(需要空间资源的量) 。 https://blog.51cto.com/u_15127603/3567921
15.线上读书会算法困局——我们都会被困在系统里吗?曹文轩主讲人作去年,《人物》杂志刷屏的那篇《外卖骑手,困在系统里》,将高危职业外卖员的困境带到我们面前,也让我们第一次真正摸清楚背后的始作俑者,也就是“算法系统”。前几天,又一篇北大博士的外卖骑手研究引起了广泛讨论,再一次呈现了算法系统对人的压迫,以及背后的资本对人的异化。那么,算法系统到底是什么?本该服务人的https://www.163.com/dy/article/GAH22JU60514R9P4.html