2024人工智能技术应用导论:第3章机器学习_第1页
2024人工智能技术应用导论:第3章机器学习_第2页
2024人工智能技术应用导论:第3章机器学习_第3页
2024人工智能技术应用导论:第3章机器学习_第4页
2024人工智能技术应用导论:第3章机器学习_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章

机器学习3.1

应用场景人工智能技术应用导论目

录CONTENTS应用场景01自动驾驶02应用范围文本分类基因识别空间数据处理卫星图片分析客户群的特征分类与价值分析……Original

PointsK-means

(2

Clusters)01应用范围经济预测疾病自动诊断病人分类新闻分类邮件分类……01应用范围应用范围:范围领域模式识别机器学习数据挖掘机器学习+数据库统计学习统计+机器学习计算机视觉图像处理+机器学习语音识别语音处理+机器学习自然语言处理文本处理+机器学习01应用范围视频来源:/sv/cIfmOW4mUBP7UC.html?from=videoso_result01自动驾驶驾驶辅助系统(DAS)部分自动化系统高度自动化系统完全自动化02第三章

机器学习3.2

机器人学习概述目

录CONTENTS人工智能,机器学习和深度学习的区别01机器学习的发展02机器学习的分类03各主流框架基本情况04人工智能

:人工智能,简称AI,是指为机器赋予人的智能。人工智能是计算机科学的一个分支,它企图了解智能的本质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。机器学习

:机器学习,简称ML,是一种实现人工智能的方法。机器学习属于人工智能的一个分支,也是人工智能的和核心。机器学习理论主要是设计和分析一些让计算机可以自动“”学习的算法。深度学习

:深度学习,简称DL,是一种实现机器学习的技术。最初的深度学习是利用深度神经网络来解决特征表达的一种学习过程。深度神经网络本身并不是一个全新的概念,可大致理解为包含多个隐含层的神经网络结构。01

人工智能,机器学习和深度学习的区别人工智能,机器学习和深度学习的区别请分别讨论下列各组数据的内部关系,并填空。x131724y14.52.58.53.5?x236812y210.537.565.52.5?y1

=

x1

+

1.5y2=x22+

1.501人工智能,机器学习和深度学习的区别定义:计算机利用已有的数据(经验),得出了某种模型(规律),并利用此模型预测未来数据特征的一种方法。人类学习

VS

机器学习0101 人工智能,机器学习和深度学习的区别机器学习的发展机器学习的发展:在机器学习领域,计算机科学家不断探索,基于不同的理论创建出不同的机器学习模型。从发展历程来说,大致经历了三个阶段:符号主义时代(1980年左右)概率论时代(1990-2000年)联结主义时代(2010年左右)02机器学习的分类机器学习的分类:可以按照输入的数据本身是否已被标定特定的标签将机器学习区分为有监督学习、无监督学习以及半监督学习三类。机器学习有监督学习无监督学习半监督学习03机器学习的分类监督学习:从带标签(标注)的训练样本中建立一个模式(模型),并依此模式推测新的数据标签的算法。无监督学习:在学习时并不知道其分类结果,其目的是对原始资料进行分类,以便了解资料内部结构算法。半监督学习:利用少量标注样本和大量未标注样本进行机器学习,利用数据分布上的模型假设,

建立学习器对未标签样本进行标签。03各主流框架基本情况各主流框架基本情况对比:库名发布者支持语言支持系统TensorFlowGooglePython/C++/

Java/GoLinux/MacOS/Android/iOSCaffeUC

BerkeleyPython/C++/

MatlabLinux/MacOS/WindowsCNTKMicrosoftPython/C++/

BrainScriptLinux/WindowsMXNetDMLC(分布式机器学习社区)Python/C++/Matlab/

Julia/Go/R/ScalaLinux/MacOS/Windows/Android/iOSTorchFacebookC/Lua/Linux/MacOS/Windows/Android/iOSTheano蒙特利尔大学PythonLinux/MacOS/WindowsNeonIntelPythonLinux04各主流框架基本情况各主流框架的性能对比:库名学习材料丰富程度CNN建模能力RNN建模能力易用程度运行速度多GPU支持程度TensorFlow★★★★★★★★★★★★★★★Caffe★★★★★★★CNTK★★★★★★★★★★★MXNet★★★★★★★★★★★★Torch★★★★★★★★★★★★★Theano★★★★★★★★★★★Neon★★★★★★★★★04第三章

