Python基础、深度学习入门与实践_第1页
Python基础、深度学习入门与实践_第2页
Python基础、深度学习入门与实践_第3页
Python基础、深度学习入门与实践_第4页
Python基础、深度学习入门与实践_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

Python基础、深度学习入门与实践Python编程、机器学习或深度学习经验相对匮乏的学员对Python、机器学习及深度学习的基本概念有所了解能够实践基本的代码为接下来的培训打好基础有一定经验的学员复习、梳理Python编程、机器学习或深度学习等相关概念为接下来的培训做准备课程目的Python基础Python简介Python数据结构数据加载、存储与文件格式深度学习入门与实践人工神经网络基础深度学习框架Keras基础深度学习主流模型提纲Python基础Python简介Python数据结构数据加载、存储与文件格式深度学习入门与实践人工神经网络基础深度学习框架Keras基础深度学习主流模型提纲Python基础Python简介Python2Python2的最新版本更新到Python2.7。Python2.7即将停止维护。在这一段时间中,很多优秀开源项目与库已经停止了对2.7的支持。GitHub上项目的Python版本从2切换到3。Python3Python3的最新版本更新到Python3.8。本讲涉及的代码以Python3.6版本为基础。Python基础

本讲的Python运行环境Windows7/10Anaconda3(Python3.6.5)Anaconda3的安装推荐安装的理由:省去了安装常用Python第三方库的麻烦tensorflow1.11pipinstall-i/simpletensorflow==1.11keras2.2.4pipinstall-i/simplekeras==2.2.4SublimeText编辑器也可使用Anaconda3自带的Spyder编译器或者PyCharm编译器Python基础

Anaconda3的安装主页下载Anaconda3Windows64位安装程序/distribution/#download-section下载最新的Anaconda3-XX.XX-Windows-x86_64.exe即可双击exe文件开始安装安装过程中的注意事项(图示见下页)选择“InstallforAllUsers”选择“AddAnacondaasthesystemPATHenvironmentvariable”和“RegisterAnacondaasthesystemPython”跳过“安装MicrosoftVisualStudioCode”Python基础

Anaconda3的安装Python基础Python的特点免费、开源Python语言是免费开源的脚本语言。这两个词几乎成为流行编程语言必不可少的特征Python编程更简单相比于编译语言(C,C++)而言,Python是一种跨平台脚本语言,编写好的代码可以直接部署在各类操作系统上(例如,Linux、Windows、MACOSX)丰富的程序库Python有大量的第三方库以及在机器学习等方面提供了完备程序库,包括:Numpy、Pandas、Scikit-learn(机器学习库)等等Python基础Python简介Python数据结构数据加载、存储与文件格式深度学习入门与实践人工神经网络基础深度学习框架Keras基础深度学习主流模型提纲Python基础Python数据结构序列(参考代码见codes\Python_basics\string_tuple_list.py)字符串(string)元组(tuple)列表(list)字典哪里不明白,就print()哪里Python基础Python第三方库的数据结构Numpy(NumPy是NumericalPython的简称)NumPy是Python高性能科学计算和数据分析的基础包importnumpyasnpNumPy最重要的一个特点:ndarray(n维数组对象)哪里不明白,就print()哪里Python基础Python第三方库的数据结构Pandas(NumPy是paneldata以及pythondataanalysis的简称)Pandas是基于NumPy构建的,让以NumPy为中心的应用变得更加简单importpandasaspdPandas最重要的一个特点:DataFrame对象它是一个面向列的二维表结构,且含有行标和列标DataFrame对象用于将数据表示为一个表格哪里不明白,就print()哪里Python基础Python简介Python数据结构数据加载、存储与文件格式深度学习入门与实践人工神经网络基础深度学习框架Keras基础深度学习主流模型提纲Python基础

