以“协同过滤”算法探究人工智能中的数据与算法——以“互联网应用中的好友推荐”为例编程计算机

《义务教育信息科技课程标准(2022年版)》(以下简称“新课标”)倡导真实性学习,注重科学原理指导实践应用,探索通过场景分析进行原理认知并能够应用迁移。关于人工智能的课程内容主要为:应用系统体验、机器计算与人工计算的异同、伦理与安全挑战。

在“模块9人工智能与智慧社会”中,新课标要求通过生活中的人工智能应用将智能化全面渗透到社会的各个领域中,让学生理解人工智能的特点、优势。本课主要针对新课标第2条“通过分析典型的人工智能应用场景,了解人工智能的基本特征及所依赖的数据、算法和算力三大技术基础”开展教学设计。学业要求为:能识别身边的人工智能应用,理解人工智能与现实社会的联系,了解人工智能的三大技术基础。

基于对新课标的分析,笔者确定了本课(第二课时)的教学内容:从生活中的交友类比到计算机中的好友推荐,在此过程中理解协同过滤,并对人工智能中数据和算法的重要性产生直观的认识。

学业要求分析

新课标提出,要了解人工智能的三大技术基础,即数据、算法和算力。笔者将本课的学习要求分解为“生活中的好友推荐→计算机中的好友推荐”,并将好友的推荐方式分为“志同道合”和“好友关系”,学生将生活经验迁移到算法原理中,并对其中的数据和算法的重要性产生直观认识,由此理解人工智能的技术基础。

学习对象分析

通过问卷调查,笔者了解到学生对交友的话题很感兴趣,而且他们普遍使用社交软件和网站,对通过算法进行好友推荐的方式感到好奇。学生虽然对互联网应用的基本概念和常用功能有一定的了解,但对推荐算法的原理和实际应用较为陌生。

教学目标

①通过生活中的交友,类比并理解互联网应用中的好友推荐方法。

(信息意识、计算思维)

②通过对交友过程的抽象,理解根据兴趣爱好等特征及好友之间的关系推荐好友。

(计算思维、数字化学习与创新)

③通过亲历好友推荐的过程,初步了解人工智能中的协同过滤算法的实现关键。

(计算思维)

④能将推荐算法应用到更多场景中,并意识到推荐功能中的数据安全等问题。

(信息社会责任)

教学重难点

重点:理解好友推荐。

难点:协同过滤算法实现过程的理解。

教学策略

笔者采用多元化的教学方法,包括UMU在线讨论、卡片小调查、角色模拟等,梳理自己在日常生活中的交友过程;在迁移类比到计算机中之后,通过丰富的教学素材,包含网页表单填写和数据下载,辅助学生亲历数据采集的过程,理解数据采集的过程和数据的重要性;而通过编程运行结果计算得到的好友相似度能吸引学生的注意,提升他们学习本课的兴趣,帮助他们养成用数据分析问题的思维,并理解算法的重要性。

教学准备

UMU在线学习单、网页表单、调查卡片、Python程序。

教学过程

1.课题引入

问题情境:教师提问(学生)是否经历过互联网应用中的好友推荐,并展示互联网中的“好友推荐”功能。然后教师提问这种推荐方式如何实现,引入课题研究。

课题引入:教师引导学生思考日常生活中的交友方式或推荐好友的方式有哪些,并根据学生的回答引出好友推荐的两种方式:①在某些兴趣方面比较相似,也就是志同道合。②通过好友关系认识。

设计意图:由学生感兴趣的话题和互联网应用引入本课,能起到很好的激趣作用。同时,通过生活中的交友引入两种交友方式,为后续基于协同过滤算法展开好友推荐做铺垫。

2.以“志同道合”推荐好友

问题情境:生活中“志同道合”的好友是怎么推荐的呢?你们之间有多像才成为朋友?如何迁移到计算机中通过“志同道合”来推荐好友呢?

活动1:学生在UMU中对话题“你认为志同道合要在哪些方面比较相同或者合得来呢?”展开在线讨论。

活动小结:教师将学生的讨论结果生成UMU关键词画面,揭示“志同道合”的热词,包含品格、性格、学习、兴趣等。师生共同讨论,明确还需要进一步将讨论结果中的兴趣详细化,补充了画画、音乐、唱歌、篮球、看书等。

小调查:生活中如何根据特征确定好友?学生在卡片上勾选这几个特征的重要程度,并交换查看是否可以成为好朋友。教师随机选取两位学生的卡片(如表1),全班学生共同分析这两位同学是否有可能成为朋友。