机器学习3.3

监督学习及案例体验目

录CONTENTS监督学习简介01案例体验1:电影票房数据分析02案例体验2:鸢尾花分类03监督学习简介在监督学习中,每一个例子都是一对由一个输入对象(通常是一个向量)和一个期望的输出值(也被称为监督信号)组成的。01监督学习简介应用步骤:步骤1:数据集的创建和分类。步骤2:训练。步骤3:验证。机器学习算法模型fit(

)predict(

)x_trainy_train测试数据集x_test步骤4:使用。训练数据集输出结果

y_predy_test

评估报告01监督学习简介回归(Regression)

y

是连续值(实数或连续整数),f

(x)

的输出也是连续值。这种类型的问题就是回归问题。对于所有已知或未知的

(x,

y),使得

f

(x,θ

)和

y

尽可能地一致。损失函数通常定义为平方误差。分类(Classification)

y

是离散的类别标记(符号),就是分类问题。损失函数有一般用

0-1

损失函数或负对数似然函数等。在分类问题中,通过学习得到的决策函数

f(x,θ)

也叫分类器。01监督学习简介回归分析确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。一元线性回归只涉及一个自变量和一个因变量。因变量与自变量呈线性关系。因变量与自变量的关系可以用一个线性方程表示:01案例体验1:电影票房数据分析步骤:数据读取数据预处理模型建立与训练数据可视化模型预测与可视化022.1

数据读取02 案例体验1:电影票房数据分析2.2

数据预处理02 案例体验1:电影票房数据分析2.3

模型建立与训练(使用一元线性回归进行分析)02 案例体验1:电影票房数据分析2.4

数据可视化02 案例体验1:电影票房数据分析2.5

模型预测与可视化02 案例体验1:电影票房数据分析案例体验2:鸢尾花分类步骤:数据读取数据预处理数据可视化模型建立与训练模型评估山鸢尾(setosa)变色鸢尾(versicolor)维吉尼亚鸢尾(virginica)03使用K

近邻对鸢尾花进行分类

物以类聚,

人以群分)K近邻(K-Nearest

Neighbor,KNN)方法的核心思想是:在特征空间中,如果一个样本的K个最相似的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。03 案例体验2:鸢尾花分类3.1数据读取花萼长度(spepal

length)花萼宽度(spepal

width)花瓣长度(petal

length)花瓣宽度(petal

width)03 案例体验2:鸢尾花分类3.2

数据预处理标签映射03 案例体验2:鸢尾花分类3.3

数据可视化四个特征值相关性03 案例体验2:鸢尾花分类性3.3

数据可视化四个特征值相关03 案例体验2:鸢尾花分类3.4

模型建立与训练03 案例体验2:鸢尾花分类3.5

模型评估03 案例体验2:鸢尾花分类第三章

机器学习3.4

无监督学习及案例体验目

录CONTENTS无监督学习简介01案例体验:使用K-Means对观影用户进行聚类02无监督学习就是在样本数据中只有数据,而没有对数据进行标记。无监督学习的目的就是让计算机对这些原始数据进行分析,让计算机自己去学习、找到数据之间的某种关系。视频来源:/v?vid=11285795004709214679&pd=bjh&fr=bjhauthor&type=video视频:监督学习、无监督学习、强化学习是什么?01 无监督学习简介无监督学习主要包括:聚类聚类是对于未标记的数据,在训练时根据数据本身的数据特征进行训练,呈现出数据集聚的形式,每一个集聚群中的数据,彼此都有相似的性质,从而形成分组。降维降维是缓解维数灾难的一种重要方法,就是通过某种数学变换将原始高维属性空间转变成一个低维子空间。主成分分析(PCA)线性判别分析(LDA)降维K-MeansDBSACN系统聚类聚类01 无监督学习简介聚类主要方法:① 基于划分的聚类方法(partitioning

methods):K-MEANS算法、K-MEDOIDS算法、CLARANS算法② 基于层次的聚类方法(

hierarchicalmethods):BIRCH算法、CURE算法、CHAMELEON算法③ 基于密度的聚类方法(

density-based

methods):DBSCAN算法、OPTICS算法、DENCLUE算法④ 基于网格的聚类方法(

grid-based

methods):STING算法、CLIQUE算法、WAVE-CLUSTER算法⑤基于模型的聚类方法(

model-based

methods):统计的方案和神经网络的方案聚类方法的优点:对数据输入顺序不敏感。聚类方法的缺点:在数据分布稀疏时,分类不准确;当高维数据集中存在大量无关的属性时,使得在所有维中存在簇的可能性几乎为零;缺乏处理“噪声”数据的能力。01 无监督学习简介K-Means算法原理:K-Means是典型的聚类方法。其中,K表示类别数,Means表示均值。顾名思义,

