机器学习编程
站点: | 科创教育数字化教学平台 |
课程: | 人工智能教学指南与实操(中学) |
图书: | 机器学习编程 |
打印: | 访客用户 |
日期: | 2025年05月4日 星期日 01:55 |
描述
不管他们是否意识到,机器学习已经被整合到学生们每天使用的许多应用程序中。从Netflix到自动修正工具,这种人工智能技术被用于快速处理数据,个性化用户体验,并使任务更容易。
“这个项目将有助于扩大学生在中学计算机科学课程中接触人工智能基础知识的机会。这个项目为围绕人工智能的文化偏见和数据集多样性的需求展开对话打开了大门。特别是在考虑到种族不平等和不公正的事件时,强调人工智能的重要性至关重要,因为它只取决于为机器学习提供的数据。这种强调将为丰富的讨论打开大门,并使学生具有文化相关性。”
——Susan Forget, STEM & PLTW教师,Sabin中学
1. 项目概述
在这个项目中,学生将学习什么是机器学习以及它是如何工作的。然后,他们将把这些知识应用到一个程序的开发中,该程序使用他们训练过的机器学习模型。在这个过程中,他们将看到机器学习在开发当今最有效的软件解决方案方面的作用。
学科:计算机科学
预计时长:6-8小时
目标年级:6-12
课程目标
项目结束时,学生将能够:
·训练一个机器学习模型。
·理解数据集里抽样偏差的来源和含义。
·在软件程序的开发中使用机器学习模型。
词汇
人工智能 标签
偏差 机器学习
分类模型 模型
置信度 自然语言理解
数据 抽样偏差
数据集 监督学习
决策树 测试数据
特征 训练数据
标准
ISTE学生标准
1.授权学习者
c.学生使用技术来寻求反馈,以监督和改进他们的实践,并以各种方式展示他们的学习。
3.知识建构者
b.学生评估信息、媒体、数据或其他资源的准确性、视角、可信度和相关性。
5.计算思维者
b.学生收集数据或识别相关数据集,使用数字工具分析它们,并以各种方式表示数据,以促进解决问题和决策。
d.学生了解自动化是如何工作的,并使用算法思维来开发一系列步骤来创建和测试自动化解决方案。
7.全球合作者
b.学生使用协作技术与他人合作,包括同龄人、专家或社区成员,从多个角度检查问题。
ISTE计算思维能力
1.计算思维
b.学习识别何处以及如何使用计算来丰富数据或内容,以解决学科特定的问题,并能够将这些机会与基础的CT实践和CS概念联系起来。
3.围绕计算机的协作
a.建立模型,并与学生一起学习如何制定问题的计算解决方案,以及如何给出和接收可执行的反馈。
b.应用有效的教学策略来支持学生在计算机方面的协作,包括结对编程、以不同的团队角色工作、公平的工作量分配和项目管理。
AI大想法
2.表示和推理
代理维持对世界的表示,并使用它们进行推理。
3.学习
计算机能从数据中学习。
5.社会影响
人工智能可以对社会产生积极和消极的影响。
CSTA K-12计算机科学标准
2-DA-08:使用计算工具收集数据,并转换数据,使其更有用和可靠。
2-DA-09:基于它们生成的数据来改进计算模型。
2-IC-20:比较影响人们日常活动和职业选择的计算技术。
2-IC-21:讨论现有技术设计中的偏见和可访问性问题。
3A-AP-12:创建计算模型,表示从现象或过程中收集的不同数据元素之间的关系。
3A-IC-25:测试和优化计算工件,以减少偏见和公平性缺陷。
3A-IC-26:演示给定算法如何应用于跨学科的问题。
3B-AP-08:描述人工智能如何驱动许多软件和物理系统。
3B-AP-09:使用人工智能算法与人类对手进行游戏或解决问题。2. 准备
材料
• 可连接互联网的电脑或平板电脑,用于访问在线工具和资源。
• 网站:Machine Learning for Kids
教育者支持资源
• 应用:“Explaining Machine Learning with Decision Trees”
高级准备
• 在Machine Learning for Kids网站(ML4K)上设置你的课程。有关创建免费IBM CLOUD帐户和ML4K教师帐户的完整说明,请访问ibm.org/activities/machine-learning-for-kids。您可能想让学生在活动2开始的前一天登录他们的账户,以确认他们可以成功访问平台。
• 为活动3搭建全班“让我快乐”ML4K项目。我们建议您在这个项目中使用ML4K的“全班项目”特性,这样整个班都可以对模型做出贡献,并对数据进行众包。当您创建项目时,选择“Whole-class project”选项,或者在创建项目后,点击“共享”按钮与班级共享项目。视频教程请点击:twitter.com/MLforKids/status/1231578733288579072
• 回顾“泰坦尼克号幸存者”和“让我快乐”ML4K项目的辅助材料。
• “泰坦尼克号幸存者”教师指导文件
• “泰坦尼克号幸存者”学生练习册
• “让我开心”教师指导文件
• “让我开心”学生练习手册
• 为您的学生的最终表现选择一个ML4K项目。
3. 教学
项目教学,包含两个教学活动。
3.1. 开始
活动1:激活先验知识
在这个活动中,学生将通过检查他们可能熟悉的应用程序功能来激活机器学习的先验知识,尽管他们可能没有考虑过这些工具是如何工作的。本文提供的示例探索了使用机器学习处理各种数据类型(文本、数字、图像和声音)的真实场景。如果需要,学生们可以快速搜索,了解更多有关为他们提供动力的人工智能技术。
1. 为学生提供高水平的机器学习介绍。强调机器学习模型可以处理多种类型的数据。配套资源见附录A:拆解人工智能。
2. 对于下面的每个真实世界的例子,展示并让学生在小组中讨论以下问题;然后与全班同学分享他们的答案。
• 这种机器学习技术的目的是什么?
• 这项技术需要分析什么类型的数据才能完成这项任务?
• 这项技术收集什么类型的数据才能为用户完成这项任务?
• 你认为机器学习技术是如何运作的?
以下是用于小组讨论的机器学习的真实世界例子。还包括可选的扩展问题给整个小组讨论。
文本数据。电子邮件、智能设备或搜索查询期间的预测文本。(延伸思考:预测性文本如何知道接下来会发生什么?它是如何学习你的写作风格的?它怎么知道怎么拼你的姓?)
数字数据。根据距离或时间确定最短路线的地图应用程序。(延伸思考:地图应用如何使用数值来计算旅行时间?它们怎么知道是否应该为繁忙的交通分配更多的时间?)
图像数据。用于社交媒体标签或解锁智能手机的面部识别软件。(延伸思考:软件使用哪种面部特征来识别一个特定的人?)
声音数据。像Shazam(QQ音乐)这样的音乐识别应用,可以告诉你正在播放的歌曲的名称和歌手。(延伸思考:应用程序在歌曲中识别了哪些类型的特征?如果多个艺术家都翻唱过同一首歌,那么AI怎么知道它们的区别呢?)
3.2. 更进一步
活动2:在儿童机器学习中训练一个机器学习模型
Machine Learning for Kids(ML4K)是一个免费工具,基于IBM Watson的APIs,允许学生训练和使用机器学习模型。在这个活动中,学生将作为一个班级创建并讨论两个模型,一个使用现有数据集,另一个使用学生创建的数据集。学生不需要为这个活动构建一个编程项目,而是将重点学习如何向机器学习模型提供数据、训练模型和测试模型。
注意: 下面的任务要求学生们思考为什么人们会或不会在泰坦尼克号沉没后幸存下来。如果你认为这个话题可能会让你班上的学生感到不安,你可以跳过这个例子,只通过第二个模型“让我开心”来教授监督式学习、标签、功能、模型、决策树和信心等级的概念。
1. 以班级为单位完成“泰坦尼克号幸存者”项目。这个项目使用提供的数据集来开发一个基于决策树的预测机器学习模型。
• 分发或展示“泰坦尼克号幸存者”项目学生作业表的前13个步骤。
• 班级共同完成前9个步骤。这些步骤建立了一个ML4K”泰坦尼克号幸存者“项目模板,并显示训练数据集。一旦两个标签(“幸存”和“ 未幸存”)和数据被显示,使用视觉教导下列概念:
• 这个活动使用监督式学习来训练一个机器学习模型来分类数据。监督式学习是一种机器学习的形式,在这种学习中,培训者为AI提供培训数据中每个项目的标签。人工智能然后分析每个标签组中的数据,以识别特征中的模式(即定义属性) ,并创建一个模型。
• 在这种情况下,模型将由一个决策树来表示,该决策树查找它在数据中标识的每个定义特性。例如,标签为“大象”的动物数据分类模型,可识别四条腿、大而松软的耳朵和躯干等特征。
• 让学生分析所提供的训练数据,寻找规律。然后利用学生练习表第10步提供的问题进行课堂讨论。
• 按照步骤11-12,在”学习及测试”页面上训练及测试模型。结果提供了预测一个具有特定特征的人是否能在泰坦尼克号沉没后幸存下来,以及人工智能对这个预测的置信度。解释置信度是项目与正确标签匹配的概率。
• 点击”描述你的模型!”按钮来查看机器学习模型的决策树。问学生: 根据决策树中的信息,模型中与“幸存”标签相关的特征是什么?哪些特征与“ 未幸存”标签有关?
2. 以班级为单位完成”让我开心”这个项目。“ 让我开心”项目收集用户创建的数据,创建一个分类器模型,用于判断一句话是赞美还是侮辱。
• 在上课之前,一定要建立和分享一个“让我开心”的“全班项目”版本,这样学生们就可以合作贡献他们各自账户的数据。
• 以班级为单位完成”让我开心”学生工作表的第7-10步。这些步骤打开项目,并将标签“ 善良的事”和“ 恶劣的事”添加到班级项目中。解释说这一次你将创建一个分类模型,它将使用自然语言理解来识别特征,将陈述分类为称赞或侮辱。
• 让学生登录他们自己的账户,从他们的项目列表中打开班级“让我快乐”项目,然后点击 训练 进入标签桶。让每个学生添加一句极好的赞美到“善良的事”桶中和一句学校适当的侮辱到“恶劣的事物”桶中。这是用来教人工智能模型的训练数据。让每个学生添加另一个赞美和侮辱的协作文档(数字,纸张,或白板) ,这将用作测试数据。收集完所有数据后,对模型进行训练,然后使用测试数据列表对其进行测试,以了解其执行情况。让学生知道,你将在下一个活动讨论为什么一个模型在任务中可能做一个好或差的工作。
• 通过让学生使用术语监督式学习、标签、特征、模型、决策树、置信度、分类模型、训练数据和测试数据来解释“让我快乐”模型是如何工作的,从而结束这项活动。
活动3: 数据和抽样偏差
在这个动中,学生将考虑训练和测试数据的数据抽样方式可以影响机器学习模型的输出的方式。然后他们将返回到数据集为他们的“让我开心”模型,并作出改进,以完善数据集。
1. 问学生: 你对“让我开心”模型的表现满意吗?它总是准确的吗?还能再精确一点吗?
2. 告诉学生,人工智能没有自己的观点或想法,只能根据学到的数据做出决定。由于机器学习模型是从训练数据中学习,训练数据样本的质量直接决定了模型的质量。抽样偏差会导致模型不准确,这是由于数据集不能准确地表示标签所造成的。高质量数据集具有以下特征:
• 足够的数据: 人工智能需要足够的例子来识别数据特征中的模式。所需的数据量取决于任务中特定表现目标的准确性。需要的准确度越高,需要的训练数据就越多。
• 准确的数据: 人工智能需要足够的正确类型的例子,以了解所有的正确特征的项目,这些项目应该准确地给予一个特定的标签。这意味着如果有标签缺失或误导的例子,人工智能很可能无法在测试数据中正确识别。抽样偏差的一些例子包括:
• 如果你训练人工智能识别昆虫,但你只训练蚂蚁和甲虫的例子,它可能无法识别螳螂为昆虫,因为一些昆虫的特征会从数据中缺失。同样地,如果模型将被许多国家的许多人使用,但只代表一个国家的昆虫,那么人工智能可能无法识别来自其他地方的昆虫。
• 如果你使用一个数据集来训练人工智能,其中所有昆虫的图像都是在草地上拍摄的,而非昆虫的图像是在不同的地方拍摄的,人工智能可能会将草地作为昆虫标签的一个特征。如果这个模型是用一只狗在草丛中的图像来测试的,它可能会把它标记为一只昆虫。
3.3. 最后的表演
活动4:机器学习编程
为了将他们从这个项目中学习到的知识与计算机科学课程中的其他学习相结合,学生将使用结对编程结对编程
1. ML4K提供了各种带有训练和编码演练的项目工作表以及相应的数据集。选择并分配一个或多个ML4K监督学习项目选项,供您的学生完成。建议初学者ML4K项目基于一些常见的计算机科学课程主题包括:网络安全-面部锁;数据科学——上学之旅;物联网——智能教室和游戏的发展-Snap !
2. 当学生完成这个活动的编程部分后,让他们和他们的搭档回答以下问题。然后全班一起讨论每一个问题。
• 当测试你的模型时,你认为应用程序的表现如何?为什么你认为它表现得好或不好?
• 你在数据集中发现了哪些抽样偏差?您做了什么来改进您的数据集和模型的性能?
• 你认为使用机器学习模型使你的程序比不使用机器学习的程序更有用或更有效吗?为什么或为什么不?
• 用你已经训练过的模式,你还能创造出什么其他类型的程序或解决方案?如何扩展您的模型以使用多种类型的程序或解决方案
活动5:反思
在这个活动中,学生讨论以下问题来反思他们的学习和考虑日常应用中使用AI技术的社会影响。
• 使用机器学习来驱动应用程序/应用程序会产生什么后果?
• 既然你已经对机器学习和抽样偏差有了更多的了解,那么在你相信机器学习工具(如输入法文本、面部识别或产品推荐)之前,你会问自己哪些问题?
4. 扩展
这里有两种方法可以扩展学生使用机器学习编程的经验:
1. 让学生单独工作或通过结对编程,使用迭代设计过程来定义自己的问题,并使用机器学习应用程序解决。学生应收集和准备数据集;在ML4K中训练机器学习模型;将该模型整合到Scratch、App Inventor或Python中的原始程序中;并讨论其解决方案的伦理考虑和社会影响。例如,学生可能会解决与COVID-19全球大流行有关的问题,如:
• 一款可以通过语音指令开灯的应用,这样你就不用触摸开关就能洗手了。
• 一个利用视频中的静止图像来监控人们在公共场所保持社交距离的情况的程序:保持6英尺的距离,限制聚会的人数。
• 一个分析人口和健康信息(年龄、身高、体重、原有状况等)和病毒检测呈阳性的人的COVID-19症状,从而基于他们的特定人口和健康信息预测其他感染该疾病的人呈现特定COVID-19症状的可能性。
2. 让学生比较和对比两个机器学习系统。使用ML4K中的训练数据集以及另一个机器学习图像识别系统,如Teachable machine或Amazon Rekognies(可通过AWS education免费访问),训练图像分类器模型。用同一组测试图像测试每个模型。一种系统是否比另一种更容易训练?它们的产出是否相同?他们的自信水平相同吗?哪个系统最精确?