《机器学习基础及应用》教案第14课使用人工神经网络实现图像识别(二).docx

上传人:李司机 文档编号:7016914 上传时间:2024-04-12 格式:DOCX 页数:5 大小:35.88KB
返回 下载 相关 举报
《机器学习基础及应用》教案第14课使用人工神经网络实现图像识别(二).docx_第1页
第1页 / 共5页
《机器学习基础及应用》教案第14课使用人工神经网络实现图像识别(二).docx_第2页
第2页 / 共5页
《机器学习基础及应用》教案第14课使用人工神经网络实现图像识别(二).docx_第3页
第3页 / 共5页
《机器学习基础及应用》教案第14课使用人工神经网络实现图像识别(二).docx_第4页
第4页 / 共5页
《机器学习基础及应用》教案第14课使用人工神经网络实现图像识别(二).docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《《机器学习基础及应用》教案第14课使用人工神经网络实现图像识别(二).docx》由会员分享,可在线阅读,更多相关《《机器学习基础及应用》教案第14课使用人工神经网络实现图像识别(二).docx(5页珍藏版)》请在三一办公上搜索。

1、课题使用人工神经网络实现图像识别(二)课时2课时(90min)教学目标知识技能目标:(1)掌握神经网络算法的Sklearn实现方法(2)了解深度学习与深度神经网络(3)能够使用神经网络算法训练模型(4)能够调节神经网络模型的参数素质目标:了解时代新科技,激发学习兴趣和创新思维,增强民族自信心了解社会新形势,提高灵活应变能力教学重难点教学重点:神经网络算法的Sklearn实现方法,深度学习与深度神经网络教学睚点:使用神经网络算法训练模型,调节神经网络模型的参数教学方法案例分析法、问答法、讨论法、i井授法教学用具电脑、投影仪、多媒体课件、教材教学过程主要教学内容及步骤课前任务【教师】布置课前任务,

2、和学生负责人取得联系,让其提醒同学通过APP或其他学习软件,完成课前任务,请大家提前了解使用人工神经网络算法训练手写数字识别模型的步骤有哪些【学生】完成课前任务考勤【教师】使用APP进行签到【学生】班干部报请假人员及原因问题导入【教师】提出以下问题:人工神经网络实现的方法有哪些?【学生】思考、举手回答传授新知【教师】通过学生的回答引入要讲的知识,介绍神经网络的Sklearn实现、深度学习与深度神经网络的相关知识10.3神经网络的SIdearn实现10.3.1 Sklearn中的神经网络模块Skleam的neural_network模块提供了MLPCIaSSifieI类,用于实现多层感知机(神经

3、网络)分类算法。在Sklearn中,可通过下面语句导入MLPClassifier算法模块.fromsklearn.neural_networkimportMLPClassifierMLPCIassifier类有如下几个参数。(1)参数hiddenayer_sizes用于指定隐藏层的层数和每层的节点数。该参数值是一个元组,元组的长度表示隐藏层的层数,元组的值表示每层的节点数。例如,(2,30)表示隐藏层有两层,第一层有20个神经元(节点),第二层有30个神经元。该参数的默认值为100(2)参数activation用于指定激活函数的类型,取值有4种,分别为identity,logistic(Sig

4、moid激活函数)、tanh和relu,默认值为relu其中,identity表示激活函数为g(X)=Xl等价于不使用激活函数。(3)参数solver用于指定损失函数的优化方法,取值有3种,分别为lbfgs.Sgd和adam,默认值为adamIbfgs表示拟牛顿法,对小数据集来说,Ibfgs收敛更快,效果更好;Sgd表示使用随机梯度下降法进行优化;adam是一种随机梯度最优化算法,对于较大规模的数据集,这种算法效果相对较好。(4)参数alpha表示正则化项的系数,默认值为()()(X)10(5)参数maxjter表示训练过程的最大迭代次数,默认值为200.(6)参数learning_rate_

5、init表示初始学习率,用于控制更新权重的步长,艮有当参数solver的取值为sgd或adam时,该参数才有效。10.3.2神经网络的应用举例【例IO-U使用神经网络算法对Sklearn自带的莺尾花数据集进行分类.【程序分析】使用神经网络算法对莺尾花数据集进行分类的步骤如下。(1)导入莺尾花数据集,选取花瓣长度与花瓣宽度作为特征变量,并又擞据集进行标准化处理。【参考代码】#导入莺尾花数据集fromsklearn.datasetsimportload_irisfromsklearn.preprocessingimportStandardScaler#导入数据预处理类fromskleam.mode

6、l_selectionimporttrain_test_split#提取花瓣长度与花瓣宽度作为特征变量XI,y=load_iris().data:,2:4,load_iris().target#数据标准化处理SCaIe尸StandardSCaIer().fii(x1)#数据标准化x=scaler.transform(xI)#转换数据集的斥分数据集x_train,x_test,yjrain.y_test=train_test_split(x,y.random-state=1,IeSLSiZe=50)(2)使用神经网络算法训练模型并输出模型评估报告。【参考代码】fromsklearn.neural

7、_networkimportMLPClassifierfromsklearn.metricsimportCIaSSifiCaIionjeport#模型训练model=MLPCIassifier(solver=lbfgs,activation-logistic1,max-iter=1000,random-state=1)model.fit(x_train,y_train)统莫型评估re=classification_report(y_test,model.predict(x-test)Prinl(模型评估报告:)print(re)【运行结果】程序运行结果如图所示。可见,神经网络模型给出了较高的预

