版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《人工智能导论》第1章Python概述第2章
人工智能概述第3章
知识表示第4章
搜索技术第5章
机器学习第6章
人工神经网络第7章
计算机视觉第8章
自然语言处理第9章
智能机器人全套可编辑PPT课件
Python概述第一章全套可编辑PPT课件
知识结构知识目标1.
认识Python及其必要的库。2.了解Python实际应用场景。能力与素养目标1.能够运用Python编程解决机器学习相关的问题。2.能够熟练安装各类软件。3.增强应用意识,培养应用能力。专题拓展阅读当前Python在人工智能的很多细分领域都有比较广泛的应用,人工智能领域之所以使用Python语言比较普遍,有三个比较主要的原因:一是Python语言有非常丰富的库支持,能够让研发人员把更多的精力放在算法设计和算法训练等方面;二是Python语言本身是一门全场景编程语言,有非常强的落地应用能力,而且语言生态比较健全;三是Python语言简单易学,目前开始落地应用的人工智能平台也普遍支持基于Python语言进行行业应用开发,这对于普及人工智能技术有一定的积极意义。如果你是一名会计,利用Python输入几行代码即可一键整理表格数据;如果你是一名房地产销售人员,借助于Python就可以轻松抓取房源的全部评价和细节内容,从地段、交通、价格、小区环境等各个方面进行比对,给用户推荐最合适的房源,用严谨的数据获得用户信赖;如果你是一名新媒体工作者,通过Python可以快速获取大众关注的热点话题。因此,若想抓住人工智能时代的机会,可以重点关注Python语言。目录1.1认识Python1.2认识cikit-learn1.3Jupyter
Notebook
工具1.4其他必要的库1.5Python机器学习应用认识Python1.11.1认识Python随着人工智能概念的兴起,Python的受关注度也越来越高。Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于20世纪90年代初设计,是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python在日常办公、程序开发、图像处理等多个方面都可以胜任,既适合编程初学者入门学习,也适合专业人士进行研究开发,因此深受广大群众的喜爱吉多·范罗苏姆(GuidovanRossum),是一名荷兰计算机程序员,他作为Python程序设计语言的作者而为人们熟知。在Python社区,吉多·范罗苏姆被人们认为是“仁慈的独裁者(BDFL)”,意思是他仍然关注Python的开发进程,并在必要的时刻做出决定。他在Google工作,在那里他把一半的时间用来维护Python的开发。2020年11月12日,Python之父GuidovanRossum在自己的官方宣布:由于退休生活太无聊,自己决定加入Microsoft的DevDivTeam。荷兰计算机程序员——吉多·范罗苏姆1.1认识Python1.简单013.兼容性035.丰富的库057.可扩展性和可嵌入性072.免费024.面向对象046.可读性06Python的优点1.1认识Python(1)简单。Python奉行简洁主义,易于读写,它使编程人员能够专注于解决问题而不是去弄清语言本身。Python入门简单,相比于其他语言更容易上手,非常适合作为编程初学者的启蒙语言。(2)免费。Python是开源软件,这意味着开发者不用花一分钱便能复制、阅读、改动它,这也是Python越来越优秀的原因之一———它是由一群希望看到一个更加优秀的Python的人创造并改进的。(3)兼容性。Python兼容众多平台,所以开发者不会遇到使用其他语言时常会遇到的困扰。(4)面向对象。Python既支持面向过程编程,也支持面向对象编程。在面向过程编程中,编程人员复用代码;在面向对象编程中,编程人员使用基于数据和函数的对象。1.1认识Python(5)丰富的库。Python标准库非常庞大,强大的库支持是Python的坚强后盾。它可以帮助编程人员处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI(公共网关接口)、FTP、电子邮件、XML、XML-RPC(XML远程过程调用)、HTML、WAV文件、密码系统、GUI(图形用户界面)和其他与系统有关的操作。(6)可读性。Python采用强制缩进的方式规范代码,使得代码具有极佳的可读性。(7)可扩展性和可嵌入性。如果想要更快地运行一段关键代码或者不公开某些算法,可以将该部分功能用C/C++编写,然后在Python中调用它们;也可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。因此,Python还有个昵称叫作“胶水语言”,即可以很方便地调用别的语言(如C++、Java)编写的功能模块,将它们有机结合在一起形成更高效的新程序。文件传输协议(FileTransferProtocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在OSI模型的第七层,TCP模型的第四层,即应用层,使用TCP传输而不是UDP,客户在和服务器建立连接前要经过一个“三次握手”的过程,保证客户与服务器之间的连接是可靠的,而且是面向连接,为数据传输提供可靠保证。[1]FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而,用户并不真正登录到自己想要存取的计算机上面而成为完全用户,可用FTP程序访问远程资源,实现用户往返传输文件、目录管理以及访问电子邮件等等,即使双方计算机可能配有不同的操作系统和文件存储方式。FTP:文件传输协议可扩展标记语言(ExtensibleMarkupLanguage,XML),标准通用标记语言的子集,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML是标准通用标记语言可扩展性良好,内容与形式分离,遵循严格的语法要求,保值性良好等优点,。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。早在1998年,W3C就发布了XML1.0规范,使用它来简化Internet的文档信息传输。XML:可扩展标记语言HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。超文本是一种组织信息的方式,它通过超级链接方法将文本中的文字、图表与其他信息媒体相关联。这些相互关联的信息媒体可能在同一文本中,也可能是其他文件,或是地理位置相距遥远的某台计算机上的文件。这种组织信息方式将分布在不同位置的信息资源用随机方式进行连接,为人们查找,检索信息提供方便。HTML:超文本标记语言WAV是最常见的声音文件格式之一,是微软公司专门为Windows开发的一种标准数字音频文件,该文件能记录各种单声道或立体声的声音信息,并能保证声音不失真。但WAV文件有一个致命的缺点,就是它所占用的磁盘空间太大(每分钟的音乐大约需要12兆磁盘空间)。它符合资源互换文件格式(RIFF)规范,用于保存Windows平台的音频信息资源,被Windows平台及其应用程序所广泛支持。Wave格式支持MSADPCM、CCITTA律、CCITTμ律和其他压缩算法,支持多种音频位数、采样频率和声道,是PC机上最为流行的声音文件格式;但其文件尺寸较大,多用于存储简短的声音片段。WAV:标准数字音频文件1.1认识PythonPython的学习强度相对于其他编程语言来说比较小,可帮助零基础人群轻松学会,而且发展前景好,在人工智能、大数据、云计算等领域均得到了广泛的应用。综上,Python可以说是最适合数据科学领域的编程语言,且具有受众广的优秀品质。因此,要想实现深度学习的目标,Python可以说是最合适的工具。课外拓展Python是一种广泛使用的编程语言,具有简单易学、易于阅读和编写的特点。以下是Python的一些主要用途:1.Web开发:Python有多个优秀的Web开发框架,如Django和Flask,可用于创建动态网站和Web应用程序。2.数据分析和数据科学:Python拥有许多强大的库,如NumPy、Pandas和SciPy,可用于数据处理、数据挖掘、数据可视化等。3.机器学习和人工智能:Python在机器学习和人工智能领域中广泛使用,许多流行的库(如TensorFlow和PyTorch)都是用Python编写的。4.网络爬虫和数据抓取:Python有很多库(如BeautifulSoup和Scrapy)可用于从网站上抓取和解析数据。Django是一个高级的PythonWeb框架,可以快速开发安全和可维护的网站。由经验丰富的开发者构建,Django负责处理网站开发中麻烦的部分,可以专注于编写应用程序,而无需重新开发。它是免费和开源的,有活跃繁荣的社区,丰富的文档,以及很多免费和付费的解决方案。2019年12月2日,Django3.0发布。Django:PythonWeb框架课外拓展5.自动化和脚本编写:Python可用于自动化任务,编写脚本,以及处理重复性任务。6.系统自动化:Python的强大库和能力,例如Ansible和SaltStack,使它成为系统自动化的理想选择。7.图形和多媒体处理:Python有像PIL(Pillow)这样的库,可以用于图像处理和创建图形界面。8.网络编程:Python可用于编写服务器和客户端应用程序,以及创建网络协议的客户端和服务端实现。9.系统编程:Python可以用于编写系统软件,例如操作系统组件、驱动程序、嵌入式系统等。Pillow是一个流行的Python图像处理库,它提供了广泛的功能和工具,可以用于加载、编辑、处理和保存图像。Pillow库是什么课外拓展10.游戏开发:Python有多个游戏开发框架,如Pygame和Panda3D,可用于创建视频游戏。11.网络应用开发:Python可以用于编写Web应用程序、API、爬虫、网络服务器等。以上只是Python的一些用途,实际上Python在许多其他领域也有应用,例如科学计算、数学处理、文本处理、数据库编程等。Pygame是一个跨平台Python库,Pygame作者是PeteShinners,协议为GNULesserGeneralPublicLicense。Pygame认识scikit-learn1.21.2认识scikit-learnscikit-learn是基于Python语言的开源机器学习库,可以方便地实现分类、回归、聚类、数据降维、模型选择和数据预处理等数据挖掘和机器学习中常见的操作,是非常重要的工具包,官网为/,里面有使用教程、用户手册、API接口查询等,如图1-1所示。1.2认识scikit-learnscikit-learn简称sklearn,其建立在NumPy、SciPy、Matplotlib模块之上。使用scikitlearn时,需要通过依赖关系借助pip工具逐个安装所需库,首先安装NumPy,然后安装SciPy、Matplotlib(如果需要绘图或进行交互式开发,应该安装Matplotlib),最后安装scikitlearn。由于此过程比较烦琐,建议直接下载Anaconda(一个开源的Python发行版本),Anaconda里面已经装有必要的包,而NumPy、Matplotlib等有助于数据分析的库都包含在其中。课外拓展Scikit-learn(也称为sklearn)是一个针对Python编程语言的免费软件机器学习库。它具有各种分类、回归和聚类算法,包括支持向量机、随机森林、梯度提升、k均值和DBSCAN等。Scikit-learn旨在与Python数值科学库NumPy和SciPy联合使用,它是建立在这些库基础上的。Scikit-learn包含众多顶级机器学习算法,主要有六大基本功能,分别是分类、回归、聚类、数据降维、模型选择和数据预处理。这个库提供了许多已经搞好的模型,可以直接在官网查看和下载。Scikit-learn拥有非常活跃的用户社区,基本上其所有的功能都有非常详尽的文档供用户查阅。Scikit-learn提供各种工具,支持有监督和无监督学习,为模型拟合、数据预处理、模型选择和评估等提供各种工具。在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。LeoBreiman和AdeleCutler发展出推论出随机森林的算法。而"RandomForests"是他们的商标。这个术语是1995年由贝尔实验室的TinKamHo所提出的随机决策森林(randomdecisionforests)而来的。这个方法则是结合Breimans的"Bootstrapaggregating"想法和Ho的"randomsubspacemethod"以建造决策树的集合。随机森林是一种包含很多决策树的分类器,既可以用于处理分类和回归问题,也适用于降维问题。其对异常值与噪音也有很好的容忍,相较于决策树有着更好的预测和分类性能。随机森林JupyterNotebook工具1.31.3JupyterNotebook工具JupyterNotebook是基于网页的用于交互计算的应用程序,可被应用于全过程计算:开发、文档编写、运行代码和展示结果。简而言之,JupyterNotebook是以网页的形式打开的,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码模块下显示的程序。若在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。有了JupyterNotebook,开发者可以直接在代码旁写出叙述性文档,而不用另外编写单独的文档。也就是说,它可以将代码、文档等集中到一处,让用户一目了然。如果已经下载好了Anaconda,可以直接解决JupyterNotebook的安装问题。因为Anaconda已经自动为你安装了JupyterNotebook。单击计算机上的开始菜单,找到下载好的Anaconda,双击打开。在打开的Anaconda界面右侧单击“Install”按钮(见图1-2),即可打开JupyterNotebook。1.3.1安装浏览器打开的Jupyter
Notebook初始界面一般展示的是用户计算机“user”用户名路径下面的文件列表,在初始界面右上角单击“New”下拉按钮,在下拉列表中可以选择创建新的Notebook、文本文档、文件夹或终端,如图1-3所示。创建完成后即可进入编辑区域,编辑区域由一系列单元格组成,单元格是编写和运行代码的地方,即用户可以在单元格中输入数据、分析代码,如图1-4所示。编辑完代码后,单击“Run”按钮即可运行代码,代码输出结果显示在单元格的下方,同时单元格会被编号(左侧显示In[1])。1.3.2创建课外拓展JupyterNotebook是一种基于网页的交互式笔记本,可以用于数据清理、数据可视化、统计分析、机器学习等。它支持多种编程语言,包括Python、R、Julia等,使得用户可以根据自己的需求选择合适的编程语言进行数据处理和分析。在JupyterNotebook中,用户可以创建一个或多个代码单元格,并在这些单元格中编写代码。代码单元格下方会显示代码的输出结果,这使得用户可以方便地查看代码的执行结果。同时,用户还可以在笔记本中添加文本、图片等富媒体内容,使得笔记本更加易于阅读和理解。JupyterNotebook的另一个优点是它的可共享性。用户可以将整个笔记本导出为HTML文件,并在浏览器中打开,从而实现笔记本的共享和协作。这对于团队合作和知识分享非常有用。课外拓展总之,JupyterNotebook是一个非常实用的工具,可以帮助用户进行数据处理、分析和可视化。它的交互式特性和可共享性也使得它在科研、教育和技术领域中得到了广泛的应用。其他必要的库1.41.4其他必要的库scikit-learn可以说是Python中最重要的机器学习库了,除此之外,还有其他一些库也可以改善编程体验,更好地为用户编程服务。例如,NumPy(基础科学计算库)、Matplotlib(绘图库)、pandas(数据分析库)、SciPy(科学计算工具集)等。NumPy是Numerical
Python的简写,顾名思义是Python数值计算的基石。NumPy是Python中的一个运算速度非常快的数学库,它非常重视数组,提供了Python对多维数组对象的支持,支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,极大地简化了向量和矩阵的操作处理,这也让NumPy成为许多数据科学家的最爱。1.4.1NunPyNumPy处理的最基础数据类型是由同种元素构成的多维数组,简称为“数组”。1.4.1NunPy数组的特点(1)数组中的所有元素的类型必须相同。(2)数组中的元素可以用整数索引。(3)数组索引序号从0开始。【例1.1】借助于NumPy库表示一组数组[123456]。In[1]:
import
numpyasnp
x=np.array([1,2,3,4,5,6])
print(x)Out[1]:
[123456]由于NumPy属于外部库,即它并不包含在标准的Python中,因此使用时首先需要导入NumPy。导入语句“importnumpyasnp”中,“import”表示输入,“as”表示作为,因此整条语句的意思是“将numpy作为np来导入”,相当于给numpy起个别名,后续的程序编写即可直接用np来代替numpy,方便程序的编写。成功导入NumPy后,就可以使用np.array()函数生成NumPy数组了。由于列表是不存在维度问题的,但数组是有维度的,因此通过np.array()函数将列表转化为数组,即负责接收Python列表作为参数,生成NumPy数组。Matplotlib是Python中的另外一个十分重要的库,在数据可视化场景中应用最为广泛,主要用于绘制各种2D图像,如直方图、功率谱、条形图、错误图、散点图等,甚至还可以绘制地理和天文方面的降雨图、地形差图和山河分布图等不同的图像。用户借助Matplotlib除了可以使用库方法去绘制已经固定好的图像外,也可以自定义地绘制任意想要的图案,还可以去绘制能够在浏览器上进行交互的图像。下面通过两个例子来简要介绍图形的绘制方法和图像的显示方法。1.4.2Matplotlib点击以上图标观看微课视频
:例1.2绘制过程微课【例1.2】绘制一个正弦函数曲线。In[2]:
import
matplotlib.pyplot
as
plt
import
numpy
as
np
#生成数据(从0到2pi之间,取100个采样点)
x=np.linspace(0,2*np.pi,100)
y=np.sin(x)
#绘制图形
plt.plot(x,y)
plt.show()首先通过NumPy的函数np.linspace()和np.sin()生成数据,然后将生成的数据传给函数plt.plot()绘制图形,最后通过函数plt.show()显示图形。运行上述代码,绘制的曲线图形如图1-5所示。【例1.3】读入并输出显示图像。In[3]:
import
matplotlib.pyplotasplt
from
matplotlib.image
import
imread
#读入图像,imread()函数读取图像的地址和名称等信息
img=imread(ˈ3.jpgˈ)
#把图像传给imshow()函数
plt.imshow(img)
#显示图像
plt.show()运行上述代码,所读取的图像如图1-6所示。pandas是基于NumPy的一个开源Python库,被广泛用于快速分析数据以及数据清洗和准备等工作。它的名字是由“panel”和“data”两个单词拼成的。简单地说,pandas可以被看作是Python版的Excel。pandas的一个强大之处在于它能很好地处理来自各种不同来源的数据,比如Excel表格、CSV文件、SQL数据库,甚至还能处理存储在网页上的数据。pandas基于NumPy,常常与NumPy、Matplotlib一起使用。1.4.3pandas【例1.4】使用pandas处理数据。In[4]:
import
pandas
as
pd
from
IPython.display
import
display
df=pd.DataFrame({ˈnameˈ:[ˈaˈ,ˈbˈ,ˈcˈ],ˈageˈ:[20,12,41],ˈsexˈ:[0,1,1],ˈbirthdayˈ:pd.date_range(ˈ20111111ˈ,periods=3)},columns=[ˈnameˈ,ˈageˈ,ˈsexˈ,ˈbirthdayˈ])
display(df)运行上述代码,输出结果如图1-7所示。课外拓展除了JupyterNotebook,Python还有许多其他必要的库,这些库可以帮助用户进行各种不同的任务,包括数据分析、机器学习、网络爬虫、Web开发等。1.数据分析与可视化:Pandas:用于数据处理和分析。NumPy:用于数值计算。Matplotlib:用于数据可视化。2.机器学习与深度学习:Scikit-learn:用于机器学习。TensorFlow:用于深度学习。PyTorch:用于深度学习。课外拓展3.网络爬虫与数据抓取:BeautifulSoup:用于网页解析。Scrapy:用于爬虫开发。4.Web开发与Web框架:Django:用于Web开发。Flask:用于Web开发。5.网络编程与网络库:Socket:用于网络编程。requests:用于发送HTTP请求。课外拓展6.系统自动化与工具库:Ansible:用于系统自动化。SaltStack:用于系统自动化。7.数据库与数据库库:SQLAlchemy:用于数据库操作。8.其他常用库:Scapy:用于数据包嗅探和分析。SymPy:用于数学符号计算。Python机器学习应用1.51.5Python机器学习应用鸢尾花数据集的分类预测实验是机器学习最经典的案例之一,通过模型的训练,对于大量的鸢尾花数据集的学习,可以识别出新的鸢尾花是什么类型,继而完成预测和分类。鸢尾原产于中国的中部,可以用来布置花坛,是一种十分重要的庭园植物。鸢尾的种类有很多,比较常见的有德国鸢尾、黄鸢尾、荷兰鸢尾、黄色丹佛鸢尾、网脉鸢尾等。鸢尾花(见图1-8)就是鸢尾开出的花朵,有蓝色、白色、紫色等多种颜色,绚丽多彩,极具观赏价值。鸢尾花种类有300多种,通过机器学习,当给出一株鸢尾花时,能否根据它的萼片及花瓣大小等信息成功预测它的种类?这里面实际上涉及了分类问题。1.5Python机器学习应用1.5Python机器学习应用本节内容是一个简单的机器学习的实例“鸢尾花预测模型”,其基本涵盖了scikit-learn机器学习库中所需的所有基本操作,实验环境为Anaconda。在搭建预测模型之前,需要明确一些基本概念。1.5Python机器学习应用(2)在多个选项中预测出一种结果的模型称为分类模型,分类模型预测结果有多种的问题称为多分类问题。(1)因为已知鸢尾花的测量数据集,所以该模型为一个监督学习模型(可参考机器学习章节了解监督学习模型)。(4)单个数据点的预测输出的类型称为标签。
(5)用于训练的数据集称为训练集(训练数据)。(3)可能的输出称为类别。2143(7)机器学习中,每个个体称为样本。(6)用于测试的数据集称为测试集(测试数据,用于验证模型好坏)。此处输入你的智能图形项正文(8)每个样本所有的属性称为特征。65871.5Python机器学习应用下面介绍搭建鸢尾花预测模型的步骤。22.将数据集分为训练数据和测试数据44.搭建模型66.模型评估11.获取数据集并导入所需库33.数据分析55.模型的使用1.获取数据集并导入所需库机器学习的第一步就是要获取数据,这一步非常重要,因为获取数据的质量和数量直接影响机器学习模型是否能建立好,是否能够得到最终的有效预测结果。#本数据集为一个经典数据集,因此可以直接导入鸢尾花数据集from
sklearn.datasets
import
load_iris#数据集分割函数from
sklearn.model_selection
import
train_test_split#K近邻算法类from
sklearn.neighbors
import
KNeighborsClassifier#导入NumPy库import
numpy
as
np#导入pandas库import
pandas
as
pd#导入Matplotlib绘图库import
matplotlib.pyplot
as
plt#load_iris()返回的是一个Bunch对象,其和字典很相似,通过一些操作可以得到该数据集内的数据和一些其他资料iris_datasets=load_iris()2.将数据集分为训练数据和测试数据拿到数据后,不能将数据全部用来训练,也不能将数据全部用来测试,更不能将训练数据拿来测试模型,因为模型会记住整个训练集,导致测试的结果总是对的,所以不能用训练集来测试模型的泛化能力。为了解决这个问题,可以根据数据特征选择机器学习算法建立模型,在训练模型前将数据集分成两部分,一部分作为训练数据,用来生成机器学习模型;另一部分作为测试数据,对训练后的模型进行测试,以此来判断此机器学习模型的准确性。通过scikit-learn中提供的train_test_split()函数来实现数据的分割。#得到的数据集分为测试集和训练集,其中x为输入数据,y为输出结果,即标签x_train,x_test,y_train,y_test=train_test_split(iris_datasets[ˈdataˈ],iris_datasets[ˈtargetˈ],random_state=0)3.数据分析在建立模型前,首先需要对数据进行简单的分析,方便后续确定要搭建的模型。我们可以借助于一些工具将数据可视化,如将数据变成散点图矩阵(见图1-9),方便查看其中的规律。#NumPy数组转换为pandas
DataFrame,利用特征名字对其进行标记iris_dataframe=pd.DataFrame(x_train,columns=iris_datasets.feature_names)#利用pandas中有的dataframe创建散点图矩阵grr=pd.plotting.scatter_matrix(iris_dataframe,c=y_train,figsize=(15,15),marker=ˈoˈ,hist_kwds={ˈbinsˈ:20},s=60,alpha=.8)#展示数据plt.show()4.搭建模型模型搭建选用的是“K近邻算法”,该算法在neighbors模块的KNeighborsClassifier类中实现,我们需要实例化一个对象才可以使用该算法。KNeighborsClassifier类中对要使用的方法进行了封装,其实例化的对象包含了训练数据构建模型的算法,也包含了预测的算法,还包含了提取出的信息。对于类来说,其仅仅保存了训练集。#K近邻算法knn=KNeighborsClassifier(n_neighbors=1)knn.fit(x_train,y_train)5.模型的使用模型的使用在类中已经进行了封装,可以直接调用函数实现。1)创建数据#输入的数据是一个二维数组x_new=np.array([[5,2.9,1,0.2]])2)结果预测#返回的数据是一个一维数组,含有标签的序号prediction=knn.predict(x_new)3)展示结果print(ˈthename:{}ˈ.format(iris_datasets[ˈtarget_namesˈ][prediction]))6.模型评估对于已经搭建好的模型,我们要对其正确性进行评估,这时就要使用到我们提前分离出来的测试集里面的数据和标签了。其中,knn.score(x_test,y_test)是类中自带的评价函数。#模型评估print(ˈthescore:{:.2f}ˈ.format(knn.score(x_test,y_test)))思考与练习1.什么是Python?使用Python有什么好处?2.使用scikit-learn机器学习库能实现哪些功能?3.简述Python的应用。4.使用NumPy库写出两个数组相加运算的码:[1,2,3]+[4,5,6]。谢谢观看人工智能概述第二章知识结构知识目标1.了解人工智能的应用领域。2.了解人工智能的发展过程。3.了解人工智能的知识图谱。能力与素养目标1.能够运用人工智能相关应用软件解决生活中的问题。2.能够区分专用人工智能和通用人工智能。3.培养应用能力,开拓科技视野。专题拓展阅读如今,人工智能技术受到世界的关注,其中,中国已具有较强的竞争力。我国民营企业科大讯飞公司,是一家从事智能语音及语言技术研究的科技公司,其在前几年尝试研发一项新技术———高考机器人。当时日本已经在做类似的高考机器人了,并且预计要达到东京大学入学考试的水平。当中国的高考机器人制作完成后,科大讯飞邀请了日本相关专家到中国来互相交流沟通,日本专家在此次交流沟通中大为震撼,回到日本后第一时间给日本政府写了一份报告。报告中列出了三个没想到。专题拓展阅读(1)没想到中国政府能投入如此大的力量来研究人工智能。(2)没想到中国能有这么多年轻的研究人员。(3)没想到中国在人工智能领域已经成为与日本并驾齐驱甚至超越日本的领先者。可以看出,中国在人工智能领域走在了世界前列。从原来跟着其他国家学到现在建立自信,这正是因为我们拥有了属于自己的核心技术。随着民族品牌不断地崛起,我们更要做好自主研发,用科技来创造中国力量。借用科大讯飞主页上的一句话“用人工智能建设美好世界”,相信人工智能一定可以改变世界。目录2.1生活中的人工智能
2.2人工智能的由来与发展2.3人工智能的定义2.4人工智能的判定2.5人工智能的知识图谱2.6人工智能的应用分类与体验生活中的人工智能2.12.1生活中的人工智能随着时代的发展,网络越来越发达,不知不觉中,人工智能已经走进我们的生活并悄无声息地带来了一场智能化革命。其实人工智能并不神秘,我们没必要把它束之高阁。例如,生活中人手一部的智能手机,其内部的语音操作功能,其实就是人工智能。又如,我们所熟知的在许多家庭中都可以见到的天猫精灵、小米智能音箱等,也属于人工智能。再高端一点的话,当属互联网智能家电,许多电器公司都在致力于研究与生产它们,如小米旗下的云米就是从事全屋互联网家电的公司。天猫精灵(TmallGenie)是阿里巴巴集团阿里云智能事业群于2017年7月5日发布的AI智能终端品牌。让用户以自然语言对话的交互方式,实现影音娱乐、购物、信息查询、生活服务等功能操作,成为消费者的家庭助手。天猫精灵云米,成立于2014年5月,总部位于广东佛山,作为全屋智能家电开创者,2018年9月,云米在美国纳斯达克成功上市(代码:VIOT)。是家庭物联网第1股。云米致力于用高科技缔造智能的家,为全球用户提供「一站式全屋智能」解决方案:智能家电+智能家居+软件服务。云米通过5G+Al+loT等前沿科技,打造智能厨房、智能客厅、智能卧室、智能卫浴、智能阳台、智能净水等智能场景解决方案,持续为全球家庭带来更舒适、便捷、健康、安全、可成长的智能生活体验。云米人工智能在智能交通领域的应用是颇为广泛的,如图2-1所示。近几年,百度、小米等公司都在研究智能驾驶技术,其中百度的Apollo自动驾驶科技已经公布了《百度智能驾驶开放白皮书》,这也是全球第一份系统性解构自动驾驶安全性与可靠性的技术文件。在自动驾驶模式下,不需要对汽车进行控制,只需要告诉车载AI目的地等相关信息即可实现安心、放心的出行。随着交通卡口的大规模联网,汇集的海量车辆通行记录等信息对于城市交通管理有着重要的作用,利用人工智能技术,可实时分析城市交通流量,调整红绿灯间隔,缩短车辆等待时间,提升城市道路的通行效率。城市级的人工智能大脑实时掌握着城市道路上通行车辆的轨迹信息、停车场的车辆信息以及小区的停车信息,能提前半个小时预测交通流量变化和停车位数量变化,合理调配资源、疏导交通,实现机场、火车站、汽车站、商圈的大规模交通联动调度,提升整个城市的运行效率,为居民的畅通出行提供保障。2.1.1
智能交通点击以上图标观看微课视频
:2.1.1拓展智能交通改变生活微课智能交通是AI落地应用的重要垂直市场之一。目前,在智能交通领域,人工智能分析及深度学习是比较成熟的应用技术,以车牌识别算法最为理想。此外,人工智能在车辆颜色、车辆厂商标志识别、无牌车检测、非机动车检测与分类、车头车尾判断、车辆检索、人脸识别等方面的应用也比较成熟。采用人工智能技术还可以识别车辆特征(车标、车型、年款等)与违法行为(遮挡车牌、开车打电话、不系安全带、机动车不礼让行人等)。2.1.1
智能交通未来,随着训练样本的大数据化和算力的提升,不断优化的AI算法将在缓解城市交通拥堵(对路口运行效率进行实时监测和展示,优化信号灯配时)、智能导航和无人驾驶(路线优化与道路识别)、道路养护(路面病害识别、道路智能化巡检)、突发(交通)事件网络态势感知、电子警察(精准化的违法行为判断、重点人或车的精准识别)等领域发挥更大的作用,有力促进交通强国战略的实施,推动我国智能交通产业更快更好地发展。2.1.1
智能交通人工智能的快速发展可以极大地提高各种高精度医疗器械的发展速度,同时实现智慧诊疗。智慧诊疗使得人工智能不断地学习各种病例,直到可以解决大部分疾病的诊断和治疗。图2-2所示是人工智能在眼科诊疗过程中的应用,运用人工智能算法进行病例分析,可以帮助医生查出近50种眼类疾病,模拟医生的诊断思维,最终给出治疗方案。另外,人工智能还可以对医学影像学数据进行分析,辅助医生给出预判结果。2.1.2智慧医疗人工智能中的深度学习技术还可以应用于药物研究,通过大数据分析等技术手段快速、准确地挖掘和筛选出合适的化合物或生物,达到缩短新药研发周期、降低新药研发成本、提高新药研发成功率的目的。人工智能通过计算机模拟,可以对药物活性、安全性和副作用进行预测。借助深度学习,人工智能已在心血管药、抗肿瘤药和常见传染病治疗药等多个领域取得了新突破,在抗击埃博拉病毒中也发挥了重要的作用。除此之外,人工智能技术还可以应用到健康管理的具体场景中,目前主要集中在风险识别、虚拟护士、精神健康、移动医疗、健康干预以及基于精准医学的健康管理方面。2.1.2智慧医疗(1)风险识别。通过获取信息并运用人工智能技术进行分析,识别疾病发生的风险及提供降低风险的措施。(2)虚拟护士。收集病人的饮食习惯、锻炼周期、服药习惯等个人生活习惯信息,运用人工智能技术进行数据分析并评估病人整体状态,协助规划其日常生活。(3)精神健康。运用人工智能技术对语言、表情、声音等数据进行情感识别。(4)移动医疗。结合人工智能技术提供远程医疗服务。(5)健康干预。运用AI对用户体征数据进行分析,制订健康管理计划。2.1.2智慧医疗人工智能在安防领域的应用随处可见。例如,天网工程能调用地球上任何位置的摄像头和音频系统,从而高效准确地搜索人或事物;一些交通要道、公共场所都安装有视频监控设备,利用图像采集等技术可对固定区域进行实时的监控(见图2-3)。2.1.3智能安防人工智能技术的迅猛发展,积极推动着安防领域向着一个更智能化、更人性化的方向前进,目前人工智能在公安行业也有很多应用。公安行业用户的迫切需求是,在海量的视频信息中发现犯罪嫌疑人的线索。人工智能在视频内容的特征提取、内容理解方面有着天然的优势。前端摄像头内置人工智能芯片,可实时分析视频内容,检测运动对象,识别人、车属性信息,并通过网络传递到后端人工智能的中心数据库进行存储。再利用强大的计算能力及智能分析能力,人工智能可对犯罪嫌疑人的信息进行比对筛查和实时分析,给出最可能的线索建议,准确率高达99.8%以上,将犯罪嫌疑人的轨迹锁定由原来的几天缩短到几分钟,为案件的侦破节约宝贵的时间。其强大的交互能力,使其还能与办案民警进行自然语言方式的沟通,真正成为办案人员的专家助手。2.1.3智能安防安防领域所涉及的人工智能技术主要体现在两个方面:视频结构化技术和大数据技术。2.1.3智能安防(1)视频结构化技术。视频结构化技术融合了机器视觉、图像处理、模式识别、深度学习等技术,是视频内容理解的基石。1(2)大数据技术。大数据技术为人工智能提供强大的分布式计算能力和知识库管理能力,是人工智能分析预测、自主完善的重要支撑。2人工智能虽然在教育行业面临巨大的挑战,但也带来了一些独特的优势。首先,人工智能可以帮助教育机构更好地理解学生。通过对学生的日常行为进行分析,人工智能可以帮助教育机构了解学生的学习喜好和习惯,从而个性化地为学生制定教育方案。其次,人工智能可以为教师提供即时反馈。通过对课堂内容和学生反应的分析,人工智能可以即时发现问题并提供相应的解决方案。最后,人工智能还可以帮助教育机构减少运营成本。通过对课程内容、教材使用情况等方面进行分析,人工智能可以帮助教育机构优化课程设置和教材使用,从而减少运营成本。2.1.4智能教育2020年,中共中央、国务院印发《深化新时代教育评价改革总体方案》,明确指出要创新评价工具,利用人工智能、大数据等现代信息技术,探索开展各年级学生学习情况全过程纵向评价、德智体美劳全要素横向评价。有些学校已经将课堂教学效果与AI技术相结合,生成了一套教学反馈系统。通过人脸识别技术识别出学生当前的状态,以便于教师监督并反馈当前课堂状况(见图2-4)。另外,在智能教育领域,利用人工智能还可以进行机器阅卷,解决了主观题的公平公正问题,能够直观判断每份试卷的难易程度。2.1.4智能教育2.1.4智能教育当下,科技的发展使得互联网和智能手机得到普及,并渗透到人们日常生活的方方面面,而电子支付更是因为其方便快捷的支付形式受到年轻人的追捧。现在多数人出门已经养成了不带钱包的习惯,一部手机就可以解决所有问题。电子支付让我们充分享受到了科技给生活带来的便利,如使用人脸识别技术进行刷脸支付等,如图2-5所示。2.1.5电子支付有很大的可能性,在未来人工智能将高速发展,并在一些工作岗位中部分或完全取代人力。虽然它会“抢走”许多人的工作,但是它的存在与发展是必然趋势,我们能做的是不断提升自己,争做时代的弄潮儿。2.1.5电子支付人工智能的由来与发展2.22.2人工智能的由来与发展人工智能虽然不像物理和化学等学科一样古老,但是从历史进程上看,在早期历史中,一些智能机器中隐含着人工智能相关知识,人工智能这个新学科正在逐渐变得越来越强大。第一次工业革命:机械化。18世纪60年代到19世纪中期,人类开始进入以蒸汽机为代表的机器取代人力生产的机器时代。第二次工业革命:电气化。19世纪下半叶到20世纪初,人类开始进入以电力大规模应用为代表的电气时代,并在信息革命、资讯革命中达到顶峰。第三次工业革命:自动化。20世纪后半期,约在第二次世界大战之后,人类进入以计算机和电子数据普及为代表的科技时代,生物克隆技术、航天科技出现,引发了第三次工业革命。第四次工业革命:智能化。21世纪初,第四次工业革命悄然到来,其是继蒸汽技术革命、电力技术革命、电子技术革命的又一次科技革命,人类进入以物联网、大数据、云计算、互联网等科技实现智能化和自动化的全新时代。2.2.1人工智能的由来蒸汽机是将蒸汽的能量转换为机械功的往复式动力机械。蒸汽机的出现曾引起了18世纪的工业革命。直到20世纪初,它仍然是世界上最重要的原动机,后来才逐渐让位于内燃机和汽轮机等。蒸汽机需要一个使水沸腾产生高压蒸汽的锅炉,这个锅炉可以使用木头、煤、石油或天然气甚至可燃垃圾作为热源。蒸汽膨胀推动活塞做功。蒸汽机人工智能的由来如图2-6所示。2.2.1人工智能的由来人类通过直立行走解放了双手,然后开始不断探索与创造新的工具。人类一直致力于创造越来越精密复杂的机器来节省体力、延长自己的寿命,同时也发明了很多用于减轻脑力劳动的工具,如算盘、计算机等,它们在一定程度上减轻了脑力劳动,但应用范围有限。直到人工智能出现与发展,人类的脑力劳动才得到了多方面的减轻。人工智能学科诞生于20世纪50年代初,当时由于计算机的产生与发展,人们开始了具有真正意义的研究,用机器来模拟人类智能等问题诞生了。2.2.2人工智能的发展自古以来,人们就一直试图用各种机器来代替人的部分脑力劳动,以提高其征服自然的能力,其中对人工智能的产生、发展有重大影响的研究主要有以下几个。公元前900多年,我国已经有关于歌舞机器人的传说记载,说明古代人就有人工智能的幻想。公元前384—公元前322年,哲学家亚里士多德(Aristotle)在他的名著《工具论》中提出了形式逻辑的一些主要定律,他提出的三段论至今仍是演绎推理的基本依据。12世纪末至13世纪初,西班牙逻辑学家RomenLuee试图制造能解决各种问题的通用逻辑机。2.2.2人工智能的发展1.萌芽期(1956年以前)亚里士多德(Aristotle,公元前384~前322),古代先哲,古希腊人,世界古代史上伟大的哲学家、科学家和教育家之一,堪称希腊哲学的集大成者。他是柏拉图的学生,亚历山大的老师。公元前335年,他在雅典办了一所叫吕克昂的学校,被称为逍遥学派。马克思曾称亚里士多德是古希腊哲学家中最博学的人物,恩格斯称他是“古代的黑格尔”。亚里士多德——古希腊著名思想家作为一位百科全书式的科学家,他几乎对每个学科都做出了贡献。他的写作涉及伦理学、形而上学、心理学、经济学、神学、政治学、修辞学、自然科学、教育学、诗歌、风俗,以及雅典法律。亚里士多德的著作构建了西方哲学的第一个广泛系统,包含道德、美学、逻辑和科学、政治和玄学。《工具论》是亚里士多德逻辑著作的汇编总称。由于当时认为逻辑学既非理论知识,又非实际知识而只是知识的工具,所以后人将此书命名为《工具论》。全书包括六篇—一《范畴篇》,讨论实体、量、关系、质等问题;《解释篇》,结合词语、语句讨论判断或命题;《前分析篇》,讨论推理的有效性、前提和结论之间的关系;《后分析篇》,讨论证明的条件、种类、方法和构成因素,以及定义和证明的关系等;《论辨篇》,讨论论辩的艺术、推理的方法等,《辨谬篇》,专门培析和驳斥各种谬误和诡辩。《工具论》——亚里士多德撰写的书籍17世纪,法国物理学家和数学家B.Pascal制成了世界上第一台会演算的机械加法器并获得实际应用。19世纪,英国数学和力学家C.Babbage致力于差分机和分析机的研究,虽因条件限制未能完全实现,但其设计思想不愧为当时人工智能的最高成就。进入20世纪后,关于人工智能相继出现若干开创性的工作。1936年,年仅24岁的英国数学家艾伦·麦席森·图灵(A.M.Turing)在他的一篇有关“理想计算机”的论文中提出了著名的图灵机模型,为后来电子数字计算机的问世奠定了理论基础。1943年,美国神经生理学家麦克洛奇与数理逻辑学家匹兹建成了第一个神经网络模型(M-P模型),开创了微观人工智能的研究领域,为后来人工神经网络的研究奠定了基础。2.2.2人工智能的发展1.萌芽期(1956年以前)在机器学习方面,1957年Rosenblatt研制成功了感知机。这是一种将神经元用于识别的系统,它的学习功能引起了人们广泛的兴趣,推动了连接机制的研究,但人们很快发现了感知机的局限性。在定理证明方面,美籍华裔数理逻辑学家王浩于1958年在IBM-704机器上用3~5min证明了《数学原理》中有关命题演算的全部定理(220条),并且还证明了谓词演算中150条定理的85%;1965年鲁宾孙(J.A.Robinson)提出了归结原理,为定理的机器证明做出了突破性的贡献。
在模式识别方面,1959年塞尔夫里奇推出了一个模式识别程序,1965年罗伯特(Ro_x0002_berts)编制出了可分辨积木构造的程序。2.2.2人工智能的发展2.形成时期(1956—1970年)王浩(HaoWang,1921年5月20日—1995年5月13日),出生于山东省济南市,祖籍山东省德州市齐河县,华裔美国人,数学家,哲学家,逻辑学家,计算机科学家,美国艺术与科学院院士,洛克菲勒大学荣休教授。王浩——美国艺术与科学院院士,数学家,哲学家,逻辑学家,计算机学家在问题求解方面,1960年纽厄尔等人通过心理学试验总结出了人们求解问题的思维规律,编制了通用问题求解程序(general-problemsolver,GPS),可以用来求解11种不同类型的问题。在专家系统方面,由美国斯坦福大学的费根鲍姆(E.A.Feigenbaum)领导的研究小组自1965年开始专家系统DENDRAL的研究,1968年完成并投入使用。该专家系统能根据质谱仪的实验,通过分析推理决定化合物的分子结构,其分析能力已接近甚至超过有关化学专家的水平,在美、英等国得到了实际的应用。该专家系统的研制成功不仅为人们提供了一个实用的专家系统,而且对知识表示、存储、获取、推理及利用等技术是一次非常有益的探索,为以后专家系统的建造树立了榜样,对人工智能的发展产生了深刻的影响,其意义远远超过了系统本身在实用上所创造的价值。2.2.2人工智能的发展2.形成时期(1956—1970年)在人工智能语言方面,1960年,麦卡锡研制出的人工智能语言(LISP),成为建造专家系统的重要工具。1969年成立的国际人工智能联合会议(InternationalJointConferencesonArtificialIntelligence,IJCAI)是人工智能发展史上一个重要的里程碑,它标志着人工智能这门新兴学科已经得到世界的肯定和认可。1970年创刊的国际性人工智能杂志ArtificialIntelligence对推动人工智能的发展,促进研究者们的交流起到了重要的作用。2.2.2人工智能的发展2.形成时期(1956—1970年)进入20世纪70年代,许多国家都开展了人工智能的研究,涌现了大量的研究成果。例如,1972年,法国马赛大学的科麦瑞尔(A.Comerauer)提出并实现了逻辑程序设计语言PROLOG;斯坦福大学的肖特利夫(E.H.Shortliffe)等人从1972年开始研制用于诊断和治疗感染性疾病的专家系统MYCIN。1977年,费根鲍姆在第五届国际人工智能联合会议上提出了“知识工程”的概念,对以知识为基础的智能系统的研究与建造起到了重要的作用。大多数人接受了费根鲍姆关于以知识为中心展开人工智能研究的观点。从此,人工智能的研究又迎来了蓬勃发展的以知识为中心的新时期。2.2.2人工智能的发展3.发展时期(1970年以后)1996年2月10日至17日,为了纪念世界上第一台通用电子计算机诞生50周年,美国IBM公司出巨资邀请国际象棋世界冠军卡斯帕罗夫与IBM公司的“深蓝”计算机进行了六局的“人机大战”。这场比赛被人们称为“人脑与‘电脑’的世界决战”,参赛双方分别代表了国际象棋领域中的人脑和“电脑”的世界最高水平。2.2.2人工智能的发展3.发展时期(1970年以后)人工智能的定义2.32.3人工智能的定义人工智能(artificialintelligence,AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能属于一门综合学科,集合了数学、计算机学、心理学、物理学等多门学科。研究人工智能实际上就是让计算机模拟人类行为代替人去思考、工作,教“机器宝宝”逐渐长大成“人”,与人类成长过程类似。2.3人工智能的定义人工智能的定义可以拆分成两部分,一部分是“人工”,另一部分是“智能”。“人工”是指必须是人创造的东西,“智能”是指获取和应用知识与技能的能力。所以人工智能从某种意义上来讲,也可以定义为由人创造的能够获取和应用知识与技能的能力的程序、机械或者设备,即让计算机去做过去只有人才能做的智能工作。目前还没有一个公认的关于人工智能的定义,甚至还存在一些完全相悖的观点,大致上人工智能具有以下几种被普遍接受的定义。2.3人工智能的定义人工智能是一种使计算机能够思维,使机器具有智力的激动人心的新尝试。人工智能是研究那些使理解、推理和行为成为可能的计算。人工智能是那些与人的思维、决策、问题求解和学习等有关的活动的自动化。人工智能是用计算模型研究智力行为。2.3人工智能的定义下面通过两个问题揭示人工智能真正的含义。【例2.1】如图2-7(a)所示,金字塔的高度是多少?金字塔是古埃及人的伟大创造,坐落在撒哈拉沙漠的边缘。在古时候,由于金字塔又高又陡,并且又是法老们的陵墓,出于敬畏之心,没人敢登上去直接进行测量,所以金字塔高度的测量是一个难题。要想准确测量出金字塔的高度,就要想办法找到一个金字塔的模型,通过模型来间接计算金字塔的高度。有一次,古希腊的一位哲学家泰勒斯在游览金字塔时,提出了解决方案,他利用相似三角形基本原理轻而易举地就测出了金字塔的高度[见图2-7(b)],也因此开创了数学命题的简单证明。通过以上问题可以看出来:人工智能是建立关于思维、感知和行动的模型。2.3人工智能的定义下面通过两个问题揭示人工智能真正的含义。【例2.1】如图2-7(a)所示,金字塔的高度是多少?2.3人工智能的定义【例2.2】如图2-8所示,一个农夫想要带着一匹狼和两只羊过河,但他的船每次只能带一只动物过河,人不在时狼会吃羊,怎样乘船才能把这些动物都安全运过河?2.3人工智能的定义农夫过河问题是人工智能领域典型的问题。如果用自然语言描述此过程,不仅烦琐而且还不够精准。因此,要想精确地求解实际问题,就要将问题抽象为一个数学模型。表示方法:过河与未过河是两种不同的状态,可以用0和1来表示,0表示未过河,1表示已过河。农夫、狼、羊1、羊2分别处于这两种状态。如果用四元组表示状态的话,此问题就变成从初始状态(0,0,0,0)经过一些中间状态变成目标状态(1,1,1,1)的过程。约束条件:根据题意,过河时具有一定的约束条件,即人不在时狼会吃羊,因此(0,1,1,1)、(0,1,1,0)、(0,1,0,1)、(1,0,0,0)、(1,0,0,1)、(1,0,1,0)这几种情况是不可以出现的。有了问题的表示方法和约束条件,在解决问题时就可以精确地描述问题了。通过以上问题可以看出来:人工智能是在特定约束条件下建立关于思维、感知和行动的模型。人工智能的判定2.42.4人工智能的判定学习了人工智能的定义后,要想判断一个智能体是否拥有人工智能,就要用到人工智能领域两个有名的测试,一个叫图灵测试,另一个叫中文房间。它们是两种测试机器是否具备人类智能的方法。图灵测试(Turingtest)由人工智能之父艾伦·麦席森·图灵提出,它是指在询问者(一个人)与被测试者(一台机器)隔开的情况下,询问者向被测试者随意提问,如果被测试者能够与询问者对话,而不被辨别出机器身份,则称这台机器是智能的(见图2-9)。下面可以通过两段对话感受一下哪个机器是智能的,哪个机器是非智能的。2.4.1图灵测试[对话1]问:请帮我写出有关“第四号桥”主题的十四行诗。答:我从来不会写诗。问:34957加70764等于多少?答:(停30秒后)105721。问:你会下国际象棋吗?答:是的。问:我在我的K1处有棋子K;你仅在K6处有棋子K,在R1处有棋子R。轮到你走,你应该下哪步棋?答:(停15秒后)棋子R走到R8处,将军!2.4.1图灵测试[对话2]问:你会下国际象棋吗?答:是的。问:你会下国际象棋吗?答:是的。问:请再次回答,你会下国际象棋吗?答:是的。很明显,对话1的机器是智能的,对话2的机器并不智能。对话1的回答并不能让人区分出其是人或者机器,即机器同人一样具有思考、处理问题的能力。对话2的回答能让人轻松察觉其是机器,因此是不智能的。2.4.1图灵测试中文房间(Chineseroom,theChineseroomargument)又称作华语房间,最早由美国哲学家JohnSearle于20世纪80年代初提出。这个实验要求你想象一个只会说英语的人身处一个房间之中,这个房间除了门上有一个小窗口以外,全部都是封闭的。他随身带着一本写有中文翻译程序的书,房间里还有足够的稿纸、铅笔和橱柜。写着中文的纸片通过小窗口被送入房间中,房间里的人可以使用他的书来翻译这些文字并用中文回复(见图2-10)。虽然房间里的人完全不会中文,但是Searle认为通过这个过程,房间里的人可以让任何房间外的人以为他会说流利的中文。2.4.2中文房间2.4.2中文房间可以看出,中文房间是将一个对中文一窍不通且只会说英语的人关在封闭的房间内,通过英汉书指导他翻译并回复房间外面的人。尽管通过此方法可以以假乱真,让房外人相信房中人是一个完全懂中文的人,但客观事实是他压根就不懂中文。此过程中,房外人相当于程序员,房中人相当于机器,书相当于计算机程序。每当房外人给出一个输入,房中人依据书的指导就会给出一个输出。综上所述,两种测试表明,当一台机器能与人类对话而不被辨别出其机器身份时,就说此台机器是智能的。2.4.2中文房间人工智能的知识图谱2.52.5人工智能的知识图谱知识图谱是人工智能的重要分支,是推动互联网和人工智能发展的核心驱动力,目前已经成为推动机器基于人类知识获取认知能力的重要途径,并将逐渐成为未来智能社会的重要主导因素。图2-11所示是人工智能的知识图谱。点击以上图标观看微课视频
:2.5什么是知识图谱微课要想在技术层面实现人工智能,首先要解决一些基础问题,比如人类所熟知的知识在计算机中如何表示的问题。由于计算机表示数据的方式与人类是完全不一样的,因此要想处理某个问题,第一步就需要将问题的相关知识表示出来。知识表示是一个核心问题,属于基础层面的内容,详见本书第3章。每个人从小就一直在学习各种基本概念,比如爸爸的含义、妈妈的含义,这其实就是在帮助我们理解爸爸和妈妈的概念;概念表示出来以后,由一系列概念就可以组成一个完整的知识,即知识表示;最后,这一系列相关联的知识便组成了知识图谱。2.5.1知识表示知识获取是人工智能和知识工程的基本技术之一,也是人工智能所要解决的主要问题。如果说知识表示是基础,那么知识获取就是运用知识进行推理的重要途径。通过知识表示,将所获取的知识存储到知识库中,并利用知识进行推理,最终求解出问题。知识的获取方式有很多,最基础的就是搜索技术。搜索技术类似于百度搜索过程,详见本书第4章。第二种是群智能算法,群智能算法源于以群落形式生存的生物的觅食行为。研究者发现,每个个体通过相互作用机制形成强大的群体智慧,进而来解决一些复杂问题。因此,相比于一般搜索技术,群智能算法更复杂一些。除此之外,机器学习和人工神经网络与深度学习这两种知识获取方式更为烦琐,在本书第5章、第6章中会做详细介绍。可见,对于小数据可选择搜索技术进行知识的获取,当存在大量数据时,主要采用人工神经网络与深度学习或机器学习的方式进行知识的获取。2.5.2知识获取通过知识表示,可以将知识用计算机能读懂的语言表示出来,并通过相关方法获取知识,此时相当于已经有了一定的知识储备,人工智能最终的目的是要运用这些知识去解决实际问题,这就涉及应用层面的问题。例如,目前已经非常成熟的计算机视觉和自然语言处理,以及某些决策层面上的应用,比如规划、多智能体系统、智能机器人等,其中智能机器人是目前人工智能领域最高端的技术。2.5.3知识应用人工智能的应用分类与体验2.6随着当今社会科学技术的持续发展和人们对编程技术的探索,近年来AI产业正在飞速发展,人工智能产业实践层出不穷,越来越多的人开始关注人工智能方面,大体上人工智能的应用可分为两大类,一类是专用人工智能,另一类是通用人工智能。2.6.1人工智能的应用分类1.专用人工智能专用人工智能是指具备了某一项能力的人工智能代替人去做某个具体岗位的重复的体力劳动或脑力劳动工作,可以做一些简单、重复的劳动形式。【例2.3】阿尔法围棋(AlphaGo)是第一个击败人类职业围棋选手、第一个战胜围棋世界冠军的人工智能机器人。2016年3月,AlphaGo与围棋世界冠军、韩国职业九段棋手李世石进行围棋人机大战,以4∶1的总比分获胜;2017年5月,在中国乌镇围棋峰会上,它与世界围棋等级排名第一的世界围棋冠军、中国职业棋手柯洁对战,以3∶0的总比分获胜,如图2-12所示,其中右侧的工作人员仅替AlphaGo将每一步的棋子摆放到棋盘上。围棋界公认AlphaGo的棋力已经超过人类职业围棋顶尖水平。2.6.1人工智能的应用分类2.6.1人工智能的应用分类专用人工智能只擅长于单方面人工智能的能力,比如AlphaGo只会下围棋,尽管下得很出色,但也仅限于围棋,若让它去下军棋,它就不擅长了。本章2.1节“生活中的人工智能”中介绍的人工智能均属于专用人工智能。在很多行业中,专用人工智能已经得到广泛的应用,替代了很多岗位的工作,如下所示。2.6.1人工智能的应用分类01快递公司:用24小时不停歇、零差错的分拣机器人替代分拣员,并开始测试无人驾驶送件车。02新闻媒体:用写稿机器人来代替普通记者和编辑,其一天可以完成一个编辑团队半年的工作量。03超市便利店:开始尝试无人售货或自主买单,收银员不再是不可或缺的。04工厂:计划在未来几年内拿掉80%的工人,用机器人替代生产线工人。2.6.1人工智能的应用分类05电商:用人工智能替代普通美工,一秒钟能做出8000张海报。06医院:用人工智能和大数据辅助医生判断病情,准确率已接近80%。07律师事务所:用人工智能审核法律文件,节约大量人力和时间。08保险公司和地产公司:用人工智能呼出广告电话,其不仅应答自如,普通话还比一般人标准得多。2.6.1人工智能的应用分类在如此多的行业中,大家可以思考一下哪些岗位最容易被人工智能替换。表2-1所示是各岗位被人工智能替换的概率,其中电话推销员最容易被替换,被替换的概率高达99.0%,而教师最不容易被替换,被替换的概率仅为0.4%。由此可见,一些比较简单的、重复的、机械的岗位被人工智能替代的可能性最大,而一些需要情感交流和互动、技术含量较高的岗位被人工智能替代的可能性较小。2.6.1人工智能的应用分类通用人工智能是指人工智能具有像人一样的思维水平以及心理结构的全面智能化,可以执行相当于人类甚至超越人类智力水平的任务,不仅能够独立完成任务,还可以理解物理论文,设计投资策略,并与陌生人进行愉快的交谈,而不局限在某个特定领域。现在的科研应用主要聚焦在专用人工智能上,发展势头较猛,并已取得可观成就。而通用人工智能还未实现,属于停滞不前的状态。腾讯董事会主席兼首席执行官马化腾认为通用人工智能发展趋势越来越清晰。AI从专才向通才发展,实现从专用人工智能向通用人工智能的跨越发展,这也是下一阶段的重要趋势。2.通用人工智能2.6.2人工智能的应用体验目前,很多人工智能的技术已经放在云端,比如一些App和微信小程序等。下面我们可以来体验一下人工智能带给我们生活上的便捷。在微信小程序中搜索“腾讯云AI体验中心”,可以利用这个小程序来体验腾讯的AI服务,如图2-13(a)所示,里面有人脸特效、人脸识别、文字识别等功能。在日常生活中,可以通过生物特征识别技术进行身份查找和身份确认。其中,人脸属性识别是通过图片识别出人脸的性别、年龄、表情等属性值的一项技术,图2-13(b)所示为使用腾讯云AI体验中心的“人脸属性”功能对某幅人脸图像进行识别。2.6.2人工智能的应用体验思考与练习1.什么是人工智能?2.专用人工智能与通用人工智能的区别有哪些?3.请说出人工智能在生活中的应用。4.人工智能带给我们哪些便捷?谢谢观看知识表示第三章知识结构知识目标1.了解知识、知识表示的概念。2.掌握各种算法表示知识的过程。能力与素养目标1.能够用谓词逻辑表示法表示知识。2.能够绘制状态空间图进行问题的表示。3.培养严谨的逻辑推理能力。专题拓展阅读在“互联网+”时代,最热门的词语可能就是大数据了。手机话费账单是大数据,信用卡消费记录是大数据,我们日常使用的支付宝背后也有大数据的支撑。数据已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。人们开始着力于对海量数据进行挖掘和运用,力求在大数据里面快速地获取相关的信息。随着国家大数据战略配套政策措施的制定和实施,我国大数据产业的发展环境将进一步优化,大数据的新业态、新业务、新服务将迎来爆发式增长,产业链进一步成熟和扩张。我国大数据的资源掌控能力、技术支撑能力和价值挖掘能力,正加快促使我国迈向数据强国。要想在大数据里面快速地获取相关的信息,最基本的技术就是知识的表示,它决定着人工智能如何进行知识学习,是最底层、最基础的部分,因此是人工智能当中很重要的一个技术手段。专题拓展阅读人类之所以拥有智能行为是因为人类拥有知识,拥有对知识的获取、表达、搜索、分析和解答等智能能力。因此,要想让机器系统像人一样具有智能能力(人工智能),则必须以人的知识为基础,因为知识是人工智能的基石。但是人类所熟知的知识对于计算机而言,需要用适当的表示形式表达出来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 画廊建筑课程设计
- 广联达课程设计代做
- 2024年版个人借款抵押租赁设备合同
- 现捞卤味配方课程设计
- 算术编码课程设计 c
- 2024年版个人借款抵押专利权合同模板
- 港口物流课程设计
- 2024年网络安全服务股权质押担保合同
- 2024年汽车贷款风险担保合同
- 2024年水果种植基地采购协议3篇
- 创建电力优质工程策划及控制课件
- DBJ61-T 104-2015 陕西省村镇建筑抗震设防技术规程-(高清版)
- 基础化工行业深度:电解液新型锂盐材料之双氟磺酰亚胺锂(LiFSI)市场潜力可观新型锂盐LiFSI国产化进程加速
- 实战销售培训讲座(共98页).ppt
- 测控电路第7章信号细分与辨向电路
- 外研版(三起)小学英语四年级上册教案(全册)
- 小学生体育学习评价表
- 哈尔滨工业大学信纸模版
- 餐饮店应聘人员面试测评表
- 踝关节扭伤.ppt
- 《合作意向确认函》范本
评论
0/150
提交评论