人工智能之深度学习教学课件汇总完整版电子教案_第1页
人工智能之深度学习教学课件汇总完整版电子教案_第2页
人工智能之深度学习教学课件汇总完整版电子教案_第3页
人工智能之深度学习教学课件汇总完整版电子教案_第4页
人工智能之深度学习教学课件汇总完整版电子教案_第5页
已阅读5页,还剩422页未读, 继续免费阅读

下载本文档

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

文档简介

1、人工智能之深度学习人工智能概述第一节人工智能数学基础第二节Python基础第三节目录 content人工智能概述第一节人工智能简述机器学习&深度学习人工智能将引领人类第四次工业革命 智能化时间18世纪末工业1.0创造了机器工厂的“蒸汽时代”20世纪初电力广泛应用蒸汽机信息物联系统1970年代初今天工业2.0将人类带入分工明确、大批量生产的流水线模式和“电气时代”工业3.0应用电子信息技术,进一步提高生产自动化水平自动化、信息化工业4.0开始应用信息物理融合系统(CPS)复杂度悄临悄来互联网时代在结正终人工智能机器人交通工具(即无人机、无人驾驶等)VR(虚拟现实)AI将催生“无用阶层”吗?人工/

2、脑力劳动:翻译、记者.人工/体力劳动:保安、保姆.什么是人工智能(AI)?全面实施战略性新兴产业发展规划,加快人工智能等技术的研发和转化,做大做强产业集群把发展智能制造作为主攻方向,推进国家智能制造示范区、制造业创新中心建设人工智能:国家战略(2017年政府工作报告)人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能是对人的

3、意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。什么是人工智能?人工智能有那些类型?弱人工智能,包含基础的、特定场景下角色型的任务,如Siri等聊天机器人和AlphaGo等下棋机器人;通用人工智能,包含人类水平的任务,涉及机器的持续学习;强人工智能,指比人类更聪明的机器;195619741980198719932006AI的诞生1956达特矛斯 会议,“人工智 能”正式诞生孕育期电子计算机 机器翻译与NLP 图灵测试 计算机下棋 早期神经网络搜索式推理聊天机器人乐观思潮所有的AI程序 都只是“玩具”运算能力计算复杂性常识与推理专家系统知识工程五代机神经网

4、络重生未达预期 削减投入摩尔定律统计机器学习AI广泛应用大数据计算能力应用增多深度学习人工智能至今人工智能发展历程手机中的AI人工智能系统的技术架构智能终端智能云平台人工智能概述第一节人工智能简述机器学习&深度学习推理期知识期机器学习期人工智能的三个研究阶段1950s1970s1980s基于符号知识表示 通过演绎推理技术基于符号知识表示 通过获取和利用领域知识 建立专家系统神经网络第二个高潮 NP(non-deterministic polynomial-time)难题 中获重大进展 助力大量现实问题神经网络第一个高潮期神经网络以深度学 习之名再次崛起 大幅提升感知智能 准确率201790s中

5、期统计学习登场并占据主流,支持向量机、核方法为代表性技术提出支持向量、VC维等概念统计学的研究成果经由机器学习 研究,形成有效的学习算法联结学派对大脑进行逆向分析 灵感来自于神经科学和物理学 产生的是“黑箱”模型 神经网络可归置此类符号学派将学习看作逆向演绎 并从哲学、心理学、逻辑学中寻求洞见 代表包括决策树和基于逻辑的学习机器学习&深度学习从以“推理”为重点到以“知识”为重点,再到以“学习”为重点机器可以自动“学习”的算法,即从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。目前,机器学习=“分类”人工智能 机器学习 深度学习深度学习是使用包含复杂结构或由多重非线性变换构成的多个

6、处理层对数据进行高层抽象的算法深度学习是一种基于对数据进行表征学习的方法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征用数据优化计算机程序的模型参数通过经验自动改进的计算机算法深度学习算法简介:机器学习机器学习的基本定理 模型的出错率 推论: 模型复杂-大样本 样本小-简化模型Class label(Classification)Vector(Estimati

7、on)机器学习实施过程特征提取特征1样本数据样本数据样本数据n预处理特征样本集原始样本集机器学习算法训练预测输出验证集评价目标特征1n目标特征1n目标特征1n训练集目标特征1n目标特征1n目标特征1n验证集目标特征1n目标特征1n目标预测目标预测目标预测目标改进特征选取是成败的关键人脑是通过分级的、多层网络模型来识别减少数据量,保留物体的有用信息低层信息预处理特征提取识别分类对效果影响极大手动化特征工程非常耗时图像识别的一般流程人脑识别图像的过程深度学习的成功应用AlphaGo战胜李世乭图像识别全面超越人类语音识别接近人类将声学模型中混合高斯模型替换为DNN模型获得30%+ 相对提升Tesla

8、 Autopilot投入商用Google Translate投入商用它把原文例如中文词先翻成一个词向量,变成一个数字向量它对这个词向量再编辑,变成一个语义表示的方式再把它翻译成它的目标语言,例如英文人工智能之深度学习人工智能概述第一节人工智能数学基础第二节Python基础第三节目录 content人工智能数学基础第二节矩阵运算导数与链式法则概率分布逻辑理论矩阵运算一、概念 由 个数排成的 行 列的数表称为 矩阵.简称 矩阵.记作矩阵运算一、概念简记为元素是实数的矩阵称为实矩阵,元素是复数的矩阵称为复矩阵.矩阵运算二、矩阵的加法、减法设有两个 矩阵 将矩阵 与 的和记作 ,规定为矩阵运算二、矩阵