小调查小结:师生在分析过程中归纳关键点,两个人是好友的关键——找特征,特征关联且重要性相似,如果相似,可以把相似度高的人推荐为好友。也就是我喜欢的朋友是跟我有一样特征的人,因此如果A和B在这些特征方面与我的相似度高,就会推荐给我做朋友。

活动2:计算机通过“志同道合”推荐好友。

数据采集:学生通过网页表单填写数据,全班一半学生采集的是4项特征数据,另一半学生采集的是8项特征数据(如图1)。

图1

简析程序:学生通过程序注释理解算法,分小组讨论,完成UMU中的算法步骤排序。教师分析排序结果,统一简析程序的算法核心,认识“算法”的意义。

核心程序:(略)。

运行程序:学生运行程序,观察结果。

教师分别请两个组的学生展示他们的程序运行结果,如图2所示(a为4个特征的数据运行结果,b为8个特征的数据运行结果)。使用了4个特征的学生相似度都很高而且差别小,而使用了8个特征的学生相似度有所降低且差距拉大,师生共同梳理:在特征选择时要注意能刻画人物特点且数量适中,虽然特征数量越多刻画得越准确,但是这也会引起效果的降低和数据量的加大。

图2

活动小结:师生共同整理好友推荐过程——确定特征→确定描述特征的方法→采集数据→计算相似度→推荐好友。用到的算法是协同过滤算法。

设计意图:本环节首先通过卡片调查的方式从学生的实际入手,梳理交友过程和其中的关键点,然后引申到计算机中的好友推荐,引导学生初步理解协同过滤算法。

3.“好友关系”推荐好友

活动3:计算机通过“好友关系”推荐好友。

数据采集:学生在网页表单中选择自己的好友(如图3),提交数据后(如表2),下载数据。

图3

核心程序代码:(略)。

运行程序:学生运行程序,并观察结果(如图4)。在程序运行结果中进一步体会根据好友关系推荐好友的过程。

图4

活动小结:在通过好友关系进行好友推荐时,协同过滤算法的“同”不再是根据特征,而是根据两个人在共同好友方面的相似度,在计算得到相似度之后,根据相似的人的好友进行好友推荐。

设计意图:本环节首先通过角色模拟的小活动引入生活中如何通过好友关系交到新的朋友,再引申到计算机中,引导学生对协同过滤算法推荐的另一种方式有新的认识。

4.协同过滤算法的其他应用

课堂总结:学生结合两种方法的好友推荐进行异同点比较(如图5),再次深化好友推荐的过程,并从中感受数据和算法的重要性。师生共同总结这节课学习的好友推荐的两种方法和其中的协同过滤算法。

图5

拓展:学生根据已有的经历和本节课的学习拓展协同过滤算法的应用。

设计意图:本环节在总结基于协同过滤的好友推荐的基础上,由人到物,拓展思路,同时为引入下一个课时做铺垫。

5.推荐系统的两面性

问题情境:推荐系统中可能会隐含哪些问题?该如何避免?

活动4:请你结合所学知识分析推荐系统可能存在的问题,并谈谈你觉得该如何避免这些问题的出现。

活动小结:推荐系统可能会泄露个人隐私、不停推荐同一类物品、不能看到其他类型的信息和物品(信息茧房)。结合使用互联网应用的经历,需要在注册软件时关闭一些权限和个性化推荐等。

设计意图:本环节主要围绕好友推荐中可能隐含的弊端以及相应的应对措施进行分析。学生在学习本课之后,能提升数据安全意识和防范能力。

教学反思

本课围绕互联网应用中的好友推荐,基于学生生活中的交友情境,由学生的生活经验出发,类比到计算机中的好友推荐。从学生的生活经验出发,根据志同道合和好友关系进行好友推荐,这两种方法分别指向了计算机中的好友推荐采用的协同过滤算法的两种经典使用方法:基于项目的协同过滤和基于用户的协同过滤。

学习中通过形式各样的活动和信息科技课程独有的网页表单数据采集和编程验证方式,使学生亲历了整个好友推荐的过程,从确定采集数据到采集数据、下载数据,再到运用数据进行程序计算,这些环节让学生对整个过程有了清晰的认识,体会到数据和编码的重要性。

本课在评价环节还有需改进的地方,如果能使用更加清晰的评价方式,如制作过程性评价表以及自评和互评表,让学生的过程性评价变得更加明确,会帮助学生更好地吸收课堂新知。

本文作者:

李敏

天津市南开中学滨海生态城学校

引用请注明参考文献:

