教案格式 教学案例:高中人工智能——初探感知器(上)
1
教学背景
高中学生初次接触人工智能,兴趣浓厚、积极性高,但缺乏人工智能基础知识,不能与当前所学学科内容结合,所以教学中应从如何注重基础知识,如何与高中学生现有阶段的知识水平相结合2个维度推动人工智能的普及,不断激发学生的学习兴趣。
2222
教学主题
本节课基于感知器教学,它是一种训练线性分类器的算法,它的主要想法是利用被误分类的训练数据调整现有分类器的参数,使得调整后的分类器判断得更加准确。感知器是机器学习的一种训练算法,采用监督学习方法,在其中融入迭代算法思想。此外,感知器也被指为单层的人工神经网络,掌握了感知器相关知识,可为以后学习神经网络打下扎实基础。本节主要内容是如何能够合理设计感知器初始参数及学习率,训练感知器分类器。感知机主要的本质缺陷是它不能处理线性不可分问题。作为一种线性分类器,(单层)感知机可说是最简单的前馈人工神经网络形式。感知器属于监督学习教案格式,给定了分类的数据和标签,尽管结构简单,却能够学习并解决相当复杂的问题。
3
实施步骤
什么是感知器
感知器是Frank Rosenblatt在1957年时所发明的一种人工神经网络,它可以被视为一种最简单形式的前馈式人工神经网络,是一种二元线性分类器。感知器模型可以对简单的数据节点进行分类,这个发现引起了第一波的AI浪潮。因为人们认为简单的感知器可以实现分类功能,那通过组合可以实现更复杂的功能,但后面发现感知器无法模拟异或运算,无法处理非线性问题,第一波浪潮就这样沉入了低谷。感知器学习算法,这种算法包括感知器学习、最小二乘法和梯度下降法。可将训练数据进行线性划分的分离超平面,从而求得感知器模型。设计意图:通过学习感知器的历史,能让学生进一步认识感知器,对其优点和缺点进一步了解,为后来学习深度神经网络作好铺垫。
数据构成和显示
首先,查看鸢尾花数据集。这几组数据表示鸢尾花的萼片长度、宽度,花瓣长度、宽度,还有一列表示标签包括山鸢尾(Setosa)、变色鸢尾(Versicolor)和弗吉尼亚鸢尾(Virginica),每组50个数据,共150个数据集(数据样例见表1)。
接下来,使用电脑处理数据。首先需要把这些数据导入到程序中。常用方法有:● 使用pandas将数据导入,可以使用各种格式导入数据,常见的有csv和xlsx,这两个是我们在处理数据时常用的方法。处理时需调用pandas,调用方法为import pandas as pd。● 如果建立服务器共享,也可以使用mongodb建立服务器,通过远程访问导入,在数据导入和调用时要注意文件格式的转化,使用utf-8格式。● 使用sklearn库直接导入数据库
from sklearn.datasets import load_iris
dataSet = load_iris()教案格式,
注意文件的命名规则。
本次实验为了更好地演示效果采用本地csv导入,具体的操作为:
import pandas as pd
filepath='./iris.csv'
ir=pd.read_csv(filepath,header=0,encoding="gbk")
先使用一个变量filepath定义一个文件地址,方便以后修改使用。不读取头部,编码格式为gbk格式。将数据导入到系统后我们看一下数据分布,这次使用山鸢尾和变色鸢尾为研究对象,并在图像中显示,这里使用matplotlib第三方模块。导入方法为import matplotlib.pyplot as plt。代码如下:
X=ir.iloc[0:100,0:2].values
y=ir.iloc[0:100,4:5].values
plt.scatter(X[:50, 0], X[:50, 1], color='blue', marker='o', label='山鸢尾')
plt.scatter(X[50:, 0], X[50:, 1], color='red', marker='x', label='变色鸢尾')
plt.xlabel('花萼长')
plt.ylabel('花萼宽')
plt.legend(loc = 'upper left')
plt.rcParams['font.sans-serif'] = ['FangSong']
plt.rcParams['axes.unicode_minus'] = False
plt.title('鸢尾花分类')
plt.show()
取数据集中的前100个的前2列即萼片长度、宽度,并赋值给x,把数据集的最后一列标签赋值给y。可以通过print(x)查看数据集为:
[5.1 3.5]
[4.9 3.0]
[4.7 3.2]
[4.6 3.1]
[5.0 3.6]
[5.4 3.9]
使用plt.scatter将这些散点在坐标中显示,前50个颜色为蓝色,并用 ● 表示,label为山鸢尾。后50个颜色为红色,用×表示,label为变色鸢尾。建立坐标系,横轴为花萼长,纵轴为花萼宽。标签位置在图片的左侧。为了能使用中文,调用plt.rcParams['font.sans-serif'] = ['FangSong']并指定字体格式,将图片的标题定为“鸢尾花分类”。通过显示鸢尾花的数据集,我们发现2组数据很好地分成2类,但有1个点出现偏差。
设计意图:学生可以更好地理解监督学习中特征向量的构成,明确如何将特征转化为数据,并让机器学习。同时,通过显示使学生能更直观地观察数据分布。
课堂实景
原文刊载于《中国科技教育》2021年第12期新技能栏目,作者程凯。中国青少年科技辅导员协会会员可点击“阅读原文”登录杂志官网免费浏览全文。
放在衣柜的抽屉里