数据加载、存储与文件格式读取文本文件和其他更高效的磁盘存储格式文本文件txt文件csv文件(Comma-SeparatedValues,逗号分隔值)二进制数据pickle文件HDF5文件(HDF,hierarchicaldataformat,层次型数据格式)加载数据库中的数据利用WebAPI操作网络资源Python基础Python数据加载文本文件——txt文件Python处理文本文件的3个主要步骤打开文件:使用函数open()处理文件:读取文件str_=f_.read()关闭文件:使用函数close()使用第三方库numpydata_ndarray=np.loadtxt(fn,delimiter='\t')使用第三方库pandasfull_data_dataframe=pd.read_table(fn)Python基础Python数据加载文本文件——csv文件使用Python内置的csv模块withopen(fn,'r')asf: reader=csv.reader(f)使用第三方库numpydata_ndarray=np.loadtxt(fn,delimiter=',')使用第三方库pandasfull_data_dataframe=pd.read_csv(fn)full_data_dataframe=pd.read_table(fn,sep=',')Python基础Python数据加载Excel文件Excel文件使用第三方库xlrddata=xlrd.open_workbook(excelname)#打开Excel表table=data.sheet_by_name(sheetname)#打开Excel表中的sheetPython基础Python数据存储文本文件——txt文件txt文件Python处理文本文件的3个主要步骤打开文件:使用函数open()处理文件:写入文件f.write(str_)关闭文件:使用函数close()使用第三方库pandasdataframe.to_csv(txtfn,sep='\t')#创建.txt文件Python基础Python数据存储文本文件——csv文件csv文件使用Python内置的csv模块withopen(csvfn,'w')asf: writer=csv.writer(f) writer.writerow(str_)使用第三方库pandasdataframe1.to_csv(csvfn)#创建.csv文件Python基础Python数据存储Excel文件Excel文件使用第三方库xlwtf=xlwt.Workbook() #创建excel文件sheet1=f.add_sheet(sheetname)#创建sheetsheet1.write(row_id,col_id,str_)f.save(savefn) #保存文件使用第三方库pandaswriter=pd.ExcelWriter(savefn,engine='xlsxwriter')dataframe.to_excel(writer,sheetname)writer.save()Python基础

数据加载、存储与文件格式代码实践codes\Python_Read&Write\Python_read.pypima-indians-diabetes.csvpima-indians-diabetes.csv数据说明比马印第安人糖尿病数据集(医疗方面的数据集)比马印第安人糖尿病发病情况csv文件,共有768行,每一行有9列Python基础

pima-indians-diabetes.csv数据每一列的意义(1)怀孕次数(2)2小时口服葡萄糖耐量试验中血浆葡萄糖浓度(3)舒张压(4)三头肌皮褶皱厚度(5)2小时血清膜岛素(6)身体质量指数(7)糖尿病谱系功能(8)年龄(9)是否是糖尿病(0or1)Python基础Python简介Python数据结构数据加载、存储与文件格式深度学习入门与实践人工神经网络基础深度学习框架Keras基础深度学习主流模型提纲Python基础Python简介Python数据结构数据加载、存储与文件格式深度学习入门与实践人工神经网络基础深度学习框架Keras基础深度学习主流模型提纲深度学习入门与实践人工神经网络基础深度学习是从机器学习中的人工神经网络发展出来的新领域人工神经网络基础生物神经元细胞体树突轴突人工神经元

M-P神经元(McCulloch-Pitts神经元)一种模拟生物神经元的简化数学模型构造人工神经网络的基础神经元接受n个输入神经元的输出y神经元的细胞体:中间圆形区域w1、w2、...、wn称作连接权值,表示每个输入的连接强度...w1w2wnx1x2xnyθ人工神经网络基础人工神经元

M-P神经元(McCulloch-Pitts神经元)神经元的输出阈值:θ整合函数激活函数(activationfunction)另一种表示更好地表达了“整合函数”和“激活函数”...w1w2wnx1x2xnyθ...w1w2wnx1x2xnyΣ∫人工神经网络基础人工神经元

M-P神经元(McCulloch-Pitts神经元)一种模拟生物神经元的简化数学模型构造人工神经网络的基础神经元接受n个输入神经元的输出y神经元的细胞体:中间圆形区域w1、w2、...、wn称作连接权值,表示每个输入的连接强度整合函数:加权求和函数激活函数:阈值函数(activationfunction)...w1w2wnx1x2xnyΣ∫人工神经网络基础感知器

原始(两类)感知器只有一层,只有一个M-P神经元整合函数激活函数(activationfunction)采用阈值函数,阶跃函数,又称硬限幅函数,记为hardlim,输出为0或1另一种表示只有两层:输入层&输出层输入层各神经元仅用于将输入数据传送给与之连接的输出神经元输出层神经元只有一个M-P神经元

...w1w2wnx1x2xnyΣ∫...w1w2wnyΣ∫xnx2x1输入层输出层人工神经网络基础感知器

原始(两类)感知器...w1w2wnyΣ∫xnx2x1输入层输出层...w1w2wnyΣ∫xnx2x11b人工神经网络基础感知器

原始(两类)感知器...w1w2wnyΣ∫xnx2x1输入层输出层给定输入和y,如何自动确定w和b?x1x2y000010100111人工神经网络基础感知器

原始(两类)感知器学习算法Rosenblatt(罗森勃拉特)等人在20世纪60年代初期给出了严格的证明,该算法对于线性可分的样本是收敛的

原始(两类)感知器的应用与运算(w1=w2=1,b=-2)或运算(w1=w2=1,b=-0.5)w1w2yΣ∫x11bx2人工神经网络基础感知器