K-Means是一种通过均值对数据点进行聚类的方法。K-Means算法的思想很简单,对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。02 案例体验:使用K-Means对观影用户进行聚类案例体验:使用K-Means对观影用户进行聚类K-Means算法步骤:① (随机)选择K个聚类的初始中心;②对任意一个样本点,求其到K个聚类中心的距离,将样本点归类到距离最小的中心的聚类,如此迭代

n次;③每次迭代过程中,利用均值等方法更新各个聚类的中心点(质心);④对K个聚类中心,利用2,3步迭代更新后,如果位置点变化很小(可以设置阈值),则认为达到稳定状态,迭代结束,对不同的聚类块和聚类中心可选择不同的颜色标注。02案例体验:使用K-Means对观影用户进行聚类K-Means算法的优缺点及应用领域:优点:算法简单、快速。特别是在处理大数据集时,算法可伸缩性高,并且相对高效。当分类(簇)是密集的球状或团状,且簇与簇之间区别明显时,聚类效果较好。缺点

:1.只有在簇的平均值被定义的情况下才能使用,且对有些分类属性的数据不适合;2.要求用户必须事先给出要生成的簇的数目K;3.对初始值敏感:使用不同的初始值可能会形成不同的聚类结果;4.不适合于非凸面形状的簇类分析,或者大小差别很大的簇;5.对于“噪声”和孤立点数据敏感,少量的该类数据可能对平均值产生极大影响。应用:广泛应用于统计学、生物学、数据库技术和市场营销等领域。02案例体验:使用K-Means对观影用户进行聚类使用K-Means对观影用户进行聚类,并将相应的K值(质心个数)设置为3。02案例体验:使用K-Means对观影用户进行聚类步骤一:读取数据、展现并分析原始数据的分布特征02案例体验:使用K-Means对观影用户进行聚类步骤二:确定K-Means的质心个数,并进行模型训练模型训练过程:① 初始化分类器② 拟合fit③ 预测predict④ 准确性评估02案例体验:使用K-Means对观影用户进行聚类KMeans(self,n_clusters=8,init='k-means++',n_init=10,max_iter=300,tol=1e-4,precompute_distances='auto',verbose=0,random_state=None,copy_x=True,n_jobs=1)KMeans类的初始化函数的主要参数说明:n_clusters:表示要分成的簇的数量或要生成的质心个数,即K值。可选参数,类型为整数型(int),默认值为8。init:表示初始化质心个数。参数值可以为完全随机random或优化过的k-means++等。n_init:用来设置选择质心种子的次数,返回质心最好的一次结果,默认值为10次。max_iter:表示每次迭代的最大次数,默认值为300次。02案例体验:使用K-Means对观影用户进行聚类步骤三:可视化展现分类结果02案例体验:使用K-Means对观影用户进行聚类步骤三:可视化展现分类结果02第三章

机器学习3.5

深度学习神经网络目

录CONTENTS应用场景01语音识别自2006

年Hinton等提出深度学习的概念,神经网络再次回到人们的视野中,语音识别是第1个取得突破的领域。传统语音识别的方法主要利用声学研究中的低层特征,利用高斯混合模型进行特征提取,并用隐马尔可夫模型进行序列转移状态建模,并据此识别语音所对应的文字。历经数十年的发展,传统语音识别任务的错误率改进却停滞不前,停留在25%

左右,难以达到实用水平。2013

年,Hinton