8、测准确率。植国评估报告:precisionrecallfl-scorestport01.001.001.001710.951.000.971921.000.930.9614accuracy0.9850macroavg0.980.980.9850weightedavg0.980.980.9850(3)使用MatPIOuib绘制分类界面,显示分类结果。【参考代码】importmatplotlib.pyplotaspitfromITiatplotliKcolorsimportListedColormapimportnumpyasnp怪制分割区域x_min,x_max=x:,O.min()-l,x:,

9、O.max()+l横坐标的范围y_min,y_max=x:,1.min()-1,x:,1.max()+1得找纵坐标的范围#在特征范围内以步长为0.02预测每个点的输出结果Xl,x2=np.meshgrid(np.arange(x_min,x_max,0.02),np.arange(y_min,y_max,0.()2)Z=model.predict(np.c_xI.ravel(),x2.ravel()濒测测试点的值(np.c用于连接两个矩阵)Z=Z.reshape(x1.shape)iriscmap=ListedColormap(,#ACC6C0,#FF8080,#A0A0FFM)#设置分类界面

10、的颜色lt.pcolormesh(x1,x2,Z,cmap=iris_cmap)糜制分类界面#绘制散点图plt.scatter(x:,0,x:,I,c=y)#设置坐标轴的名称并显示图形pll.rcParamsfont.sans-seri门=Simhci#中文文字设置为黑体plt.rcParamsaxes.unicode-minus=False#解决负号显示不正常的问题pltxlabel(,花瓣长度)#图形横轴的标签名称PlLylabelC花瓣宽度,)#图形纵轴的标签名称plt.show()【运彳福果】程序运彳,果如图所示-2-1012花*长度10.4深度学习与深度神经网络10.4.1 深度学习

11、与深度神经网络概述深度学习是与浅层学习对应的概念,数据处理层(隐藏层)层数较少的神经网络称为浅层神经网络,感知机模型即为浅层学习模型.深度神经网络(work,DNN)是指包含很多隐藏层的神经网络,基于此类模型的机器学习被称为深度学习。深度学习的代表算法有卷积神经网络(convolutionalneuralnetwork,CNN)和循环神经网络(recurrentneuralnetwork,RNN)*【教师】随机邀请学生回答以下问题:深度学习是与浅层学习有什么区别?【学生】聆听、思考、回答【教师】总结学生的回答深度神经网络提供了一种简单的学习机制,即直接学习输入与输出的关系,通常把这种机制称为端

12、到端学习。端到端学习并不需要人工定义特征或者进行过多的先验性假设,所有的学习过程都是由一个模型完成的。从外面看,这个模型只是建立了一种输入到输出的映射,而这种映射具体是如何形成的完全由模型的结构和参数决定。端到端学习使机器学习不再像传统模型那样,需要经过繁琐的数据预处理、特征选择、降维等过程,而是直接利用神经网络自动从简单特征中提取、组合更复杂的特征,大大提升了模型的能力和效率。例如,使用传统方法进行图像分类时,需要经过多个阶段的处理,如提取手工设计的图像特征、降维、使用SVM等算法训练模型等,而端到端学习只需要训练一个神经网络,输入是图片的像素值,输出直接是分类类别。端到端学习将人们从大量的

13、特征提取工作中解放出来,可以不需要太多的先验知识。从某种意义上讲,对问题的特征提取完全是自动完成的,这意味着哪怕不是该任务的“专家,也可以完成相关系统的开发。【教师】随机邀请学生回答以下问题:端到端学习有什么优点?【学生】聆听、思考、回答计【教师】总结学生的回答【教师】讲解“拓展阅读”的内容(详见教材),了解深度学习的发展10.4.2深度学习的主流框架TensorFIowTensorRow是一款由Google公司推出的开源框架,是目前使用较为广泛的深度学习框架之一,其前身是Google公司的神经网络算法库DistBelief.它拥有全面而灵活的生态系统,包含各种工具、库和社区资源,被广泛应用于

14、各类机器学习算法的编程实现。TenSOrFlOW成为较受欢迎的深度学习库其原因如下:彳王可深度学习网络都由4个重要部分组成,分别为数据集、定义网络结构模型、训练和预测,这些都可以在TensorFlow中实现;TensorFIow可以执行大规模的数值计算,如矩阵乘法或自动微分,这两个计算是实现深度学习所必须的;TensorFlow在后端使用C/C+,使得计算速度更快。在TenSorFlOW中一般使用高级深度学习库Keras进行编程。Keras是基于TensorFlow的深度学习库,是由Python编写而成的高层神经网络API,是为了支持快速实践而对Tensor11ow的再次封装,它使得开发者不用

15、过多关注细节,就能够快速把想法转化为结果。【学生】聆听、思考、理解、记录课堂实践【教师】介绍“基于神经网络的手写数字识别”项目的大概流程,安排学生扫描微课二维码依次观看视频“数据准备”数据预处理”“训练与评估模型”和”显示分类结果“(详见教材),并进行讲解和演示1 .数据准备步骤1定义一加载训练集的函数load_mnist_train()o步骤2定义一个加载测试集的函数load_mnist_test()(详见教材)2 .数据预处理步骤1导入preprocessing模块中的StandardScaler方法。步骤2分别对训练集和测试集中的数据进行标准化处理(洋见教材)3.训练与评估模型步骤1导入neural_network模块中的神经网络算法MLPCIassifier(详见教材)【学生】参照教师的演示进行操作,如遇问题可询问老师【教师】巡堂辅导,及时解决学生遇到的问题课堂小结【教师】简要总结本节课的要点神经网络的SkIeam实现深度学习与深度神经网络基于神经网络的手写数字识别【学生】总结回顾知识点作业布置【教师】布置课后作业请根据课堂知识,完成本章项目实训和项目考核中与本次课程有关的题目.【学生】完成课后任务教学反思

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号