原始(两类)感知器由于感知器结构和学习机制上的简单,使得感知器在功能上具有很大的局限性不能解决简单的异或等线性不可分问题《Perceptron》(《感知器》)一书Minsky(明斯基)&SeymourPapert(裴伯特),1969从数学上分析了以感知器为代表的神经网络系统的功能和局限性...w1w2wnyΣ∫xnx2x1输入层输出层人工神经网络基础感知器

多层感知器多层感知器可以用来解决异或问题激活函数仍然采用阈值函数但却没有解决多层感知器的学习问题虽然Minsky也认为多层网络可以解决非线性问题,但是,在当时,这个问题还不可解Minsky认为“多层网络不存在有效学习方法”误差反向传播(Backpropagation,Back-Propagation,BP)算法通常简称为BP(Backpropagation)算法Rumelhart(鲁梅尔哈特)&麦克莱兰x1∫Σx2xn∫Σ......∫Σ∫Σ...W1W2输入层输出层隐含层ymy1人工神经网络基础误差反向传播(BP)算法

梯度下降法梯度下降法(gradientdescent,GD)是求解无约束最优化问题的一种最常用的方法用途:求f(x)的极小点原理:负梯度方向是使函数值下降最快的方向x1∫Σx2xn∫Σ......∫Σ∫Σ...W1W2输入层输出层隐含层ymy1

人工神经网络基础误差反向传播(BP)算法

机器学习算法的概念输入,输出,模型输出损失函数

度量模型一次预测的好坏风险函数度量平均意义下模型预测的好坏,期望风险经验风险函数:模型关于训练数据集(经验数据)的平均损失经验风险最小化

人工神经网络基础误差反向传播(BP)算法

BP算法给定N个样本的训练集:BP网络的输出:目标函数学习目标

人工神经网络基础误差反向传播(BP)算法

BP算法参数学习算法(梯度下降法)目标函数求参数的梯度迭代公式

人工神经网络基础误差反向传播(BP)算法

BP算法可以分为以下三步先前馈计算每一层的状态和激活值,直到最后一层反向传播计算每一层的误差

难点:求最后一层的误差项

交叉熵损失函数

softmax(激活函数)+对数似然损失函数(损失函数)计算每一层参数的偏导数,并更新参数

人工神经网络基础误差反向传播(BP)算法

机器学习算法的概念——损失函数负对数似然损失函数交叉熵损失函数

人工神经网络基础误差反向传播网络(简称BP网络)在网络结构上,与感知器相同与普通多层感知器的区别隐含层与输出层的神经元的激活函数均为连续非线性函数

因为连续非线性激活函数可导,所以可用最优化的方法来求解用连续输出代替离散的输出x1∫Σx2xn∫Σ......∫Σ∫Σ...W1W2输入层输出层隐含层ymy1Sigmoid函数人工神经网络基础误差反向传播(BP)算法

BP算法参数学习算法(梯度下降法)目标函数求参数的梯度迭代公式

人工神经网络基础误差反向传播(BP)算法

BP算法批量梯度下降法(BatchGradientDescent,BGD)随机梯度下降法(StochasticGradientDescent,SGD)最小批量随机梯度下降法(mini-batchStochasticGradientDescent,mini-batchSGD)

人工神经网络基础误差反向传播(BP)算法

BP算法批量梯度下降法(BatchGradientDescent,BGD)随机梯度下降法(StochasticGradientDescent,SGD)最小批量随机梯度下降法(mini-batchStochasticGradientDescent,mini-batchSGD)

人工神经网络基础误差反向传播(BP)算法

BP算法批量梯度下降法(BatchGradientDescent,BGD)随机梯度下降法(StochasticGradientDescent,SGD)最小批量随机梯度下降法(mini-batchStochasticGradientDescent,mini-batchSGD)

人工神经网络基础误差反向传播(BP)算法

BP算法一个训练周期(epoch)用完所有的训练输入一个训练迭代期(iteration)

用完当前小批量数据中的所有训练样本(mini-batch随机梯度下降法)下一个迭代期再挑选另一随机选定的小批量数据去训练Python基础Python简介Python数据结构数据加载、存储与文件格式深度学习入门与实践人工神经网络基础深度学习框架Keras基础深度学习主流模型提纲深度学习入门

深度学习框架Keras基础Keras深度学习的主要流程定义模型概要汇总网络模型(model.summary())编译模型(pile())训练模型(model.fit())函数参数

X_train,Y_train,

batch_size=BATCH_SIZE,epochs=NB_EPOCH评估模型(model.evaluate())深度学习入门

深度学习框架Keras基础定义模型——4层前馈神经网络二分类的输出层通常采用sigmoid作为激活函数深度学习入门

深度学习框架Keras基础编译模型——4层前馈神经网络pile()loss(损失函数)binary_crossentropy、categorical_crossentropyoptimizer(优化器)sgd、adam、rmspropmetrics(性能评估指标)accuracy、precision、recall深度学习入门

深度学习框架Ke

温馨提示

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

评论

0/150

提交评论