与微软公司合作,利用神经网络改进语音识别中的特征提取方法,将错误率降低至17.7%,并在大会现场展示了同声传译产品,效果惊人。此后,研究者们又陆续采用回复式神经网络改进语音识别的预测和识别,将错误率降至7.

9%。这一系列的成功使得语音识别实用化成为可能,激发了大量的商业应用。至2016

年,同声速记产品准确率已经突破95%,超过人类速记员的水平。计算机视觉计算机视觉一直以来都是一个热门的研究领域。传统的研究内容主要集中在根据图像特点人工设计不同的特征,如边缘特征、颜色特征、尺度不变特征等。利用这些特征完成特定的计算机视觉任务,如图像分类、图像聚类、图像分割、目标检测、目标追踪等。传统的图像特征依赖于人工设计,一般为比较直观的初级特征,抽象程度较低,表达能力较弱。神经网络方法利用大量的图像数据,完全自动地学习特征。在深度神经网络中,各层特征形成了边缘、线条、轮廓、形状、对象等的层次划分,抽象程度逐渐提高。2012

年,在大规模图像数据集ImageNet

上,神经网络方法取得了重大突破,准确率达到84.7%。在LFW

人脸识别评测权威数据库上,基于深度神经网络的人脸识别方法DeepID在2014、2015

年分别达到准确率99.15%

和99.53%,远超人类识别的准确率97.53%。医学医疗医学医疗因为其应用的特殊性一直是科学研究的前沿,既要快速的推进,又要求格外严谨。如何利用好大数据解决医学和医疗中的问题,进一步改善医疗条件,提高诊治水平,是值得人们关注和研究的。随着神经网络各类应用的成功和成熟,在医学和医疗领域也出现了新的突破。2016

年1

月,美国Enlitic

公司开发的基于深度神经网络的癌症检测系统,适用于从X

光、CT

扫描、超声波检查、MRI

等的图像中发现恶性肿瘤,其中,肺癌检出率超过放射技师水平。同年,Google

利用医院信息数据仓库的医疗电子信息存档中的临床记录、诊断信息、用药信息、生化检测、病案统计等数据,构建病人原始信息数据库,包括病人的用药信息、诊断信息、诊疗过程、生化检测等信息,采用基于神经网络的无监督深度特征学习方法学习病人的深度特征表达,并借助这一表达进行自动临床决策,其准确率超过92%。这些成果为实现基于医疗大数据的精准医疗打下了扎实基础。智能博弈围棋被誉为“最复杂也是最美的游戏”,自从国际象棋世界冠军被深蓝电脑击败后,围棋也成为了“人类智慧最后堡垒”。2016

年,Google

旗下Deep-Mind

团队的AlphaGo对战人类围棋世界冠军李世乭九段,不但引起围棋界和人工智能界的热切注视,还吸引了众多群众的关注。最终AlphaGo

以4:1战胜李世乭九段,其背后成功的秘诀正是采用了神经网络与增强学习相结合,借助神经网络强大的特征提取能力捕捉人类难以分析的高层特征;

再利用增强学习,采用自我对弈的方法产生大量的数据,从自己的尝试中学习到超越有限棋谱的技巧,成功掌握了致胜技巧。这一结果在人工智能界非常振奋人心,因为它提出了一种自发学习到超越现有数据的学习方法,标志了增强学习与神经网络的成功结合,也是“大数据+

