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

《义务教育信息科技课程标准(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.什么是智能推荐?智能推荐的原理是什么?深度学习模型在推荐系统中的应用主要有两种:一是精准度更高的语义模型用于物品相似度计算;二是对用户行为进行抽象后提取特征进行点击概率预测; 4、基于关联规则的推荐 在电商领域应用较为广泛的另一种推荐算法是基于关联规则的推荐,从本质上讲它类似于协同过滤算法,只是它协同的是用户自己的购买记录。典型的故事是啤酒...https://www.niaogebiji.com/article-106383-1.html
3.协同过滤(基于用户)的推荐系统.zip基于协同过滤的论文推荐系统协同过滤算法(Collaborative Filtering)是一种经典的推荐算法,其基本原理是“协同大家的反馈、评价和意见,一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息”。它主要依赖于用户和物品之间的行为关系进行推荐。 协同过滤算法主要分为两类: 基于物品的协同过滤算法:给用户推荐与他之前...https://www.iteye.com/resource/qq_44593353-12488115
4.融合隐语义模型的聚类协同过滤AET摘要:协同过滤算法是推荐系统中应用最广泛的算法,随着用户数量和物品数量的不断增加,传统的协同过滤算法不能满足推荐系统的实时需求。本文提出了一种融合隐语义模型的聚类协同过滤算法。首先利用隐语义模型分解评分矩阵,然后在分解后的矩阵上利用传统的聚类算法聚合相同类别的物品,最后在相同类别的物品之间进行基于项目的协...http://www.chinaaet.com/article/3000014841
1.协同过滤推荐算法书接上回:基于内容的推荐算法 协同过滤算法简介 顾名思义,“协同过滤”就是协同大家的反馈、评价和意见一起对海量的信息进行过滤,从中筛选出目标用户可能感兴趣的信息的推荐过程。 算法大致分为两种,一个是基于用户的协同过滤,另一个是基于物品的协同过滤。 https://blog.csdn.net/zc655545/article/details/142519227
2.算法推荐算法协同过滤腾讯云开发者社区2 协同过滤算法如何预测? 什么是协同过滤 协同过滤推荐(Collaborative Filtering recommendation)是在信息过滤和信息系统中正迅速成为一项很受欢迎的技术。与传统的基于内容过滤直接分析内容进行推荐不同,协同过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户...https://cloud.tencent.com/developer/article/1170685
3.基于python如何开发一个智能推荐系统我们的推荐系统将使用以下组件: 数据收集:收集用户的浏览和购买历史数据。 数据预处理:清理和准备数据。 推荐算法:使用协同过滤算法来生成推荐。 用户接口:提供推荐结果给用户。 数据模型 为有效管理用户与商品的关系,我们需要构建一个简单的数据库结构。 https://blog.51cto.com/u_16213410/11904649
4.基于Spark的农产品智能推荐系统研究15沈黄金;朱大洲;王辉;刘蕾;基于Spark的农产品智能推荐系统研究[J];电子技术与软件工程;2020年21期 16朱炳旭;叶传奇;王君洋;李应霆;李玉进;基于Spark大数据处理的电影推荐系统设计与实现[J];无线互联科技;2021年11期 17于娜娜;王中杰;基于Spark的协同过滤算法的研究[J];系统仿真技术;2016年01期 ...https://cdmd.cnki.com.cn/Article/CDMD-10223-1021064076.htm
5.观点智能推荐时代的C类电商,算法属于每一个人逆推协同过滤算法,不仅仅是推荐 在C类电商中,智能推荐系统不仅仅要帮助用户找到心仪的产品,还要帮助普通卖家更好的把握住流量。 我们可以看看早期的电商推荐系统是怎样的。 以搜索展示为例,早期电商推荐最主要的原理就是文本相关性——也就是关键词。最典型的表现,就是淘宝商品往往会有一个特别长的标题。 https://www.tmtpost.com/2869092.html
6.希冀基于Apriori算法的投票模式挖掘 基于Apriori算法发现毒蘑菇相似特征 FP-Growth算法 基于FP-Growth算法Twiter数据挖掘 基于FP-Growth算法新闻网站点击流挖掘 数据降维 PCA算法 基于PCA算法的半导体制造数据降维 SVD算法 基于SVD的图像压缩 推荐系统 协同过滤算法 https://www.educg.com/ai.html
7.推荐系统协同过滤算法用户相似度计算:可以采用余弦相似度、皮尔曼相关系数等;在对传统协同过滤改进的工作中,研究人员也是通过对相似度定义的改进来解决传统的协同过滤算法存在的一些缺陷。下式中, 分别表示用户i,j对应的向量。 表示用户 对物品 的评分, 表示用户 对所有物品的平均评分, ...https://www.jianshu.com/p/0023df43622a
8.智能科学与技术智能信息系统开发方向专业方向介绍智能科学与技术专业智能信息系统开发方向旨在培养具备基于计算机技术、自动控制技术、智能系统方法、传感信息处理、大数据分析等科学与技术,能进行信息获取、传输、处理、优化、控制、组织等并完成系统集成的,具有相应智能系统工程实施能力,具备在机器人、智能信息系统等领域从事工程项目开发与应用设计、管理等工作的、具有宽口...https://www.greathiit.com/html/2021/direction_0507/1831.html