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

《义务教育信息科技课程标准(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.基于协同过滤算法的推荐系统推荐系统有着广泛的应用,电影推荐,商品推荐等都用到推荐系统。本文介绍协同过滤算法的基本原理,进而理解推荐系统的实现原理。 推荐系统的描述 我们以电影推荐系统来看一下怎么样以机器学习的角度来描述推荐系统。我们记 $n_u$ 为用户的数量,$n_m$ 为电影的数量,$r(i,j) = 1$ 表示用户 j 对电影 i 进行过...https://www.jianshu.com/p/9b06ef8c79fa
2.基于协同过滤算法图书推荐系统的设计与实现.pdf基于协同过滤算法图书推荐系统的设计与实现.pdf 原文免费试下载 想预览更多内容,点击免费在线预览全文 免费在线预览全文 本科毕业设计 论文题目:基于协同过滤算法的图书推荐系统的 设计与实现 摘要 随着网络和信息技术的飞速发展,电子图书资源的数量也在以惊人的速度增 ...https://max.book118.com/html/2024/0217/7053136045006042.shtm
3.协同过滤(基于用户)的推荐系统.zip本项目是一套基于协同过滤推荐算法的电影推荐系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战的python学习者。也可作为课程设计、期末大作业 包含:项目源码、数据库脚本、软件目实战练习的工具、项目说明等,该项目也可以直接作为毕设使用。 基于协同过滤的电影推荐系统下载即可使用,无需修改,确保可以直接运行...https://www.iteye.com/resource/qq_44593353-12488115
4.协同过滤算法深入解析:构建智能推荐系统的核心技术协同过滤算法是推荐系统中的一种核心技术,通过挖掘用户之间的相似性或物品之间的相似性,为用户推荐与其兴趣相关的物品。本文详细介绍了基于用户的协同过滤、基于物品的协同过滤以及矩阵分解方法等常见的协同过滤技术。 然而,协同过滤算法也存在一些局限性。例如,冷启动问题(Cold Start Problem),当新用户或新物品加入系统时...https://developer.aliyun.com/article/1267365
5.协同过滤推荐研究综述AET目前,应用于推荐系统的算法主要分三类:基于内容的过滤推荐算法、协同过滤推荐算法及混合推荐算法。 基于内容的过滤推荐算法[2]是对用户的兴趣进行分析,构成用户配置文件,并将其和文件集中的文件用共同的特征变量表示。最后比较两者的相似度来为用户进行推荐。随后,通过用户的反馈信息,不断更新用户配置文件,以此来动态地...http://www.chinaaet.com/article/212308
6.新传说之常见算法市面比较常用的推荐系统算法包括:一是基于内容的...新传说之常见算法 市面比较常用的推荐系统算法包括: 一是基于内容的推荐。这种推荐方法主要依赖于信息内容,推荐类似用户曾经感兴趣的信息内容; 二是协同过滤。这种推荐方法主要依赖于用户的行为,比如用户的点击、评论等,根据用户如果在某一方面有相似行为,那么他们在其他方面的行为也可能相似的假设,来进行推荐; 三是混合...https://wmjx.m.jxwmw.cn/topics/news/591192
7.相似度计算方法:余弦相似度基于用户的协同过滤算法是推荐系统中最古老的算法,这个算法是1992年提出的,是用在了邮件过滤系统中,后面被用到了新闻过滤系统中。简单的来说,推荐系统中,基于用户的协同过滤就是,先找到与目标用户兴趣相似的用户,然后把这些用户喜欢的推荐给目标用户,先找到与目标用户兴趣相似的用户就是计算用户之间的相似度,今天主要...https://www.imooc.com/article/254371
1.基于协同过滤的推荐系统腾讯云开发者社区基于协同过滤的推荐系统 推荐算法是对我们现实生活影响最大的计算机算法,它影响了我们看到的新闻、广告、以及我们身边现实环境的东西,这些最终决定了我们的态度和生活方式,尤瓦尔.赫拉利在《未来简史》中声明“算法会比我们更了解自己”。 本文介绍了一种较基础的推荐算法,协同过滤Collaborative Filtering。基于用户购买的...https://cloud.tencent.com/developer/article/1366089
2.基于协同过滤算法的图书推荐系统(源码+定制+开发)图书推荐平台优化...在这样的背景下,基于协同过滤算法的图书推荐系统应运而生,旨在为用户提供个性化的书籍推荐,从而提升阅读体验和效率。 该系统采用Spring Boot, Vue, MySQL, 爬虫技术和大数据处理技术,不仅优化了书籍的搜索和分类,还通过协同过滤算法推荐算法精准匹配用户偏好,实现个性化推荐。系统包括用户注册登录、个人信息管理、书籍收藏...https://blog.csdn.net/m0_64148096/article/details/143218511
3.基于协同过滤算法的论文推荐系统研究与设计基于上述问题,本文设计了一个论文推送系统。改进了传统基于用户的协同过滤算法,在计算用户与用户之间的相似度时加权融合了用户点击和搜索词的相似度,并且计算点击得分的时候会对点击文章的时间做衰减处理,进而更加精准地召回近邻用户。通过实验,本文选取多样性和准确率这两个指标来对本文所提出的论文推荐算法进行评价。https://cdmd.cnki.com.cn/Article/CDMD-10488-1018203115.htm
4.java代码实现协同过滤算法商品推荐基于协同过滤算法在推荐系统的众多方法之中,基于用户的协同过滤是诞最早的,原理也比较简单。基于协同过滤的推荐算法被广泛的运用在推荐系统中,比如影视推荐、猜你喜欢等、邮件过滤等。该算法1992年提出并用于邮件过滤系统,两年后1994年被 GroupLens 用于新闻过滤。一直到2000年,该算法都是推荐系统领域最著名的算法。 https://blog.51cto.com/u_16213604/10293525
5.武汉大学学报(理学版)推荐系统一直以来都是很活跃的研究方向。回顾了近5年来推荐系统涉及的数据集、算法、效果评估的研究发展状况,给出了推荐系统在互联网应用场景中的系统架构,从工业知识与经验以及工业生产工艺与工艺参数这两方面对推荐系统工业生产中的最新应用做了介绍。分析了推荐系统中http://xblx.whu.edu.cn/zh/article/20898290/
6.相似度算法(精选十篇)1.1基于语义资源的词语相似度算法 近年来, 一些诸如同义词词林、WordNet、知网这种大规模可量化的语言本体的诞生与发展, 为进行真实文本的语义分析和理解提供了强有力的资源支持。特别是最近几年“知网”等语义资源不断丰富发展, 中文语义研究方向逐渐增多。知网作为一个知识系统, 是一个网而不是树, 它主要反映概念...https://www.360wenmi.com/f/cnkeyytvb26n.html
7.推荐系统推荐系统简介分类以及长尾问题推荐系统简述 当下我们已经处于信息爆炸的时代,要从庞大的各类数据库中提取有用的信息,并能为目标用户提供他们需要的信息变得越来越困难。推荐系统正是为了解决这个问题所提出的。 推荐系统目前在很多领域都发挥着重要的角色,比如电子商务... 查看原文 推荐算法:基于物品的协同过滤算法 ...https://www.pianshen.com/article/85642112599/