神经网络”的成功的应用。图1为人脸识别,图2和图3为物体识别。图1:人脸识别图2:飞机识别图3:自行车识别图像识别神经网络同时也能完成图像的超分辨率采样等任务。图中,左侧是采用二次样条插值得到的图像,右侧是使用神经网络得到的图像。不难看出:深度神经网络在进行超分辨采样的过程中可以保留更多细节。图4:图像增强图像增强目标检测也是深度学习的重要应用场景,图像目标检测可以识别一张图片的多个物体,并可以定位出不同物体(给出边界框)。目标检测在很多场景有用,如图5所示为在球场上实时进行目标检测的场景。图5:目标检测实际应用目标检测AI换脸技术:(视频来源:https:///6760996398079951367/?wid_try=1)AI换脸有一项研究是使用深度学习来“绘制”带有艺术气息的画。如下图所示,输入两个图像后,会生成一个新的图像。两个输入图像中,左下的图像称为“内容图像”,左上的图像称为“风格图像”。图6:风格迁移风格迁移风格迁移技术:(视频来源:https:///video/av35604813)风格迁移图7和图8为深度神经网络在自然语音上的一个具体应用-智能翻译机。第二届“一带一路”国际合作高峰论坛上,科大讯飞的智能翻译机亮相会议现场。图7:科大讯飞智能翻译机图8:外国嘉宾使用翻译机交流自然语言第三章

机器学习3.6

基本原理及技术发展现状目

录CONTENTS深度学习概述01深度学习相关概念02人类视觉原理与神经网络原理03感知器基本结构及训练04为什么要学习深度学习?深度学习是用于建立、模拟人脑进行分析学习的神经网络,并模仿人脑的机制来解释数据的一种机器学习技术。基本特点是试图模仿大脑神经元之间传递,

处理信息的模式。最显著的应用是计算机视觉和自然语言处理(

NLP)

领域。图1:人工智能、机器学习、深度学习关系深度学习概述01深度学习概述01深度学习相关概念02人类视觉原理1981年的诺贝尔医学奖,分别颁发给了DavidHubel、TorstenWiesel和

Roger

Sperry。前两位的主要贡献,是“发现了视觉系统的信息处理”即:视皮层是分级的。图2:人类视觉原理03人类视觉原理图3:人类训练识别不同物体过程当瞳孔发现了眼前物体的边缘,而且这个边缘指向某个方向时,这种神经元细胞就会变得活跃。结论:人的视觉系统的信息处理是分级的,

高层的特征是低层特征的组合,

从低层到高层的特征表示越来越抽象,

越来越能表现语义或者意图,

抽象层面越高,

存在的可能猜测就越少,

就越利于分类。03图4:单个神经元生理结构图5:数学公式仿真神经元03 神经网络原理图6:神经网络原理a1a2a3z1z203 神经网络原理图7:神经网络结构设计一个神经网络时,输入层与输出层的节点数往往是固定的,中间层则可以自由指定;神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别;.

结构图里的关键不是圆圈(

代表“

神经元”),而是连接线(代表“神经元”之间的连接)。每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的。03 神经网络原理图8:感知器基本结构04 感知器基本结构及训练感知器基本结构及训练举例说明:以上为and函数的实现。W=[w1,w2]X=[x1,x2]y=f(X*WT+b),寻找合适的W。其中:给出W=[0.5,0.5],b=-0.8进行验证:y1=f(0.5*0+0.5*0-0.8)=0y2=f(0.5*0+0.5*1-0.8)=0y3=f(0.5*1+0.5*0-0.8)=0y4=f(0.5*1+0.5*1-0.8)=104现在,你可能困惑前面的权重项和偏置项的值是如何获得的呢?感知器训练算法:将权重项和偏置项初始化为0,然后,利用下面的感知器规则迭代的修改w和b,直到训练完成。w

w

wib

b

bi其中:

wi

(t

y)xi

b

(t

y)w是与输入xi对应的权重项。b是偏置项。事实上,可以把b看作是值永远为1的输入所对应的权重。t是训练样本的实际值,一般称之为label。y是感知器的输出值,它是根据公式计算得出。η是一个称为学习速率的常数,其作用是控制每一步调整权值的幅度。每次从训练数据中取出一个样本的输入向量x,使用感知器计算其输出y,再根据上面的规则来调整权重。每处理一个样本就调整一次权重。经过多轮迭代后(即全部的训练数据被反复处理多轮),就可以训练出感知器的权重,使之实现目标函数。04 感知器基本结构及训练第三章

机器学习3.7

案例体验目

录CONTENTS0102MNIST手写数字识别简单汽车识别体验简单汽车识别体验1.华为云Modelarts汽车图片训练识别体验:https:///ei/experiencespace/modelarts/index.html01MNIST手写数字识别Keras

深度学习框架Keras层模型卷积与池化CIFAR-10数据集图片识别体验02Keras深度学习框架Keras是一个开放源码的高级深度学习程序库,使用python编写,能够运行在TensorFlow或Theano之上。Keras使用最少的程序代码、花费最少的时间就可以建立深度学习模型,进行训练、评估准确率,进行预测。Keras是一个模型级的深度学习链接库,Keras只处理模型的建立、训练、预测等功能。深度学习底层的运行,例如张量(矩阵)运算,Keras必须配合“后端引擎”进行运算。目前Keras提供了两种后端引擎:Theano与TensorFlow。如图所示,Keras程序员只需要专注于建立模型,至于底层操作细节,例如张量(矩阵)运算,Keras会帮你转换为Theano或TensorFlow。KerasTheanoTensorflowMNIST手写数字识别02Keras深度学习框架使用Keras深度学习框架训练,预测数据集步骤如下:MNIST手写数字识别02Keras层模型卷积层:每个卷积层由若干个卷积单元组成,每个卷积单元的参数都是通过反向传播算法优化得到的。卷积运算的目的是提取输入的不同特征。第一层卷积层可能只能提取一些低级的特征,如边缘、线条和角,更多层的网络能从低级特征中迭代提取更复杂的特征。池化层:通常在卷积层之后得到的特征维度很大。池化就是一个特征数据压缩的过程,它将特征切成几个区域,取其最大值或平均值,得到新的、维度较小的特征数据。全连接层:把所有局部特征结合成全局特征,用来计算每一类的得分。MNIST手写数字识别02MNIST手写数字识别Keras层模型输入的数字图像大小为:32*32*3。卷积层1:卷积产生32个图像,卷积后图像大小:32*32。(3)池化层1:将32个32*32的图像,缩小为32个16*16的图像。(4)卷积层2:将64个16*16的图像卷积产生64个16*16的图像。(5)池化层2:第二次缩减,将64个16*16图像缩小为8*8的图像。(6)平坦层:将64个8*8的图像以reshape转换为一维向量,长度为64*8*8,也就是4096个神经元。(7)隐藏层:隐藏层共有1024个神经元。(8)输出层:共有10个神经元,对应10个图像。02在计算机视觉领域,卷积核、滤波器通常为较小尺寸的矩阵,比如3×3、5×5等;数字图像是相对较大尺寸的2维(多维)矩阵(张量)。图像卷积运算过程就是使用滤波器在图像上滑动,将对应位置相乘求和,如图所示。MNIST手写数字识别02卷积与池化池化(Pooling),也称为欠采样或下采样,主要用于特征降维,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性。池化主要有两种:最大池化(Max

Pooling)和平均池化(AveragePooling)

。最大池化:选取最大的值作为输出值。它定义一个空间邻域(比如,2*2的窗口),并从窗口内的修正特征图中取出最大的元素。最大池化被证明效果较好。如图5.2.5所示的就是最大值池化过程。平均池化:选取平均值作为输出值。它定义一个空间邻域(比如,2*2的窗口),并从窗口内的修正特征图中算出平均值。MNIST手写数字识别02卷积与池化CIFAR-10数据集图片识别体验CIFAR-10数据集简介我

网址查看CIFAR-10数据集

:MNIST手写数字识别02CIFAR-

10

数据集图片识别体验步骤一:下载并查看数据集#导入相应库importnumpyas

npfromkeras.datasetsimportcifar10importmatplotlib.pyplotaspltfromkeras.utilsimportnp_utils#下载并加载CIFAR-10数据集(train_image,train_label),(test_image,test_label)=cifar10.load_data()#查看shapeprint('train_image的shape:',train_image.shape)print('test_image的shape:',test_image.shape)print('train_label的shape:',train_label.shape)print('test_label的shape:',test_label.shape)MNIST手写数字识别02CIFAR-

10

数据集图片识别体验步骤一结果输出:train_image的shape:(50000,

32,

32,

3)test_image的shape:(10000,

32,

32,

3)train_label的shape:

(50000,

1)test_label的shape:

(10000,

1))由结果可知:CIFAR-10数据集分为训练数据集和测试数据集,其中训练数据集由50000张像素点32*32的RGB(3基础色)图像,测试数据集由10000张像素点32*32的RGB(3基础色)图像。MNIST手写数字识别02CIFAR-