9、的加法、减法矩阵运算三、矩阵与矩阵相乘并把此乘积记作设 是一个 矩阵, 是一个 矩阵,那么规定矩阵 与矩阵 的乘积是一个 矩阵 ,其中注意只有当第一个矩阵的列数等于第二个矩阵的行数时,两个矩阵才能相乘!矩阵运算三、矩阵与矩阵相乘(其中 为数); 若A是 阶方阵,则 为A的 次幂,即 并且 人工智能数学基础第二节矩阵运算导数与链式法则概率分布逻辑理论导数与链式法则一、链式法则 定理如果函数)(tuf=及)(tvy=都在点t可导,函数),(vufz=在对应点),(vu具有连续偏导数,则复合函数)(),(ttfz yf=在对应点t可导,且其导数可用下列公式计算: 导数与链式法则一、链式法则I: 定理

10、推广到中间变量多于两个的情况.如以上公式中的导数 称为全导数.导数与链式法则一、链式法则定理推广到中间变量是多元函数 如果),(yxuf=及),(yxvy=都在点),(yx具有对x和y的偏导数,且函数),(vufz=在对应点),(vu具有连续偏导数,则复合函数),(),(yxyxfz yf=在对应点),(yx的两个偏导数存在,且可用下列公式计算 II:导数与链式法则一、链式法则人工智能数学基础第二节矩阵运算导数与链式法则概率分布逻辑理论概率分布概率论是研究随机现象中数量规律的一门学科。由于随机现象是现实世界中广泛存在的一种现象,而且反映了事物的一种不确定性,即随机性,因而对它的研究就为人们提供

11、了一种表示和处理这种不确定性的有力工具。概率分布在千姿百态的现实世界中存在着各种各样的自然现象和社会现象,其中有一类这样的现象:在相同条件下做同一个试验时,得到的结果可能相同,也可能不相同,而且在试验之前无法预言一定会出现哪一个结果,具有偶然性。例如,抛掷一枚硬币时,其结果可能是正面向上,也可能是反面向上,究竟哪一面向上,只有在硬币落地后方可知道,在抛掷之前难以准确预言。再如,假设在一个口袋中装入红、黄、绿色的圆球各三个,且它们具有相同的大小和重量,现在让一个小朋友闭上眼睛从中随意地取出一个,则他取出的球可能是红色的,也可能是绿色或黄色的,这在他取出之前也难以准确地确定。如果把取出的球仍放回袋

12、子中,然后让他再取一次,则这次取出的球可能与上一次相同,也可能不相同。重复多次地进行这个试验,其结果都是这样。像这样在相同条件下重复进行某种试验时,试验结果不一定完全相同且不可预知的现象称为随机现象。在随机现象中,试验结果呈现出的不确定性称为随机性。一、随机现象概率分布在千姿百态的现实世界中存在着各种各样的自然现象和社会现象,其中有一类这样的现象:在相同条件下做同一个试验时,得到的结果可能相同,也可能不相同,而且在试验之前无法预言一定会出现哪一个结果,具有偶然性。例如,抛掷一枚硬币时,其结果可能是正面向上,也可能是反面向上,究竟哪一面向上,只有在硬币落地后方可知道,在抛掷之前难以准确预言。再如

13、,假设在一个口袋中装入红、黄、绿色的圆球各三个,且它们具有相同的大小和重量,现在让一个小朋友闭上眼睛从中随意地取出一个,则他取出的球可能是红色的,也可能是绿色或黄色的,这在他取出之前也难以准确地确定。如果把取出的球仍放回袋子中,然后让他再取一次,则这次取出的球可能与上一次相同,也可能不相同。重复多次地进行这个试验,其结果都是这样。像这样在相同条件下重复进行某种试验时,试验结果不一定完全相同且不可预知的现象称为随机现象。在随机现象中,试验结果呈现出的不确定性称为随机性。一、随机现象概率分布在对随机现象进行观察或试验时,每一次试验的结果是无法准确预言的,但是它可能会出现什么样的结果一般都可以知道。

14、例如在抛掷硬币的试验中,虽然在抛掷之前不能预言抛掷后是哪一面向上,但可知道它不是正面向上就反面向上。在上面关于袋中取球的试验中,情况也是这样,虽然在球取出之前不能预言取出的球是什么颜色,但可知道它一定是红、黄、绿这三种颜色中的某一种。在概率论中,把试验中每一个可能出现的结果称为试验的一个样本点,由样本点的全体构成的集合称为样本空间。今后我们用d 表示样本点,用D 表示样本空间。二、样本空间概率分布(1)在抛掷硬币的试验中,若用d1 表示正面向上,用d2表示反面向上,则该试验的样本空间为: D=d1,d2(2)假设某篮球教练为了检查队员投篮的命中率,让队员一次次连续地投篮,则可能出现的结果是:第

15、一次投篮就命中,记为d1 第二次投篮才命中,记为d2 第n 次投篮才命中,记为dn 则该试验的样本空间为 D=d1,d2, ,dn, 由这些例子可以看出,样本空间中的样本点可以是有限个,也可以是无限个。在每次随机试验中,这些样本点有且仅有一个出现。二、样本空间概率分布在实际应用中,人们不仅关心某个样本点所代表的可能结果是否会出现,有时更关心由某些样本点构成的集合所代表的事物是否会出现。如在例2中,人们可能会关心队员能否在不超过三次的情况下投中球篮。此时,所关心的事物是由样本点dl,d2,d3成构成的集合。我们把要考察的由一些样本点构成的集合称为随机事件,简称为事件。事件通常用大写英文字母A ,

16、 B , 表示。例如,若用A表示“投篮次数不超过三次就投中”这一事件,则A = dl , d2, d3 三、随机事件概率分布在一次试验中,若事件包含的某一个样本点出现,就称这一事件发生了。显然,由全体样本点构成的集合(即样本空间)所表示的事件是一个必然要发生的事件,称为必然事件由空集所表示的事件,即不包含任何样本点的事件,在任何一次试验中都不会发生,称为不可能事件。必然事件记为D ,不可能事件记为 。当然,由单个样本点构成的集合也是一个事件,称为基本事件。三、随机事件概率分布四、事件之间的关系概率分布四、事件之间的关系概率分布五、事件的概率表示事件发生可能性大小的数,称为事件的概率。若A表示某

17、一事件,它的概率记作P(A)。概率论五、事件的概率概率论五、事件的概率概率论五、事件的概率概率论六、全概率公式与Bayes公式概率论六、全概率公式与Bayes公式人工智能数学基础第二节矩阵运算导数与链式法则概率分布逻辑理论逻辑理论逻辑:是人们思维活动规律的反映和抽象。人工智能中用到的逻辑可概括地划分为两大类。一类是经典命题逻辑和一阶谓词逻辑,其特点是任何一个命题的真值或者为“真”,或者为“假”,二者必居其一。因为它只有两个真值,因此又称为二值逻辑。另一类是泛指除此外的那些逻辑,主要包括三值逻辑、多值逻辑、模糊逻辑、模态逻辑及时态逻辑等。一、命题逻辑与谓词逻辑逻辑理论命题逻辑与谓词逻辑是最先应用

18、于人工智能的两种逻辑,对于知识的形式化表示,特别是定理的自动证明发挥了重要作用,在人工智能的发展史中占有重要地位。命题逻辑与谓词逻辑的关系:谓词逻辑是在命题逻辑基础上发展起来的,命题逻辑可看作是谓词逻辑的一种特殊形式。一、命题逻辑与谓词逻辑逻辑理论命题:是具有真假意义的语句。代表人们进行思维时的一种判断,或肯定(真T),或否定(假F),只有两种情况。例:永真(在任何条件下都为真) 人总会死的(原子命题)有条件 1+1=10 是在二进制条件下成立(原子命题)(原子命题:意义单一的命题。)二、命题逻辑理论通常可以用大写字母A、B等表示命题。命题逻辑的这种表示方法有较大的局限性,它无法把它所描述的客

19、观事物的结构及逻辑特征反映出来,也不能把不同事物间的共同特征表述出来。例如,对于“老李是小李的父亲”这一命题,若用英文字母表示,例如用字母P,则无论如何也看不出老李与小李的父子关系。又如,对于“李白是诗人”、“杜甫也是诗人”这两个命题,用命题逻辑表示时,也无法把两者的共同特征(都是诗人)形式地表示出来。由于这些原因,在命题逻辑的基础上发展起来了谓词逻辑。二、命题逻辑理论一个谓词可分为谓词名+个体两部分谓词名用于刻画个体的性质、状态或个体间的关系个体表示某个独立存在的事物或某个抽象的概念谓词的一般形式:P(x1,x2,.,xn)谓词名用大写字母,个体用小写字母三、谓词逻辑理论例如:(1)“老张是

20、教师” Teacher(zhang) 其中“ Teacher”是谓词名,“zhang”是个体。 “Teacher”刻画了“zhang”的职业是教师这一特征。(2)53 Greater(5,3) ( Greater谓词名,(5,3)个体) “Greater”刻画了5与3之间的“大于”关系。三、谓词逻辑理论个体可以为常量、变元、函数。例(1)x是教师 Teacher(x)(Teacher谓词名,x个体(变元))(2)53 Greater(5,3)(Greater谓词名,(5,3)个体(常量))(3)小张的父亲是教师 Teacher(Father(zhang)(Teacher谓词名,Father(z

21、hang)函数在用谓词表示客观事物时,谓词的语义是由使用者根据需要人为地定义的。当谓词中的变元都用特定的个体取代时,谓词就具有一个确定的真值:T 或F。三、谓词逻辑理论谓词中包含的个体数目称为谓词的元数。如:P(x)一元谓词 P(x,y)二元谓词 P(x1,x2,.,xn) n元谓词在P(x1,x2,.,xn)中,若xi(i=1,.,n)都是个体常量、变元、函数,称他为一阶谓词。如果xi本身又是一个一阶谓词,称为二阶谓词。个体变元的取值范围称为个体域(有限,无限)。个体常量、变元、函数统称为“项”。三、谓词逻辑理论谓词中包含的个体数目称为谓词的元数。如:P(x)一元谓词 P(x,y)二元谓词

22、P(x1,x2,.,xn) n元谓词在P(x1,x2,.,xn)中,若xi(i=1,.,n)都是个体常量、变元、函数,称他为一阶谓词。如果xi本身又是一个一阶谓词,称为二阶谓词。个体变元的取值范围称为个体域(有限,无限)。个体常量、变元、函数统称为“项”。三、谓词人工智能之深度学习人工智能概述第一节人工智能数学基础第二节Python基础第三节目录 contentPython基础第三节Python简介Python开发环境搭建Python基本语法什么是Python 之所以有python的出现,是因为Python的作者吉多范罗苏姆(Guido van Rossum)在学习和使用了其他语言(如:C/C

23、+、Pascal、shell等)之后,希望能够得到一个既能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样可以轻松的编程的语言。于是1991年,第一个Python编译器(同时也是解释器)诞生。它是用C语言实现的,从一出生,Python已经具有了:类(class),函数(function),异常处理(exception),包括表(list)和词典 (dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。 Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言,是一个有着自己哲学的语言。有那么一句关于python的座史铭:人生苦短,我用pyt

24、hon。可见使用python编程将是一件多么有趣的事情!什么是PythonPython的意思是蟒蛇,由于作者是当时风靡全球的英国六人喜剧团体,巨蟒剧团(Monty Python)的忠实粉丝,所以,就把此计算机语言的名字叫做:Python1991年,第一个Python编译器(同时也是解释器)诞生。Python目前有两个版本,Python2.x和Python3.x,现阶段用的比较多的是Python2.x。Python是纯粹的免费、开源软件。Python语法简洁清晰,简单易学。Python具有丰富和强大的库。常被称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C+)很轻松地联结在一起。很多人

25、工智能相关库使用Python写的,因此Python是人工智能首选语言。Python特点一种脚本语言与之对比,C是一种编译型语言。 编译型语言:就是需要用该语言的编译器将源代码编译为可执行程序,然后才能运行可执行程序的语言。即先将源代码编译为目标文件,然后把目标文件加上必要的库文件,最后再链接为最终的可执行文件。 脚本语言:无需用编译器编译源代码,可直接运行该源码形式脚本文件的语言。而能够直接运行脚本文件的背后,是当前环境中存在着此脚本的解析器。解析器负责读入此脚本源码,以及后续解析并执行的动作。 一种解释型语言 这是因为脚本语言的天然特点之一就是解释性。解释器解析每一行的过程通俗讲就是:读一行

26、,解释一行,执行一行。 一种高级语言 低级语言:汇编(语言本身直接和硬件打交道,而缺少对计算机细节的抽象,相对而言不是那么好理解和使用) 高级语言:在本身的设计层面会考虑到对计算机细节的封装和抽象。 Python也完全具有常用的基本元素,如各种普通变量、列表、函数等 Python能做其他高级语言做的事情 可以像其他高级语言一样用来开发各种不同功能的软件;和其他高级语言一样不能直接操作底层硬件。一种面向对象的语言 什么是面向对象的(高级)语言:在设计该语言本身时,对于语言本身的基本元素是以对象的方式设计的,而不同的对象之间的交互则成为整个程序运行的主要表现形式。Python特点Python特点丰

27、富的库简单、易学可扩展、可嵌入解释性面向对象、高层免费开源、可移植Python应用领域目前使用Python语言的企业有很多1.著名的Google公司在其网络搜索系统中广泛应用Python语言。同时还聘用了Python之父 (Guido van Rossum)2.国外知名的YouTube视频分享网站,一些重要的服务也几乎都是用Python编写的程序;3.P2P文件分享系统Bittorrent是一个Python 程序。 4.Intel(英特尔) 、Cisco(思科) 、Hewlett-Packard(惠普) 、Seagate(希捷) 、Qualcomm(高通) 和IBM 也都使用Python 进行

28、硬件测试 5.JPMorgan Chase(摩根大通集团) 、UBS(瑞士联合银行集团) 、Getco 和Citadel 使用Python,经济市场预测领域也能看到Python的身影。 6.高科技含量的领域也有Python语言的身影,像是NASA(美国国家航空航天局) 、Los Alamos(洛斯阿拉莫斯洛杉矶国家实验室) 、Fermilab(费米实验室) 、JPL(喷气推进实验室) 等使用Python 实现科学计算任务; 7.IRobot公司使用Python 开发了商业机器人真空吸尘器; 8.NSA(美国国家安全局) 在加密和智能分析中使用Python 。 9.IronPort 业界领先的互

29、联网信息安全产品提供商,也在电子邮件服务器产品中使用了超过100 万行的Python 代码实现其工作;10.Python在用户图形接口领域也很受欢迎 Python语言的简洁和快速的开发周期,让它十分适合开发GUI(图形用户界面)程序。Python内置的TKinter 的标准面向对象接口Tk GUI API ,使Python 程序可以生成可移植的本地观感的GUI。 Python编程语言应用领域非常广泛,像是游戏、图像、人工智能、XML 、机器人等等。从语言本身来讲,它能实现其他主流语言能实现的所有功能,只是在难易程度及效率上略有差别。Python库机器学习框架很多人工智能的库都有Python版本

30、,如机器学习库TensorFlow和scikit-learn、Pylearn2、Nilearn。科学计算框架科学计算,用Python是很自然的,简单高效。开发效率高。python有很多库很方便做人工智能,很多数学公式的库都是用Python实现,如Numpy,SciPy等。Python库神经网络库PyBrain这款Python的扩展包主要用于神经网络的训练和训练结果的校验,至于原始数据的获取、预处理、包括后期的图形化以及结果的处理,需要用另外的库。数据挖掘/分析库pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供

31、了高效地操作大型数据集所需的工具。它是使Python成为强大而高效的数据分析环境的重要因素之一。Python基础第三节Python简介Python开发环境搭建Python基本语法Python开发环境搭建/downloads/Python开发环境搭建单击Download Python 3.6.5按钮,下载得到python-3.6.5.msi。双击即可按照向导安装Python 3.6.5。Python 3.6.5的默认安装目录为C:Python36。安装完成后,将C:Python36添加到环境变量Path中。或者是下载得到python-2.7.15.msi。双击即可按照向导安装python-2.7

32、.15。默认安装目录为C:Python27。安装完成后,将C:Python27添加到环境变量Path中。下载、安装Python开发环境搭建Python包管理工具setuptoolspip 1、下载地址:/pypi/pip/2、已经安装pip,进入命令行窗口,执行pip install xxx,就可以安装xxx包。3、升级已经安装的python包,执行pip install upgrade xxx。Python常用开发工具Sublime、Pycharm、eclipse+Pydev、vim 自动下载、构建、安装和管理Python模块 Pip和easy_installPython基础第三节Pytho

33、n简介Python开发环境搭建Python基本语法Python基本语法语句或者代码块用缩进的方式体现(推荐4个空格);不通的缩进深度分隔不同的代码块;Python文件以模块的形式组织;Python代码书写基本规则Python语句中的特殊字符#(井号)表示之后的字符为注释;(反斜杠)继续上一行;:(冒号)将代码的头和体分开;(分号)将2个语句连接在一行中Python基本语法必须以字母或者下划线开头,后面可接任意数目的下划线、字母及数字区分大小写禁止使用保留字Python命名规范Python命名惯例模块名:小写字母,单词之间用_分割包名:小写字母,单词之间用_分割,一般跟模块同名类名:单词首字母大

34、写函数名:普通函数遵守命名规则即可,私有函数以双下划线开头变量名称:全局变量大写,普通变量遵守命名规则即可,私有变量良好的命名能提高代码的可读性!Python基本语法使用前不需要声明使用前不需要指定类型没有被赋值的变量不能存在于代码中Python变量特点Python变量赋值原理变量里存储的不是对象的值,而是对象的引用Python基本语法使在Python中,只有模块、类以及函数才会引入新的作用域,if、for、while等的子句不会引入新的作用域变量的作用域由代码中被赋值的位置所决定变量搜索遵循LEGB(Local、Enclosing、Global、Built-in)原则Python变量作用域P

35、ython基本语法(数据类型)Python常用数据类型良好的命名能提高代码的可读性!Python基本语法(数据类型)Python常用数据类型Python基本语法(数据类型)列表是Python内置的一种数据类型,是一种有序的集合,可以随时添加和删除其中的元素,列表中的元素可以为任意的Python对象(个人理解:可编辑的、能装任意python对象的一种容器)列表(List)列表常用操作L.append(obj) 增加一个元素L.count(obj)统计某个元素在列表中出现的次数L.extend(seq) 扩展列表L.index(obj)从列表中找出某一个值第一次出现的索引位置L.insert(in

36、dex,obj) 将对象插入列表L.remove(obj)移除列表中某个值的第一个匹配项L.reverse () 反向列表中元素L.pop(obj=L-1)移除列表中的一个元素,默认最后一个,并返回该值L.sort (func) 对原列表进行排序Python基本语法(数据类型)元组是Python的内置数据类型,与列表相似,但元组是不可变的(个人理解:不可变的、能装任意python对象的一种容器)。元组(tuple)不可变的理解不可变是指其指向不可变,换句话说,如果元祖中的元素包含可变元素,那么该元素指向的值是可以改变,但其指向不会改变如右图演示代码,元祖s中的列表的值发生改变,但是其所有元素的

37、地址没有发生变化Python基本语法(数据类型)t.count(value) 返回元祖某个元素出现的次数t.index(value,start,stop) 返回指定值的索引元组的操作注意:定义单个元素的元祖且类型为整型,需要逗号区分(元祖的定义符号与小括号一样)Python基本语法(数据类型)字符串有2类共4种表示方法由一对单引号或双引号表示,仅表示单行字符串。例:请输入带有符号的温度值: 或者 C 由一对三单引号或三双引号表示,可表示多行字符串。例: Python 语言 字符串Python中字符串索引从0开始,一个长度为L的字符串最后一个字符的位置是L-1Python同时允许使用负数。从字符

38、串右边末尾向左边进行反向索引,最右侧索引值为-1Python基本语法(数据类型)str和unicode Python中表示字符串有2种方式:一种是普通的str对象,一种是unicode字符串,它们之间可以相互转换,unicode的优势是可以实现跨平台decode和encode decode将utf-8等编码的字符串转为Unicode;encode是将unicode编码为utf-8、gbk等Unicode、utf-8、gbk之间的关系 unicode又称万国码,将世界上所有的字符进行编码,都以2个字节进行表示。 utf-8对不同范围的字符使用不同长度的编码,1-4个字节 Unicode是一种编码

39、标准,具体实现标准可能是utf-8、gbk等字符串的编码和解码(针对中文)Python基本语法(数据类型)操作对象 python序列(字符串、列表、元组)切片定义 通过制定下标的方式来获得某一个数据元素,或者通过指定下标范围来获得一组序列的元素,这种访问序列的方式叫做切片。原型 start:stop:step 即 开始索引:结束索引:步长值,其中start默认值为0、stop默认取到该索引对应的值为止,但不包含该索引对应的值、step的默认值为1切片操作技巧总结 (1)start、stop的值可以为正数也可以为负数,其中正数表示从序列的左边往右(起始值为0),负数表示从序列的右边往左(起始值为

40、-1),比如,start=-1,stop=-2分别表示起点为序列的最后一个元素和序列的到时第二个元素。 (2)step的值也可以为正数同时也可以为负数,但不能为0,其中正数表示从start开始往右,负数表示从start开始往左,也就是可将序列进行翻转,比如,step=-2表示从start开始往左以步值为2取值。另外,当step取默认值时,start:stop:step中的第二个:符号可以省略不写,即为start:stop。切片操作Python基本语法(数据类型)简单的说,字典是用大括号包裹的键值对的集合,字典是python中唯一的映射类型字典对象是可变的,它是一个容器类型,能存储任意个数的py

41、thon对象,其中也可包括其他的容器类型。字典(dict)字典的一般形式adict = adict = key1:value1,key2:value2,key n:valuen键值对称为项,键与值用冒号(:)分开,项与项用逗号(,)分开,字典中的键值必需唯一,而值可以不唯一一个键只能对应一个值,而不能对应多个值Python基本语法(数据类型)字典的基本操作1、字典的访问2、检查key是否在字典中 adict.has_key(name) 或者 name in adict来判断key是否存在3、更新字典4、字典的迭代adictkey 形式返回键key对应的值value添加数据项 adictnew_

42、key = value更新数据项 adictold_key = new_value删除数据项 del adictkey 或者adict.pop(key) 会返回value的值adict.iteritems() 可逐个返回元组形式的键值对adict.iterkeys() 可逐个返回字典的keyadict.itervalues() 可逐个返回字典的valuePython基本语法(函数)python中函数由保留字 def 来定义,不需要定义类型,如有参数也不需要定义参数类型: 一般情况下,函数需要包括函数名、参数、函数体三部分。在Python中函数名存储该函数入口的地址,()表示调用函数,换句话说,

43、函数名是可以作为参数传递的。函数如何定义函数的参数默认参数 是指函数的参数已经指定了一个值,如果调用时不指定新的值,就传递该默认值。当有多个连续的默认值时,如果要给非第一个默认参数指定一个新的值,需要带上参数的名称,如test1()可变参数 是指函数的参数个数不定(可以为0个),由带*和*表示,该参数只能放在函数参数列表的最后一个。Python基本语法if、if-else、while语句not、not in、is、is not、and、or具有python特色的判断语句is 和 =的区别is检查2个对象是否是同一个对象,=检查他们是否相等语法if expression: else: while

44、 expression: break 跳出循坏continue 跳出当前循环,不再执行后面的语句pass 不做任何处理 Python基本语法for语句语法 for iter_var in iterable: 1、iterable 必需具有迭代功能,通过迭代对象的next函数逐个将iterable中所有的值传递给iter。2、iter每取一个值就执行一次循环体。列表推导式 1、列表推导式是利用其它列表创建新的列表的一种方式,它的工作方式类似于for循环。2、语法格式 expr for value in c if condition列表推导式的优势:简洁、优雅!Python基本语法(类)类的定义及

45、基本结构类属性带单下划线(_)和双下划线(_)Class 类名(Object): “类的说明文档” 属性 初始方法 _init_ 其它方法1、没有构造函数,初始方法只是在实例化对象时会执行的方法。2、初始化方法不是必需的。3、类的所有方法需要带上self参数。1、带单下划线的属性表示私有的,但是在内部和外部都可以调用,相当于一种约定,靠大家自行遵守,尽量不在外部调用,不能通过from * import _*调用。2、带双下划线的属性一般情况下只能内部使用,外部不能调用,子类也不能调用。但通过特殊的语法也可以调用,原则上不用。self 并不是关键词,可用其它单词代替,其代表类实例对象本身,不是类

46、本身。原理:类MyClass,类的实例myobject调用一个方法myobject.Method(arg1),python会自动转为MyClass.Method(myobject,arg1)Python类的特点Python基本语法(类)类的继承Class 类名(父类1,父类2,): “类的说明文档” 属性 def _init_(self) 父类1._init_(self)父类2._init_(self) 其它方法如果父类定义了_init_方法,子类必需显示调用父类的初始化方法单继承属性搜索顺序1、先在子类中查找2、如子类中不存在,则去父类(基类)中查找3、如基类中也不存在则报错Python基本

47、语法(类)类的属性和实例的属性模块的导入if _name_=_main_作用1、类的属性和实例的属性是2个不一样的概念。2、一般情况下,类具有的属性,那么它的实例也具有该属性。3、实例的一些属性,其对应的类不一定拥有该属性。1、import2、from import3、import as4、from import as人工智能之深度学习机器学习分类第一节 函数第二节 超参数第三节目录 content第四节 验证机器学习分类第一节机器学习的定义机器学习的发展历史机器学习的常见算法流行的开源机器学习框架机器学习的定义在维基百科上,对机器学习提出以下几种定义:“机器学习是一门人工智能的科学,该领域的

48、主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”;“机器学习是对能通过经验自动改进的计算机算法的研究”;“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准”。机器学习的定义三个关键词:算法、经验、性能 机器学习是数据通过算法构建出模型并对模型进行评估,评估的性能如果达到要求就拿这个模型来测试其他的数据,如果达不到要求就调整算法来重新建立模型,再次进行评估,如此循环往复,最终获得满意的经验来处理其他的数据。机器学习的发展历史机器学习是人工智能应用研究比较重要的分支,它的发展过程大体上可分为4个阶段:第一阶段是在50年代中叶到60年代中叶,属于热烈时期;第二阶段在60年

49、代中叶至70年代中叶,被称为机器学习的冷静时期;第三阶段从70年代中叶至80年代中叶,称为复兴时期;机器学习的最新阶段始于1986年。一方面,由于神经网络研究的重新兴起,另一方面,对实验研究和应用研究得到前所未有的重视。我国的机器学习研究开始进入稳步发展和逐渐繁荣的新时期。机器学习的发展现状在搜索引擎方面Google的成功,使得Internet搜索引擎成为新兴产业。机器学习技术正在支撑着各类搜索引擎;DARPA(美国国防先进研究项目局)于2003年开始启动5年期PAL计划,这是一个以机器学习为核心的计划(涉及到AI的其他分支,如知识表示和推理、自然语言处理等);汽车自动驾驶。机器学习的主要任务

50、是从立体视觉中学习如何行驶,根据观察人类的驾驶行为记录各种图像和操纵指令,并将它们进行正确分类;在对天文物体进行分类、计算机系统性能预测、信用卡盗用检测、邮政服务属性识别、网络文档自动分类等方面,机器学习也在快速发展壮大。机器学习的分类监督学习无监督学习半监督学习强化学习机器学习的分类监督学习监督学习是从给定的训练数据集中学习一个函数(模型),当新的数据到来时,可以根据这个函数(模型)预测结果;在监督式学习下,输入数据被称为“训练数据”,每组训练数据有一个明确的标识或结果,如,对防垃圾邮件系统中“垃圾邮件”、“非垃圾邮件”;在建立模型时,监督式学习建立一个学习过程,将预测结果与“测试数据”的实

51、际结果进行比较,不断调整预测模型,直到模型的预测结果达到一个预期的准确率。常见的监督学习算法包括回归分析和统计分类。机器学习的分类无监督学习在无监督式学习中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构;常见的应用场景包括关联规则的学习以及聚类等。常见算法包括Apriori算法和k-Means算法。监督学习和无监督学习的区别:训练集目标是否被标注。他们都有训练集,且都有输入和输出。机器学习的分类强化学习强化学习通过观察来学习动作的完成,每个动作都会对环境有所影响,学习对象根据观察到的周围环境的反馈来做出判断;在强化学习下,输入数据直接反馈到模型,模型必须对此立刻做出调整;常见的应

52、用场景包括动态系统以及机器人控制等。常见算法包括Q-Learning 以及时间差学习(Temporal difference learning)。机器学习的分类总结在企业数据应用的场景下,人们最常用的可能就是监督式学习和无监督式学习的模型。在图像识别等领域,由于存在大量的非标识的数据和少量的可标识数据,目前半监督式学习是一个很热的话题。强化学习更多地应用在机器人控制及其他需要进行系统控制的领域。机器学习的常见算法回归算法(监督学习)神经网络(监督学习)SVM支持向量机(监督学习)聚类算法(无监督学习)降维算法(无监督学习)推荐算法(特殊)其他算法机器学习的常见算法回归算法回归算法有两个重要的子

53、类:即线性回归和逻辑回归;线性回归就是如何拟合出一条直线最佳匹配所有的数据,逻辑回归是一种与线性回归非常类似的算法;线性回归处理的问题类型与逻辑回归不一致:线性回归处理的是数值问题,也就是最后预测出的结果是数字,例如房价。逻辑回归属于分类算法,也就是说,逻辑回归预测结果是离散的分类,例如判断这封邮件是否是垃圾邮件,以及用户是否会点击此广告等等。机器学习的常见算法回归算法假设有一组肿瘤患者的数据,这些患者的肿瘤中有些是良性的(图中的蓝色点),有些是恶性的(图中的红色点)。这里肿瘤的红蓝色可以被称作数据的“标签”。同时每个数据包括两个“特征”:患者的年龄与肿瘤的大小。我们将这两个特征与标签映射到这

54、个二维空间上,形成了上图的数据。当有一个绿色的点时,该判断这个肿瘤是恶性的还是良性的呢?根据红蓝点我们训练出了一个逻辑回归模型,也就是图中的分类线。这时,根据绿点出现在分类线的左侧,因此我们判断它的标签应该是红色,也就是说属于恶性肿瘤。逻辑回归算法划出的分类线基本都是线性的(也有划出非线性分类线的逻辑回归,不过那样的模型在处理数据量较大的时候效率会很低),这意味着当两类之间的界线不是线性时,逻辑回归的表达能力就不足。机器学习的常见算法神经网络神经网络(也称之为人工神经网络,ANN)的诞生起源于对大脑工作机理的研究。早期生物界学者们使用神经网络来模拟大脑,后来,机器学习的学者们使用神经网络进行机

55、器学习的实验,发现在视觉与语音的识别上效果都相当好。神经网络算法是80年代机器学习界非常流行的算法。不过,进入90年代,神经网络的发展进入了一个瓶颈期。其主要原因是神经网络的训练过程很困难。现在,携着“深度学习”之势,神经网络重装归来,重新成为最强大的机器学习算法之一。机器学习的常见算法神经网络比方说,一个正方形,分解为四个折线进入视觉处理的下一层中。四个神经元分别处理一个折线。每个折线再继续被分解为两条直线,每条直线再被分解为黑白两个面。于是,一个复杂的图像变成了大量的细节进入神经元,神经元处理以后再进行整合,最后得出了看到的是正方形的结论。这就是大脑视觉识别的机理,也是神经网络工作的机理。

56、机器学习的常见算法SVM支持向量机SVM算法是诞生于统计学习界,同时在机器学习界大放光彩的经典算法。从某种意义上来说,支持向量机算法是逻辑回归算法的强化:通过给予逻辑回归算法更严格的优化条件,支持向量机算法可以获得比逻辑回归更好的分类界线。支持向量机是一种数学成分很浓的机器学习算法(相对的,神经网络则有生物科学成分)。通过支持向量机算法,既可以保持计算效率,又可以获得非常好的分类效果。因此支持向量机在90年代后期一直占据着机器学习中最核心的地位,基本取代了神经网络算法。直到现在神经网络借着深度学习重新兴起,两者之间才又发生了微妙的平衡转变。机器学习的常见算法SVN支持向量机通过跟高斯函数的结合

57、,支持向量机可以表达出非常复杂的分类界线,从而达成很好的分类效果。比如,可以将低维的空间映射到高维的空间。如何在二维平面划分出一个圆形的分类界线?在二维平面可能会很困难,但是通过高斯函数可以将二维空间映射到三维空间,然后使用一个线性平面就可以达成类似效果。机器学习的常见算法聚类算法聚类算法是无监督学习算法中最典型的代表。聚类算法就是计算种群中的距离,根据距离的远近将数据划分为多个族群。聚类算法中最典型的代表就是K-Means算法。机器学习的常见算法降维算法降维算法也是一种无监督学习算法,主要特征是将数据从高维降低到低维。维度表示数据的特征量的大小。例如,房价包含房子的长、宽、面积与房间数量四个

58、特征,也就是维度为4维的数据。可以看出来,长与宽事实上与面积表示的信息重叠了,例如面积=长 宽。通过降维算法,可以去除冗余信息,将特征减少为面积与房间数量两个特征,即从4维的数据压缩到2维。这样,不仅利于表示,同时提高计算的性能。降维算法的主要作用是压缩数据与提升机器学习的效率。通过降维算法,可以将具有几千个特征的数据压缩至若干个特征。另外,降维算法的另一个好处是数据的可视化,例如将5维的数据压缩至2维,然后可以用二维平面来可视。降维算法的主要代表是PCA算法(即主成分分析算法)。机器学习的常见算法推荐算法推荐算法是目前业界非常火的一种算法,如亚马逊,天猫,京东等都在广泛地运用。推荐算法的主要

59、特征就是可以自动向用户推荐他们最感兴趣的东西,从而增加购买率,提升效益。机器学习的常见算法推荐算法推荐算法有两个主要的类别:一类是基于物品内容的推荐,是将与用户购买的内容近似的物品推荐给用户,这样的前提是每个物品都得有若干个标签,因此才可以找出与用户购买物品类似的物品,这样推荐的好处是关联程度较大。另一类是基于用户相似度的推荐,则是将与目标用户兴趣(注:用户画像)相同的其他用户购买的东西推荐给目标用户,例如小A历史上买了物品B和C,经过算法分析,发现另一个与小A近似的用户小D购买了物品E,于是将物品E推荐给小A。两类推荐都有各自的优缺点,在一般的电商应用中,一般是两类混合使用。推荐算法中最有名

60、的算法就是协同过滤算法。机器学习的常见算法其他算法除了以上算法之外,机器学习界还有其他的如高斯判别,朴素贝叶斯,决策树等等算法。但是上面列的六个算法是使用最多,影响最广,种类最全的典型。机器学习界的一个特色就是算法众多,发展百花齐放。除了这些算法以外,有一些算法的名字在机器学习领域中也经常出现。但他们本身并不算是一个机器学习算法,而是为了解决某个子问题而诞生的。可以理解他们为以上算法的子算法,用于大幅度提高训练过程。其中的代表有:梯度下降法,主要运用在线性回归,逻辑回归,神经网络,推荐算法中;牛顿法,主要运用在线性回归中;BP算法,主要运用在神经网络中;SMO算法,主要运用在SVM中。机器学习

温馨提示

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

评论

0/150

提交评论