




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Python基础、深度学习入门与实践主讲人: 高雄富媒体数字出版内容组织与知识服务重点实验室中国科学技术信息研究所课程目的Python编程、机器学习或深度学习经验相对匮乏的学员对Python、机器学习及深度学习的基本概念有所了解能够实践基本的代码为接下来的培训打好基础有一定经验的学员复习、梳理Python编程、机器学习或深度学习等相关概念为接下来的培训做准备提纲Python基础Python简介Python数据结构数据加载、存储与文件格式深度学习入门与实践人工神经网络基础深度学习框架Keras基础深度学习主流模型提纲Python基础Python简介Python数据结构数据加载、存储与文件格式深度
2、学习入门与实践人工神经网络基础深度学习框架Keras基础深度学习主流模型Python基础uPython简介Python2Python2的最新版本更新到Python 2.7。Python 2.7 即将停止维护。在这一段时间中,很多优秀开源项目与库已经停止 了对 2.7 的支持。GitHub上项目的Python 版本从 2 切换到 3。Python3 Python3的最新版本更新到Python 3.8。本讲涉及的代码以Python 3.6版本为基础。Python基础u本讲的Python运行环境Windows 7/10 Anaconda3(Python 3.6.5) Anaconda3的安装 推荐安
3、装的理由:省去了安装常用Python第三方库的麻烦tensorflow 1.11 pip install -i /simple tensorflow=1.11keras 2.2.4pip install -i /simple keras=2.2.4Sublime Text编辑器 也可使用Anaconda3自带的Spyder编译器或者PyCharm编译器Python基础uAnaconda3的安装主页下载Anaconda3 Windows 64位安装程序https:/ww
4、/distribution/#download-section下载最新的Anaconda3-XX.XX-Windows-x86_64.exe即可双击exe文件开始安装安装过程中的注意事项(图示见下页)选择“Install for All Users”选择“Add Anaconda as the system PATH environment variable”和“Register Anaconda as the system Python”跳过“安装Microsoft Visual Studio Code”Python基础uAnaconda3的安装Python基础u
5、Python的特点免费、开源Python 语言是免费开源的脚本语言。这两个词几乎成为流行编程语言必不可少的特征Python 编程更简单 相比于编译语言(C,C+)而言,Python 是一种跨平台脚本语言,编写好的代码可以直接部署在各类操作系统上(例如,Linux、Windows、MAC OS X)丰富的程序库 Python 有大量的第三方库以及在机器学习等方面提供了完备程序库, 包括:Numpy、Pandas、Scikit-learn(机器学习库)等等提纲Python基础Python简介Python数据结构数据加载、存储与文件格式深度学习入门与实践人工神经网络基础深度学习框架Keras基础深度
6、学习主流模型Python基础哪里不明白, 就print()哪里uPython数据结构序列(参考代码见codesPython_basicsstring_tuple_list.py)字符串(string)元组(tuple) 列表(list)字典Python基础u Python第三方库的数据结构哪里不明白, 就print()哪里Numpy(NumPy是Numerical Python的简称)NumPy是Python高性能科学计算和数据分析的基础包import numpy as npNumPy最重要的一个特点:ndarray(n维数组对象)Python基础哪里不明白, 就print()哪里uPytho
7、n第三方库的数据结构Pandas(NumPy是panel data以及python data analysis的简称)Pandas是基于NumPy构建的,让以NumPy为中心的应用变得更加简单import pandas as pdPandas最重要的一个特点:DataFrame对象它是一个面向列的二维表结构,且含有行标和列标DataFrame对象用于将数据表示为一个表格提纲Python基础Python简介Python数据结构数据加载、存储与文件格式深度学习入门与实践人工神经网络基础深度学习框架Keras基础深度学习主流模型Python基础u数据加载、存储与文件格式读取文本文件和其他更高效的磁盘
8、存储格式文本文件 txt文件 csv文件(Comma-Separated Values,逗号分隔值)二进制数据 pickle文件 HDF5文件(HDF,hierarchical data format,层次型数据格式)加载数据库中的数据利用Web API操作网络资源Python基础uPython数据加载文本文件txt文件Python处理文本文件的3个主要步骤打开文件:使用函数open()处理文件:读取文件str_ = f_.read()关闭文件:使用函数close()使用第三方库numpy data_ndarray = np.loadtxt(fn, delimiter = t)使用第三方库pa
9、ndas full_data_dataframe = pd.read_table(fn)Python基础uPython数据加载文本文件csv文件使用Python内置的csv模块 with open(fn, r) as f: reader = csv.reader(f)使用第三方库numpy data_ndarray = np.loadtxt(fn, delimiter = ,)使用第三方库pandas full_data_dataframe = pd.read_csv(fn) full_data_dataframe = pd.read_table(fn, sep=,)Python基础uPyth
10、on数据加载Excel文件 Excel文件使用第三方库xlrd data = xlrd.open_workbook(excelname) table = data.sheet_by_name(sheetname)sheet#打开Excel表#打开Excel表中的Python基础uPython数据存储文本文件txt文件 txt文件Python处理文本文件的3个主要步骤打开文件:使用函数open()处理文件:写入文件 f.write(str_)关闭文件:使用函数close()使用第三方库pandas dataframe.to_csv(txtfn, sep=t)#创建.txt文件Python基础uP
11、ython数据存储文本文件csv文件 csv文件使用Python内置的csv模块 with open(csvfn, w) as f: writer = csv.writer(f) writer.writerow(str_)使用第三方库pandas dataframe1.to_csv(csvfn)#创建.csv文件Python基础uPython数据存储Excel文件 Excel文件使用第三方库xlwt f = xlwt.Workbook()sheet1 = f.add_sheet(sheetname) sheet1.write(row_id, col_id, str_) f.save(savef
12、n)使用第三方库pandas# 创建excel文件#创建sheet# 保存文件 writer = pd.ExcelWriter(savefn, engine=xlsxwriter) dataframe.to_excel(writer, sheetname)writer.save()Python基础u数据加载、存储与文件格式代码实践 codesPython_Read&WritePython_read.py pima-indians-diabetes.csvpima-indians-diabetes.csv数据说明比马印第安人糖尿病数据集(医疗方面的数据集)比马印第安人糖尿病发病情况csv文件,共
13、有768行,每一行有9列Python基础upima-indians-diabetes.csv数据每一列的意义( 1 ) 怀孕次数( 2 ) 2小时口服葡萄糖耐量试验中血浆葡萄糖浓度( 3 ) 舒张压( 4 ) 三头肌皮褶皱厚度( 5 ) 2小时血清膜岛素( 6 ) 身体质量指数( 7 ) 糖尿病谱系功能( 8 ) 年龄( 9 ) 是否是糖尿病(0 or 1)提纲Python基础Python简介Python数据结构数据加载、存储与文件格式深度学习入门与实践人工神经网络基础深度学习框架Keras基础深度学习主流模型提纲Python基础Python简介Python数据结构数据加载、存储与文件格式深度
14、学习入门与实践人工神经网络基础深度学习框架Keras基础深度学习主流模型深度学习入门与实践u 人工神经网络基础深度学习是从机器学习中的人工神经网络发展出来的新领域人工神经网络基础u 生物神经元细胞体树突轴突u 人工神经元xw1w21M-P神经元(McCulloch-Pitts神经元)x2y一种模拟生物神经元的简化数学模型构造人工神经网络的基础wnxnx = (x , x ,., x )T神经元接受n个输入神经元的输出y12n神经元的细胞体:中间圆形区域w1、w2、.、wn称作连接权值,表示每个输入的连接强度.人工神经网络基础u 人工神经元x1w1w2x2yM-P神经元(McCulloch-Pi
15、tts神经元)神经元的输出阈值:整合函数wnx= g(x) =w x-qxniii= wx + (bb = -q)T激活函数(activation function)x 0f (x) = 1y =另一种表示-1x 0x1w1w2x2y 更好地表达了“整合函数”和“激活函数”wnxn.人工神经网络基础u 人工神经元x1w1w2x2yM-P神经元(McCulloch-Pitts神经元)一种模拟生物神经元的简化数学模型构造人工神经网络的基础wnxnx = (x , x ,., x )T神经元接受n个输入神经元的输出y12n神经元的细胞体:中间圆形区域w1、w2、.、wn称作连接权值,表示每个输入的连
16、接强度x= g(x) = wT x + bx 0整合函数:加权求和函数y = f (x) = 1-1激活函数:阈值函数x 0(activation function).人工神经网络基础u 感知器x1w1w2原始(两类)感知器x2y只有一层,只有一个M-P神经元x= g(x) = wT x + bwn整合函数xn激活函数(activation function)y = f (x )采用阈值函数,阶跃函数,又称硬限幅函数,记为hardlim,输出为0或1输入层输出层另一种表示x1x2只有两层:输入层& 输出层输入层各神经元仅用于将输入数据传送给与之连接的输出神经元输出层神经元只有一个M-P神经元w
17、1w2ywnxn.输入层输出层人工神经网络基础u 感知器x1w1w2x2原始(两类)感知器yx= g(x) = wT x + bwnxnT $1x = g(x) = wxbw1 w2x1x2x 0x 01y =f (x )=hard lim(x ) = 0ywnxn.输入层输出层人工神经网络基础u 感知器 原始(两类)感知器x= g(x) = wT x + b1x1w1w2x2ywx 0x 0nxny = f (x )=hard lim(x ) = 0x = (x , x ,., x )T给定输入和,如何自动确定w和b?y12n.x1x2y000010100111人工神经网络基础u 感知器原始
18、(两类)感知器学习算法Rosenblatt(罗森勃拉特)等人在20世纪60年代初期给出了 严格的证明,该算法对于线性可分的样本是收敛的1bw1x1原始(两类)感知器的应用与运算(w1=w2=1,b= -2)y或运算(w =w =1,b= -0.5)12x2w2输入层输出层x1w1w2人工神经网络基础u 感知器x2ywn原始(两类)感知器xn由于感知器结构和学习机制上的简单,使得感知器在功能上具有很大的局限性不能解决简单的异或等线性不可分问题Perceptron(感知器)一书Minsky(明斯基)&Seymour Papert(裴伯特),1969从数学上分析了以感知器为代表的神经网络系统的功能和
19、局限性.输入层隐含层输出层W1x1W2 人工神经网络基础u 感知器 y1x2 y m多层感知器xn多层感知器可以用来解决异或问题激活函数仍然采用阈值函数但却没有解决多层感知器的学习问题虽然Minsky也认为多层网络可以解决非线性问题,但是,在当时,这个问题还不可解Minsky认为“多层网络不存在有效学习方法”误差反向传播(Backpropagation,Back-Propagation,BP)算法通常简称为BP(Backpropagation)算法Rumelhart(鲁梅尔哈特)& 麦克莱兰.输入层隐含层输出层W1x1W2 人工神经网络基础u 误差反向传播(BP)算法 y1x2 y m梯度下降
20、法xn梯度下降法(gradient descent,GD)是求解无约束最优化问题的一种最常用的方法min f (x)用途:求f(x)的极小点x原理:负梯度方向是使函数值下降最快的方向x- l x(k +1)=(k )f (x(k) )kx.人工神经网络基础u 误差反向传播(BP)算法机器学习算法的概念输入,输出 ,模型输出 (, 损失函数 (, (, ) 度量模型一次预测的好坏风险函数度量平均意义下模型预测的好坏,期望风险经验风险函数:模型关于训练数据集(经验数据)的平均损失NR(q) = 1 L( y(i) , f (x(i) ,q)empNi=1经验风险最小化minRemp (q)q人工神
21、经网络基础u 误差反向传播(BP)算法BP算法1 给定N个样本的训练集:x, BP网络的输出: = (x|W,)目标函数1(, ) =(, (|W, )=1学习目标q *= arg min J (W, b)q人工神经网络基础u 误差反向传播(BP)算法BP算法参数学习算法(梯度下降法)目标函数(, (, )1, (|W, )(, ) =(=1求参数的梯度(, )迭代公式(, ) = 人工神经网络基础u 误差反向传播(BP)算法BP算法可以分为以下三步先前馈计算每一层的状态和激活值,直到最后一层(, (, )反向传播计算每一层的误差d (l )nl *1(W (l +1) )Td (l +1)n
22、l *nl+1nl+1*1=(l )fl (z)nl *1难点:求最后一层的误差项交叉熵损失函数softmax(激活函数)+ 对数似然损失函数(损失函数) 计算每一层参数的偏导数,并更新参数人工神经网络基础u 误差反向传播(BP)算法机器学习算法的概念损失函数负对数似然损失函数(, (, ) = log(, 交叉熵损失函数C(, (, ) = log(, ) = log(, )=1输入层隐含层输出层W1x1W2 人工神经网络基础y1x2u 误差反向传播网络(简称BP网络) y m在网络结构上,与感知器相同与普通多层感知器的区别xn 隐含层与输出层的神经元的激活函数均为连续非线性函数因为连续非线
23、性激活函数可导,所以可用最优化的方法来求解用连续输出代替离散的输出Sigmoid函数.人工神经网络基础u 误差反向传播(BP)算法BP算法参数学习算法(梯度下降法)目标函数(, (, )1|W, )(, ) =(, (=1求参数的梯度(, )1(, ) =(, (|W, )=1迭代公式, (|W, )(, ) = (= 1(, ) =(, (|W, )M=1(, )人工神经网络基础u 误差反向传播(BP)算法BP算法批量梯度下降法(Batch Gradient Descent,BGD)1(, ) =(, (|W, )=1随机梯度下降法(Stochastic Gradient Descent,S
24、GD)(, ) = (, (|W, )最小批量随机梯度下降法(mini-batch Stochastic Gradient Descent,mini-batch SGD)1(, ) =(, (|W, )M=1人工神经网络基础u 误差反向传播(BP)算法BP算法批量梯度下降法(Batch Gradient Descent,BGD)1(, ) =(, (|W, )=1随机梯度下降法(Stochastic Gradient Descent,SGD)(, ) = (, (|W, )最小批量随机梯度下降法(mini-batch Stochastic Gradient Descent,mini-batch
25、 SGD)1(, ) =(, (|W, )M=1人工神经网络基础u 误差反向传播(BP)算法BP算法批量梯度下降法(Batch Gradient Descent,BGD)1(, ) =(, (|W, )=1随机梯度下降法(Stochastic Gradient Descent,SGD)(, ) = (, (|W, )最小批量随机梯度下降法(mini-batch Stochastic Gradient Descent,mini-batch SGD)1(, ) =(, (|W, )M=1人工神经网络基础u 误差反向传播(BP)算法BP算法一个训练周期(epoch)用完所有的训练输入一个训练迭代期(
26、iteration)用完当前小批量数据中的所有训练样本(mini-batch随机梯度下降法) 下一个迭代期再挑选另一随机选定的小批量数据去训练提纲Python基础Python简介Python数据结构数据加载、存储与文件格式深度学习入门与实践人工神经网络基础深度学习框架Keras基础深度学习主流模型深度学习入门u深度学习框架Keras基础Keras深度学习的主要流程定义模型 概要汇总网络模型(model.summary())编译模型(pile())训练模型(model.fit()) 函数参数X_train, Y_train,batch_size = BATCH_SIZE, epochs = NB_EPOCH评估模型(model.evaluate())深度学习入门u深度学习框架Keras基础定义模型4层前馈神经网络二分类的输出层通常采用sigmoid作为激活函数深度学习入门u深度学习框架Keras基础编译模型4层前馈神经网络pile() loss(损失函数) binary_crossentropy、categorical_crossentropy optimizer(优化器) sgd、adam、rmsprop metrics(性能评估
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中化学能量库讲解课件
- 离婚协议自愿补偿子女抚养及财产分割执行细则合同
- 离婚协议英文翻译及海外婚姻法律效力确认合同
- 因男方过错导致的离婚财产分割与赡养费协议
- 离婚子女抚养责任及财产分配专业合同模板
- 双方离婚房产分割与子女安置及共同债权处理协议范本
- 家庭教育心理咨询服务合同
- 骶髂关节错位课件
- 市场定位分析规定
- 家电维修技术支持方案
- 深圳机场国际货站信息系统(CTIS)全流程综合联调方案v17
- 手术操作分类代码国家临床版3.0
- 家长会课件:高三第一学期家长会优质课件
- (完整word)软件验收单
- 人教版九年级上册数学全册课件PPT
- 2023年文化市场执法考试复习题库大全-上(单选题-共2部分-1)
- 毒蛇咬伤治疗广西蛇场
- XX公司薪酬管理制度
- 儿科学 第6讲蛋白质-能量营养不良
- 绿色化学与化工技术进展
- 消化道出血的内镜治疗
评论
0/150
提交评论