10

数据集图片识别体验步骤二:查看多项图片的feature与labelimportmatplotlib.pyplotaspltimportnumpyas

npdefplot_images_labels_prediction(image,labels,idx,num,prediction,label_dict):foriinrange(0,num):#绘制多子图ax=plt.subplot(5,5,1+i)ax.imshow(image[idx])print(labels[idx])if(len(prediction)>0):ax.set_title(label_dict[labels[idx,0]]+label_dict[int(prediction[idx])])else:ax.set_title(label_dict[labels[idx,0]])idx+=1plt.show()MNIST手写数字识别02CIFAR-

10

数据集图片识别体验步骤二:查看多项图片的feature与labelimport

image_show#新建一个字典类型,定义每一个数字所代表的图像类别名称label_dict={0:'airplane',1:'automobile',2:'bird',3:'cat',4:'deer',5:'dog',6:'frog',7:'horse',8:'ship',9:'truck'}#绘制前10张图像image_show.plot_images_labels_prediction(image=train_image,labels=train_label,idx=0,num=10,prediction=[],label_dict=label_dict)步骤二结果输出:MNIST手写数字识别02CIFAR-

10

数据集图片识别体验步骤三:数据预处理#数据预处理Train_image_nor=train_image.astype('float32')/255Test_image_nor=test_image.astype('float32')/255Train_label_nor=np_utils.to_categorical(train_label)Test_label_nor=np_utils.to_categorical(test_label)#查看处理后结果print(Train_label_nor[0])步骤三结果输出:[0.0.0.0.0.0.1.0.0.