李敏.以“协同过滤”算法探究人工智能中的数据与算法——以“互联网应用中的好友推荐”为例.[J].中国信息技术教育,2024(05):30-34.

THE END
1.协同过滤算法深入解析:构建智能推荐系统的核心技术在这种背景下,推荐系统应运而生,成为帮助用户过滤信息,找到自己感兴趣内容的有效工具。协同过滤算法作为推荐系统中的一种核心技术,广泛应用于电商、社交媒体、音乐、电影等多个领域,极大地改善了用户体验。本文将对协同过滤算法进行深入解析,让我们一起探讨这一神奇的技术。https://developer.aliyun.com/article/1267365
2.融合隐语义模型的聚类协同过滤AET协同过滤技术是现在推荐系统中应用最广的算法[2],它的主要思想是根据用户对相似项目的评分来预测对目标项目的评分[3-4]。基于这种假设,大部分用户对两个商品i和j的评分都很相似,那么就可以考虑将其中一个商品推荐给只对另一个商品有评分的用户。基于项目的协同过滤找到目标项目的若干近邻,产生推荐列表。传统的协同...http://www.chinaaet.com/article/3000014841
1.协同过滤电子商务 推荐系统的一种主要算法。 协同过滤推荐(Collaborative Filtering recommendation)是在信息过滤和信息系统中正迅速成为一项很受欢迎的技术。与传统的基于内容过滤直接分析内容进行推荐不同,协同过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信...https://baike.sogou.com/m/v55257271.htm
2.协同过滤算法要点和难点具体应用协同过滤优缺点为了克服这些挑战,未来的发展方向包括混合推荐系统,即结合协同过滤算法和其他推荐算法,形成混合推荐系统,以充分发挥各算法的优势。此外,还有一些研究工作致力于通过深度学习等技术来改进协同过滤算法的性能和准确性。 协同过滤算法是推荐系统中常用的一种方法,其基本原理是通过用户或物品之间的相似性来产生推荐。以下是协同...https://blog.csdn.net/2401_84235249/article/details/138963287
3.基于协同过滤技术的推荐方法研究面对海量的网络资源,推荐系统能够及时跟踪用户的需求变化来自动调整信息服务的方式和内容,是一种极具潜力的解决信息超载的个性化服务技术。协同过滤技术是推荐系统中最广泛使用和最成功的技术之一,在理论研究和实践中都取得了快速的发展。但是随着用户数量和系统规模的不断扩大,协同过滤推荐技术将面临严重的数据稀疏性、超...https://cdmd.cnki.com.cn/Article/CDMD-10056-2010090099.htm
4.推荐方法范文8篇(全文)为了建立动态用户文件, 将用户行为记录按时间序列排序, 因加入了时间维, 0实例大大增加, 导致了推荐精度降低。为此, 采用SOM的时间序列数据挖掘技术, 对用户的交易进行聚类处理, 并根据用户的购买行为将其划分为不同的簇, 以避免协同过滤技术稀疏性问题。依据SOM的聚类结果, 形成动态用户文件。https://www.99xueshu.com/w/filew2656igm.html
5....协同过滤算法应用协同过滤和算法推荐JAVA 协同过滤 算法应用 协同过滤和算法推荐 最近找工作的时候发现,机器学习算法工程师往往和推荐算法相关联,之前对推荐算法并不了解,所以现在我也是零基础入门一下推荐算法。这篇文章是我个人的学习笔记。 文章目录 1 基于用户user-based 1.1 寻找偏好相似的用户...https://blog.51cto.com/u_16213724/11038176
6.问题瓶颈(精选十篇)[4]冷亚军, 陆青, 梁昌勇.协同过滤推荐技术综述[J].模式识别与人工智能, 2014 (8) :123-127. 加快解决土地资源瓶颈制约问题 篇5 南充市嘉陵区政协经济委副主任、区国土局副局长 唐林 近年来,嘉陵区委、区政府带领全区人民,坚持以科学发展观为指导,紧紧围绕建设“川东北新兴经济强区”目标,大力实施“四城两...https://www.360wenmi.com/f/cnkeyswkqe5g.html
7.协同过滤算法腾讯云开发者社区优点:综合了基于用户和基于物品的优势,提高了推荐系统的性能。 缺点:实现较为复杂,计算量相对较大。 4.简单实例 实现协同过滤算法涉及到大量的数学和编程细节。在这里,我将给出一个简化的例子,用于说明基于用户的协同过滤算法的基本步骤。实际应用中,你可能需要更复杂的技术和数据处理。 https://cloud.tencent.com/developer/article/2389581