0.]MNIST手写数字识别02CIFAR-

10

数据集图片识别体验步骤四:模型建立#建立模型fromkeras.modelsimport

Sequentialfromkeras.layersimport

Dense,Dropout,Activation,Flattenfromkeras.layersimport

Conv2D,MaxPooling2D,ZeroPadding2D#建立序贯模型model=Sequential()#添加卷积层1,产生32张图像,卷积核为3*3,卷积后的图像与卷积前尺寸大小相等model.add(Conv2D(filters=32,kernel_size=(3,3),input_shape=(32,32,3),padding='same',activation='relu',))#添加dropout层1model.add(Dropout(0.25))#添加池化层1model.add(MaxPooling2D(pool_size=(2,2)))MNIST手写数字识别02CIFAR-

10

数据集图片识别体验步骤四:模型建立#添加卷积层2model.add(Conv2D(filters=64,kernel_size=(3,3),

padding='same',activation='relu',))#添加dropout,避免过拟合model.add(Dropout(0.25))#添加池化层2model.add(MaxPooling2D(pool_size=(2,2)))#添加平坦层model.add(Flatten())#添加dropoutmodel.add(Dropout(0.25))#添加隐藏层model.add(Dense(1024,activation='relu'))#添加dropoutmodel.add(Dropout(0.25))

#输出层model.add(Dense(10,activation='softmax'))#打印模型print(model.summary())MNIST手写数字识别02CIFAR-

10

数据集图片识别体验步骤四结果输出:Layer

(type) OutputShape Param

#============================================================conv2d_1

(Conv2D) (None,32,

32,

32) 896dropout_1(Dropout) (None,32,

32,32) 0max_pooling2d_1(MaxPooling2(None,16,

16,

32) 0conv2d_2

(Conv2D) (None,16,

16,

64) 184960dropout_2(Dropout)

(None,16,16,64)

0max_pooling2d_2(MaxPooling2(None,8,8,

64)flatten_1

(Flatten) (None,4096) 0dropout_3

(Dropout)(None,

4096)0dense_1

(Dense) (None,1024) 4195328dropout_4(Dropout) (None,

1024) 0dense_2

(Dense) (None,10) 10250=================================================Totalparams:

4,224,970Trainableparams:

4,224,970Non-trainableparams:

0MNIST手写数字识别02CIFAR-

10

数据集图片识别体验步骤五:模型的训练与保存#############训练模型#########################编译模型#loss:选择交叉熵算法#optimizer:使用adam算法加快收敛#metrics:判断标准使用精确度pile(loss='categorical_crossentropy',optimizer='adam',

metrics=['accuracy'])#训练模型#epoch:训练5个周期#batch_size:每一批次128项数据#verbose=2:显示训练过程#validation_split=0.2.model.fit(x=Train_image_nor,y=Train_label_nor,batch_size=128,epochs=10,verbose=2,validation_split=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论