博舍

什么是计算智能它和人工智能有何区别 计算思维和人工智能基础的关系

什么是计算智能它和人工智能有何区别

现代科学技术发展的一个显著特点就是信息科学与生命科学的相互交又、相互漆透和相互促进,生物信息学就是两者结合而形成的新的交叉学科,计算智能则是另一个有说服力的示例。计算智能涉及神经计算、模计算、进化计算、粒群计算、蚁群算法、自然计算、免疫计算和人工生命等领域,它的研究和发展正反映了当代科学技术多学科交叉与集成的重要发展趋势。

创造、发明和发现是千千万万科技开拓者的共同品性和永恒追求。包括牛顿、爱因斯坦、图灵和维纳等科学巨匠在内的科学家们,都致力于寻求与发现创造的技术和秩序。人类的所有发明,几乎都有它们的自然界配对物。

原子能的和平利用和军事应用与出现在星球上的热核爆炸相对应;各种电于脉冲系统则与人类神经系统的脉冲调制相似:编的声呐和海豚的发声起到一种神秘电话的作用,启发人类发明了声呐传感器和雷达;鸟类的飞行行为激发了人类飞天的梦想,发明了飞机和飞船,实现了空中和宇宙飞行。

科学家和工程师们应用数学和科学来模仿自然、扩展自然。人类智能已激励出高级计算、学习方法和技术。毫无疑问,智能是可达的,其证据就在我们眼前,就发生在我们的日常工作和生活中。

试图通过人工方法模仿人类智能已有很长的历史了。从公元1世纪英雄亚历山大里亚(Alexandria)发明的气动动物装置开始,到冯・诺依曼的第一台具有再生行为和方法的机器,再到维纳的控制论(cybernetics),即关于动物和机器中控与通信的研究,都是人类人工模仿智能的典型例证。现代人工智能领域则力图抓住智能的本质。

人工神经网络(ANN)研究自1943年开始,几起几落,波浪式发展。20世纪80年代人工神经网络的复兴,主要是通过Hopfield网络的促进和反向传播网络训练多层感知器来推广的。把神经网络(NN)归类于人工智能(AD可能不大合适、而归类于计算智能(computationalintelligence,CI)则更能说明问题的实质。进化计算、人工生命和模糊逻辑系统的某些课题,也都归类于计算智能。

什么是计算智能,它与传统的人工智能有何区别?

第一个对计算智能的定义是由贝数德克(Berdek)于1992年提出的,他认为,从严格意义上讲,计算智能取决于制造者(manufacturers)提供的数值数据,而不依于知识:另一方面,人工智能则应用知识精品(knowledgetidbits)。他认为,人工神经网络应当称为计算神经网络。

尽管计算智能与人工智能的界限并非十分明显,然而讨论它们的区别和关系是有益的。马克斯(Marks)在1993年提到计算智能与人工智能的区别,而贝兹德克则关心模式识别(PR)与生物神经网络(BNN)、人工神经网络(AN)和计算神经网络(CN)的关系,以及模式识别与其他智能的关系。忽视ANN与CN的差别可能导致对模式识别中神经网络模型的混滑、误解、表示和误用。

贝兹德克对这些相关术语给予一定的符号和简要说明或定义。首先,他给出有趣的ABC:

A-artificial,表示人工的(非生物的),即人造的

B-biological,表示物理的+化学的+(?)=生物的

C-Computational,表示数学+计算机

上图表示ABC及其与神经网络(NN)、模式识别(PR)和智能(1)之间的关系。它是由贝兹德克于1994年提出来的。图的中间部分共有9个节点,表示9个研究领域或学科。A,B,C三者对应于三个不同的系统复杂性级别,基复杂性自左至右及自底向上逐步提高。节点间的距离衡量领域间的差异,如CNN与CPR间的差异要比BNN与BPR间的差异小得多,CI与AI的差异要比AI与BI的差异小得多。图中,符号→意味着“适当的子集”。例如,对于中层,有ANN⊂APR⊂AI;对于右列,有CI⊂AI⊂BI等。在定义时,任何计算系统都是人工系统,但反命题不能成立。

计算智能是一种智力方式的低层认知,它与人工智能的区别只是认知层次从中层下降至低层而已。中层系统含有知识(精品),低层系统则没有。

若一个系统只涉及数值(低层)数据,含有模式识别部分,不应用人工智能意义上的知识,而且能够呈现出:①计算适应性;②计算容错性;③接近人的速度;④误差率与人相近,则该系统就是计算智能系统。

若一个智能计算系统以非数值方式加上知识(精品)值,即成为人工智能系统。

科学网—人工智能背后的数学

人工智能背后的数学精选

已有14186次阅读2020-8-2108:59|个人分类:读书札记|系统分类:海外观察

    计算机会“思维”、Agent(智能体)能感知环境、机器可从经验中学习,其背后离不开数学——从线性代数、概率统计到拓扑学众多数学分支。这篇读书札记讨论人工智能背后的数学。

【人工智能离不开数学】

术语“人工智能(AI)”由两个词组成,“人工”和“智能”。“人工”一词意味着人造,而“智能”一词则意味着思维能力(如,学习、推理和解决问题)。因此,可以说,人工智能是人造的思维能力。有些人工智能教科书将这一领域定义为研究“Agent(智能体)”——任何能够感知环境并采取行动,以最大限度地提高成功实现目标的机会的设备。机器学习(ML)是近年来发展最为迅速的人工智能的一个子集。它研究通过经验自动改进的计算机算法,为系统提供从经验中学习的能力,其主要目标是让计算机在不受人类干预的情况下自动学习并进行相应的调整。这里所谓人工智能的学习、推理和解决问题的能力,Agent(智能体)感知环境和采取行动的能力,机器学习的通过经验自动改进算法的能力,其背后均离不开数学。

RichardE.Neapolitan和XiaJiang著的《ArtificialIntelligencewithanIntroductiontoMachinelearning(人工智能与机器学习导论)》一书第二版(参考资料[1]),由5个部分组成,讨论了人工智能的5个主要研究领域:逻辑智能、概率智能、涌出智能(EmergentIntelligence,基于群体智能的进化计算和方法)、神经智能(神经网络和深度学习)和语言理解。

人工智能早期的成功,是建立在逻辑推理模型的基础上的。基于这种逻辑推理的人工智能模型是该书的第一部分的重点。在20世纪70年代,越来越明显的是,人类做出的许多判断都涉及不确定或概率推断。到20世纪90年代,这种概率推理的建模,在人工智能中变得司空见惯。概率推理是该书的第二部分的重点。智能行为并不局限于人类的推理。基于自然选择模型开发了有用的算法。非智能实体在群体中的行为有时会产生一种称为群体智能的涌现智能。该书的第三部分讨论了基于涌现智能的算法。最近神经网络在被称为深度学习领域的应用得到了新生,它已经成功地应用于计算机视觉和语音识别等领域。该书的第四部分致力于神经网络和深度学习。最后,第五部分讨论了人工智能的一项重要工作,即自然语言理解。

显然,人工智能这五个主要研究领域背后的数学,不尽相同。所以,如果问“人工智能背后的数学是什么?”,从不同人工智能研究者,可能得到不同的答案。

有许多数学分支有助于人工智能和机器学习。例如,拓扑学是一门纯数学的学科,然而,拓扑数据分析(TDA)是一种利用数据中的拓扑特征,寻找数据集结构的应用数学方法。顾名思义,TDA利用了拓扑学的思想。TDA为数据分析提供了一个通用的框架,其优点是能够从大量高维数据中提取信息,并具有抗噪声的稳定性。TDA在短短的几年内得到了长足的发展,包括:聚类、流形估计、非线性降维、理解时间序列、模式估计和岭估计等。TDA已经成功地发现了许多大型复杂数据集中的信息。TDA结合了代数拓扑和统计学习的工具,为研究数据的“形状”提供了定量基础。拓扑数据分析技术正在与我们今天所熟悉的人工智能技术相结合。早期的例子是计算机视觉拓扑学(参考资料[2])。拓扑数据分析量化了大原始噪声数据中隐藏的拓扑结构,将拓扑数据分析和机器学习结合起来,可用于解决计算机视觉实际问题,以及更深入的理解数字图像。又如,深度神经网络的拓扑学。深度神经网络是一种强大而迷人的方法,用于研究各种数据(包括图像、文本、时间序列和其他许多数据)取得了巨大成功。然而,限制其适用性的一个问题是,人们对其内部的工作原理缺乏任何详细的了解。对卷积深神经网络的内部状态进行拓扑数据分析,可以了解它们所执行的计算(参考资料[3])。神经网络还可以通过改变拓扑结构来运行,将拓扑结构复杂的数据集,转换为拓扑简单的数据集(参考资料[4])。TDA是一个快速发展的领域,在机器学习、应用和计算拓扑学领域吸引了越来越多的实践者和研究者的兴趣。因此,有人称:“拓扑数据分析可以说是机器学习趋势的先锋,因为它的细粒度模式分析取代了传统的有监督或无监督学习”(参考资料[5])。也许“拓扑智能”也会成为未来的一个重要的研究领域。

没有人精通所有数学(即使是数学家,也不一定精通全部所有数学知识),更不可能要求实际工作者掌握全部所有数学知识,但应该掌握有关研究领域的数学基础知识。微积分、代数、线性代数、概率统计的基础知识,将会很重要。

【机器学习中的数学基础新书】

数学是机器学习的基础,对理解这个领域的基础至关重要。机器学习涉及哪些基本数学工具呢?约书亚•本吉奥等著的《深度学习》(被称为“深度学习”的圣经)一书(参考资料[6])中,介绍理解深度学习所需的基本数学概念包括:线性代数、概率与信息论、数值计算三个应用数学基础。而莎朗·萨克塞纳(SharonSaxena)在一篇题为《机器学习背后的数学-你需要知道的核心概念》(参考资料[7])文章中,则提出线性代数、多元微积分和概率统计三个应用数学基础。两者都列有线性代数和概率统计。下面介绍三种机器学习中的数学基础新书,这些书尤其适合自学。

[应用线性代数导论——向量、矩阵和最小二乘法]

线性代数是研究线性方程组及其变换性质的学科。线性代数可用于分析空间中的旋转,最小二乘拟合,求解耦合微分方程,以及许多其他数学、物理和工程问题。例如,线性代数是现代几何的基础,包括定义基本对象,如直线、平面和旋转。这个数学分支涉及方程,有助于获得关于不同变量如何影响机器学习中需要预测的值。然而,由于线性代数是一种连续形式而非离散形式的数学,许多计算机科学家对此没有经验。对线性代数的良好理解对于理解和使用许多机器学习算法,特别是深度学习算法至关重要。

斯坦福大学教授斯蒂芬·博伊德(StephenBoyd)的新书《IntroductiontoAppliedLinearAlgebra——Vectors,Matrices,andLeastSquares(应用线性代数导论——向量、矩阵和最小二乘法)》(参考资料[8]),本书简称VMLS,提供对应用线性代数的基本主题——向量,矩阵和最小二乘法的介绍。目标学习线性代数的基础理论和技能,并了解它们的应用,包括数据拟合、机器学习和人工智能、断层扫描、导航、图像处理、金融,自动控制系统。

VMLS下载地址:https://web.stanford.edu/~boyd/vmls/

VMLS提供配套的《JuliaLanguageCompanion》,可以在复习数学概念的同时,学习最新的Julia语言。实际上,我去年读VLMS,是为了学习利用Julia语言数据分析编程。学习Julia语言主要有三个原因:性能、简单性和灵活性。在人工智能社区,现在主流编程语言是Python。但是,Python的运行效率慢,因而,许多大型科学与计算软件仍然使用C++或Fortran编写。现在Julia将Python和Matlab的高生产率和易用性与C++和Fortran的闪电般速度相结合,正在迅速成为科学与工程计算、人工智能和机器学习领域主要的有竞争力的语言。由于Julia语言是新推出的语言(2018年8月MIT正式发布编程语言Julia1.0),有关与之配套的应用数学书籍不多见。

[Julia统计学:数据科学、机器学习和人工智能基础]

统计学是一组工具的集合,可以使用这些工具来获得有关数据的重要问题的答案。可以使用统计方法将原始观察结果转换为可以理解和共享的信息,可以使用统计推断方法从小样本数据推理到整个领域。统计学通常被认为是应用机器学习领域的先决条件。机器学习和统计学是两个密切相关的研究领域。概率统计方法的使用,为机器学习提供了利用、分析和呈现原始数据的正确途径。机器学习应用统计方法,导致了语音分析和计算机视觉等领域的成功实现。

上述的VMLS是我读到的第一本具有Julia配套示例的应用数学教科书。另外一本正在读的是关于统计学的,约尼·纳扎拉西(YoniNazarathy)和海登·克洛克(HaydenKlok)著,题为《StatisticswithJulia:FundamentalsforDataScience,MachineLearningandArtificialIntelligence(Julia统计学:数据科学、机器学习和人工智能基础)》。预计这本书将于2020年底通过斯普林格(Springer)出版,不过,其草稿可以在如下网址下载(草稿预先发布的做法,有利于提前交流和完善书稿):

https://statisticswithjulia.org/StatisticsWithJuliaDRAFT.pdf

这本书的草稿包括:介绍Julia、基本概率、概率分布、数据处理与汇总、统计推断概念、置信区间、假设检验、线性回归、机器学习基础和动态模型仿真等十章,具有完整的内容结构和使用juliav1.4和近40个包的完整代码库,以及总共212个代码示例。

掌握人工智能背后的数学,不同于传统的数理研究。17世纪牛顿-胡克数学家之战时代的数学,要用笔和纸来钻研定理、推导和问题,然后第二天互相挑战。20世纪上半叶爱因斯坦-玻尔思想实验之争的时代,通过使用想象力进行的实验,说服对方。在21世纪,这些并非是学习新概念的唯一方法,更非最佳方式。研究人工智能中的数学,应该更加关注任何给定表达式的直觉和几何解释,理解这些令人费解的表达式背后的含义,关注发生了什么,为什么会发生。利用像NumPy这样的计算库,帮助进行计算试验,往往更有意义。所以,机器学习的实践者在学习数学的同时,离不开如同Python或Julia这样计算机编程语言。

[机器学习中的数学]

2019年,剑桥大学出版社出版了一本MarcPeterDeisenroth,A.AldoFaisal,ChengSoonOng著的新书《MathematicsforMachineLearning(机器学习中的数学)》(参考资料[9])。根据作者的说法,《机器学习中的数学》的目标是提供必要的数学技能,以便随后阅读有关更高级机器学习主题的书籍。

该书把基础(数学)概念从应用中分离出来,分成两个部分。第一部分涵盖了纯数学概念,包括线性代数、解析几何、矩阵分解、向量微积分、最优化、概率和统计学,没有涉及到机器学习。第二部分将重点放在利用这些概念推导出四种主要的机器学习方法:线性回归、主成分分析、高斯混合模型和支持向量机。对于学生和其他有数学背景的人来说,这些推导为学习机器学习提供了一个起点。对于第一次学习数学的人来说,这些方法有助于建立运用数学概念的直觉和实践经验。本书采用模块化编写的方式,可以用两种方式阅读:自下而上——从基础到更高级的概念;自上而下——从实际需求深入到更基本的需求。下图表示在这本书中所涵盖的机器学习的四个支柱和在第一部分介绍的数学基础。

来源:参考资料[9]图1.1

下图截取自书中,表示第2章介绍的线性代数概念有关概念及其与书中其它部分关系:

来源:参考资料[9]图2.2

每一章都包含了测试理解力的实例和练习(第一部分提供的练习主要是用笔和纸来完成的)。该书的网站上还提供了在第二部分中讨论的机器学习算法编程教程(jupyter笔记本)。

剑桥大学出版社支持免费下载本书,网址为:

https://mml-book.com

这里介绍的三本教科书,具有注重数学理论基础和应用实践结合,并伴随有编程示例的特点。

【结语】

国内去年一度盛传的“徐匡迪之问”——“中国有多少数学家投入到人工智能的基础算法研究中?”引发过共鸣,不但为学术界所关注,也推动业界重视数学模型的研究和算法设计的创新。

据报道,2020年8月11日,著名科学家姚期智在受聘同济大学名誉教授举行的学术报告会上,分享了对当前人工智能(AI)研究(人工智能的科学基础、神经拓扑结构——神经网络研究的新视角、隐私保护学习、可控超级智能等)和相关人才培养的思考。报导强调,“AI离不开数学,但AI面临的问题不全是数学问题”(参考资料[10])。

在海外的一些大学里,计算机科学系的学生通常在接受数学和统计学方面的培训并不多。目前的机器学习教科书,也主要集中在机器学习的算法和方法上,并假设读者已经掌握数学和统计学,因此,这些书只花一两章介绍背景数学,或在书的开头或作为附录。许多人想深入研究基本机器学习方法的基础,就需要补充阅读机器学习所需的数学知识。所以,加强数学和统计学基础训练非常必要。

参考资料:

[1]RichardE.Neapolitan,XiaJiang.ArtificialIntelligence.Taylor&FrancisGroup,LLC2018

[2]GerhardX.Ritter.TOPOLOGYOFCOMPUTERVISION.TopologyProceedings.Volume12,1987Pages117–158

[3]GunnarCarlssonandRickardBrüelGabrielsson.TopologicalApproachestoDeepLearning.TopologicalDataAnalysis.TheAbelSymposium2018(EditedbytheNorwegianMathematicalSociety).SpringerNatureSwitzerlandAG2020

[4]GREGORYNAITZAT,ANDREYZHITNIKOV,ANDLEK-HENGLIM.TOPOLOGYOFDEEPNEURALNETWORKS.arXiv:2004.06093v1[cs.LG]13Apr2020

https://arxiv.org/pdf/2004.06093.pdf

[5]insidebigdata.Tomorrow’sMachineLearningToday:TopologicalDataAnalysis,Embedding,andReinforcementLearning.February14,2020

https://insidebigdata.com/2020/02/14/tomorrows-machine-learning-today-topological-data-analysis-embedding-and-reinforcement-learning/

[6]伊恩·古德费洛,(加)约书亚·本吉奥,亚伦·库维尔.深度学习.人民邮电出版社.2010

[7]SharoonSaxena.MathematicsbehindMachineLearning–TheCoreConceptsyouNeedtoKnow.AnalyticsVidhya.October15,2019

https://www.analyticsvidhya.com/blog/2019/10/mathematics-behind-machine-learning/

[8]StephenBoydandLievenVandenberghe.IntroductiontoAppliedLinearAlgebra–Vectors,Matrices,andLeastSquares.CambridgeUniversityPress.2018

[9]MarcPeterDeisenroth,A.AldoFaisal,ChengSoonOng.MathematicsforMachineLearning.Cambridge.2018

[10]吴金娇.AI离不开数学,但AI面临的问题不全是数学问题.文汇报.2020-08-12.《科学网》转载地址:

http://news.sciencenet.cn/htmlnews/2020/8/444052.shtm

 

https://blog.sciencenet.cn/blog-3005681-1247238.html上一篇:人工智能的下一个应用领域:E&P数据分析下一篇:GPT-3:人工智能的新突破收藏IP:223.20.60.*|热度|

人工智能基础

什么是人工智能?很多人能举出很多例子说这就是人工智能,但是让我们给它定义一个概念大家又觉得很难描述的清楚。实际上,人工智能并不是计算机科学领域专属的概念,在其他学科包括神经科学、心理学、哲学等也有人工智能的概念以及相关的研究。在笔者的观点里,人工智能就是机器具备同时获得、建立、发展、和运用知识的能力。

在计算机科学中,我们可以把人工智能看成是一个目标,而我们讲的机器学习、深度学习、强化学习等各种算法是实现人工智能这个目标的方法之一。

下图是非常经典的描述人工智能与机器学习、深度学习的关系的图。

机器学习

机器学习方法我们可以分为以下几个大类:监督学习、无监督学习和强化学习。

监督学习中,数据集的数据具有标签,比如说,我们想让机器对水果的图片进行分类,数据集中除了需要有各种水果的图片之外,还需要每张图片带有是什么水果的标签。

在无监督学习中,数据集的数据是不带有标签的,用回上面的水果图片的例子,无监督学习中,数据集只含有各种水果的图片,而不带有标签。

强化学习中,有三要素:智能体(Agent),环境(Environment)和行为(action)。智能体根据环境会有不同的行为,根据行为定义了收益函数来确定奖励或者惩罚。比如说,下围棋如果下赢了就进行奖励,如果输了则进行惩罚。同时,我们设定一些机制让智能体自己改变行为使得收益函数最大化。换句话说,通过于环境的交互不断的更新自己的行为来使自己变得更智能。

半监督学习

半监督学习的数据集中,部分数据有标签,而部分数据没有标签。随着现在互联网中数据量越来越大,对所有数据标注是不太可能完成的事,因此,利用少量标注的数据和大量没有标注的数据进行训练成为了一个研究方向之一。

自监督学习

自监督学习是利用辅助任务从大量的无标签数据中挖掘表征特性作为监督信息,来提升模型的特征提取能力。比如在自然语言处理的预训练模型过程中,设计了挖空让模型去做完形填空,把两个句子拼接让模型判断第二个句子是否承接第一个句子等任务来进行训练。自监督学习的监督信息不是人工标注的,而是算法在大量无标注数据中自动构造监督信息来进行监督学习或者训练,这就是自监督学习。

深度学习

深度学习主要基于深度神经网络,属于监督学习的一种,它的训练需要带有标签的数据,但是现在的深度学习领域模型并不一定单纯的属于监督学习,比如说语言模型预训练的过程属于自监督学习。

目前神经网络的结构五花八门,并且神经网络的层数都堆得比较深,因此神经网络可以看成是一个黑盒,目前还没有严谨的数学证明证明神经网络为什么有效,不同于传统的统计机器学习,比如SVM(支持向量机)等,具有严格的数学证明证明它是有效的。所以深度学习的从业者门通常自嘲自己是在炼丹,只要输入数据(原材料),然后一段时间后看结果是否符合自己的预期(丹成)。

训练

模型有了,训练数据集也有了,那么AI是怎么训练的呢?AI的训练准备大致分为:数据收集与数据预处理,模型构建,定义损失函数和优化方法,训练、检验与优化。

数据量和数据的质量是至关重要的一环,业内有句话叫数据为王,谁的数据量越大、数据质量越高,那么理论上就能拥有最“智能”的AI。

AI的“学习”过程其实就是模型参数的更新,那么AI是怎么更新参数的呢?答案是通过定义损失函数和梯度下降的方法。

损失函数就是用来衡量你的模型的输出和实际你需要的输出之间的差距/不一致程度的函数,模型的输出我们叫它预测值,数据集中的标签是我们的实际值。比如说,我要训练一个模型能分清楚各种水果,因为模型没有办法知道什么是苹果、香蕉、葡萄等,所以在正式训练之前,我们会把数据的标签转换成数字的形式,比如1代表苹果,2代表香蕉,3代表葡萄......然后我们训练的时候,模型读取一张苹果图片进去,模型输出的预测值为2,但是苹果的标签实际值为1,于是就知道模型的预测和实际的正确值有误差,我们定义损失函数就是用来衡量这个误差。

损失函数有很多种,不同的任务会使用不同的损失函数。有了损失函数之后,我们就可以优化模型的参数来最小化损失函数,损失越小代表了模型的预测越准。而优化的一种常用方法叫梯度下降,梯度下降可以类比下山的过程,如下图所示,假设这样一个场景:一个人被困在山上,需要从山上下来(i.e.找到山的最低点,也就是山谷)。但此时山上的浓雾很大,导致可视度很低。因此,下山的路径就无法确定,他必须利用自己周围的信息去找到下山的路径。这个时候,他就可以利用梯度下降算法来帮助自己下山。具体来说就是,以他当前的所处的位置为基准,寻找这个位置最陡峭的地方,然后朝着山的高度下降的地方走,。然后每走一段距离,都反复采用同一个方法,最后就能成功的抵达山谷。

在梯度下降的过程中,模型的参数会不断的更新,直到最后到达最低点。 

虽然梯度下降的原理很直白很简单,但实际中,这座山不是只有一个山峰和一个山谷的,因此到达的山谷可能只是一个局部最优点而不是全局最优点,梯度下降也有很多的改进尽可能让模型不会落在一个局部最优点就停下,但是实际上神经网络的解空间比较复杂,并不一定能找到全局最优点,以及无法证明找到的点是全局最优。尽管不能保证找到的点是全局最优,但是目前的技术下找到的最优点已经足够优秀,所以不一定话费更大的精力去寻找全局最优。

过拟合与欠拟合

我们收集到数据在进行数据预处理之后的数据集并不是直接丢给模型训练的,一般情况下会把数据集分割成训练集和测试集(8:2的比例)。测试集的数据是不存在于训练集中,也就是在模型训练的阶段,模型没有见过这部分的数据的。当我们在训练集上训练好模型的时候,我们会在测试集上去测试模型的效果。下图展示的是我们会遇到的三种常见情况:欠拟合、拟合的符合我们的预期、和过拟合。

欠拟合的情况下就说明模型学习的不够,模型不够聪明学会我们让它学的东西,表现为在训练集上的效果和测试集上的效果都不好。可以解决欠拟合的方法有:

引入更多特征使用非线性模型使用更复杂的模型等等

过拟合的方法则是另一个极端,模型在训练集上学习的太好以致于太死板了,不会变通,变现为在训练集上的效果很优秀,但是在测试集上的表现比较差。比如说,我们让模型去识别写的字,识别一个人字,过拟合的表现就是模型得这个人字写的很端正、字迹与训练集中看到的一致才会识别出它是一个人字,如果这个人字的字迹不同、写的不端正等等,模型则无法正确识别出这个字,很明显这种情况下模型的表现也是不符合我们的预期的。解决过拟合的方法有:

扩大训练数据集,使用更多数据去训练降低模型的复杂度或者更换使用简单点的模型加入正则化在合适的时候停止训练,防止训练过度等等

计算思维与人工智能基础pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

书名:计算思维与人工智能基础pdf/doc/txt格式电子书下载

推荐语:

作者:周勇著

出版社:人民邮电出版社

出版时间:2019-09-01

书籍编号:30641608

ISBN:9787115516633

正文语种:中文

字数:163418

版次:1

所属分类:教材教辅-大学

全书内容:

图书在版编目(CIP)数据

计算思维与人工智能基础/周勇主编.--北京:人民邮电出版社,2019.9

21世纪高等教育计算机规划教材

ISBN978-7-115-51663-3

Ⅰ.①计…Ⅱ.①周…Ⅲ.①计算方法—思维方法—高等学校—教材②人工智能—高等学校—教材Ⅳ.①0241②TP18

中国版本图书馆CIP数据核字(2019)第172919号

◆主编周勇

参编王新徐月美孙晋非毛磊

责任编辑李召

责任印制陈犇

◆人民邮电出版社出版发行北京市丰台区成寿寺路11号

邮编100164电子邮件315@ptpress.com.cn

网址http://www.ptpress.com.cn

北京隆昌伟业印刷有限公司印刷

◆开本:787×10921/16

印张:11.752019年9月第1版

字数:315千字2019年9月北京第1次印刷

定价:42.00元

读者服务热线:(010)81055256印装质量热线:(010)81055316

反盗版热线:(010)81055315

广告经营许可证:京东工商广登字20170147号

内容提要本书是中国高等教育学会高等教育科学研究“十三五”规划课题主要成果之一,“十三五”江苏省高等学校重点教材。

本书紧跟计算机技术发展潮流,以“基础性、系统性、先进性、实用性”为指导思想,主要内容包括计算机技术与计算思维基础、计算机中信息的表示、计算机系统的基本组成和基本工作原理、互联网与物联网、大数据与云计算、算法、人工智能初探、搜索与博弈、机器学习。

本书充分吸收计算机领域的新知识、新技术、新方法和新概念,符合人才培养标准。全书站在科学高度,提炼教学内容,以精练的语言讲述计算思维和人工智能基础,通过丰富的示例引导读者进行深度探索,内容新颖,特色鲜明。本书适合高等学校非计算机专业作为计算机课程的教材使用,同时也可供对计算机感兴趣的读者自学使用。

前言FOREWORD随着互联网、大数据、云计算和物联网等技术不断发展,人工智能深刻改变了人类的生活。2017年,国务院印发《新一代人工智能发展规划》,要求实施全民智能教育项目,支持开展形式多样的人工智能科普活动,鼓励广大科技工作者投身人工智能的科普与推广,全面提高全社会对人工智能的整体认知和应用水平。2018年,教育部印发《高等学校人工智能创新行动计划》,提出将人工智能纳入大学计算机基础教学内容。

在这种背景下,周勇教授教学团队编写了《计算思维与人工智能基础》教材。该书从学习者的角度组织教学内容,从计算机基础知识讲起,从互联网讲到物联网,从大数据讲到云计算,从计算机求解讲到人工智能,覆盖了计算机学科经典的、重要的计算思维。通过本书学习,读者不仅能够了解计算思维,而且能够理解和运用计算思维;不仅能够认识人工智能,而且能够初步掌握人工智能的经典方法。本书在培养读者的计算思维与人工智能应用能力方面具有基础性和先导性作用。

本书对应的网络在线课程《计算思维与人工智能基础》在“中国大学MOOC”网站开课,有兴趣的读者可以登录www.icourse163.org搜索该课程进行观看学习。

本书由长期从事计算机基础教学、科研工作的骨干教师编写。教材大纲由全体参编教师共同讨论确定,周勇担任主编,负责统稿。具体编写分工如下:第1章、第2章、第3章由徐月美编写,第4章、第5章由孙晋非编写,第6章由王新编写,第7章、第8章由毛磊编写,第9章由周勇编写。

本书的编写得到了中国矿业大学教务部和计算机科学与技术学院领导的关心和大力支持。编者参阅和引用了大量参考文献,在此对相关作者表示衷心的感谢。

由于编者水平有限,书中难免有欠妥和疏漏之处,恳请专家和读者批评指正。

编者

2019年2月

第1章计算机技术与计算思维基础本章的学习目标

●了解计算机的发展、分类及应用,掌握计算机的特点。

●了解计算思维基本概念。

计算机的发展与应用,改变了人们传统的工作、学习和生活方式。计算机的普及,促进了计算思维的研究,推动了整个信息化社会的发展。本章主要对计算机技术和计算思维基础做简要介绍。

1.1计算机技术1.1.1计算机的发展在社会的发展过程中,人类不断发明和改进各种计算工具,如贝壳、绳子、算筹、算盘、计算尺、计算器、机械式计算机等。1946年第一台通用电子计算机ENIAC(ElectronicNumericalIntegratorAndCalculator,电子数字积分计算机)的诞生,是20世纪杰出的科技成就,是人类科学发展史上的重要里程碑。

ENIAC诞生以来,电子计算机已经走过了70多年的发展历程。计算机的体积不断变小,成本不断下降,但性能、速度却在不断提高。计算机硬件的发展受到电子元器件的制约,因此根据计算机主机所使用的物理元器件,将计算机的发展划分为4代。表1-1是第1~4代计算机主要特点的比较。

目前计算机采用的物理元器件仍处于第4代水平。尽管计算机正朝着微型化、巨型化、网络化和智能化等方向深入发展,但是在体系结构方面却没有太大的突破,仍被称为冯·诺依曼计算机。人类的研究是无止境的,从目前的研究情况看,未来计算机技术将会在光计算机、生物计算机(分子计算机)、量子计算机等几个方面取得革命性的突破。其中,光计算机是利用光作为信息传输媒体的计算机,具有超强的并行处理能力和超高的运算速度;生物计算机采用以生物工程技术制造的蛋白质分子构成的生物芯片;量子计算机利用处于多现实态下的原子进行运算,这种多现实态是量子力学的标志。

表1-1第1~4代计算机主要特点的比较

1.1.2计算机的特点计算机(俗称电脑)是一种能够接受信息,按照事先存储在其内部的程序对输入信息进行加工处理,并产生输出结果的高度自动化的数字电子设备。

计算机是一种现代化的信息处理工具,它能够准确、快速、自动地对各种类型的信息进行收集、整理、变换、存储和输出。当用计算机进行数据处理时,首先需要对待解决的实际问题进行分析、抽象,构建数学模型;然后用计算机程序设计语言编写计算机程序,通过输入设备输入计算机;接下来计算机按照程序的要求逐步执行,直到整个程序执行结束,再通过输出设备输出结果。

使用计算机进行信息处理主要具有以下特点。

1.处理速度快

由于计算机是由电子元器件构成的,因此其工作的速度极快。目前计算机的运算速度已经达到每秒亿亿次以上,这种高速度使得计算机在军事、气象、金融、交通、通信等领域中可以实现实时、快速的服务。

2.存储能力强

计算机能把原始数据、对这些原始数据进行加工的命令(称为指令)、中间结果及最终结果都存储起来,这类似于人脑的记忆能力。计算机提供大容量的内存储器,来存储正在处理的数据,而且还有各种大容量的外存储器(如硬盘、优盘、光盘等),用来长期保存和备份数据。

3.自动处理

计算机能够对信息进行自动处理。人们只要将编写好的程序输入计算机,下达执行命令后,计算机就可以自动地依次执行命令,在执行过程中不需要人工干预。这是计算机的一个重要特点,也是计算机区别于其他计算工具的本质特征。

4.具有逻辑判断能力

计算机不仅能进行算术运算,还可以进行逻辑运算和逻辑判断,如比较数据大小、判断除数是否为0等,并可根据判断结果自动决定下一步执行什么操作,从而解决各种各样的问题。

5.计算精度高

计算机的计算精度一般可达到十几位、几十位、甚至几百位有效数字,比以往的任何计算工具都高得多。许多科学领域的计算要求很高的精度,如光学计算、天文数据计算等,只有计算机才能达到这样的精度要求。

6.通用性强

计算机采用数字化信息来表示数值与其他各种类型的信息,并具有逻辑判断与处理能力,因而计算机不仅能对数值型数据进行计算,也能对非数值型数据进行处理(信息检索、图形和图像处理、文字和语音的识别与处理等)。计算机具有极强的通用性,能应用于各个科学领域并渗透到社会生活的各个方面。

1.1.3计算机的分类计算机的分类方法很多,如果按照计算机的综合性能指标(性能、作用和价格等)进行分类,可把计算机划分为巨型机、大型计算机、微型计算机、服务器和嵌入式计算机等。

1.巨型机

巨型机也称为超级计算机(或高性能计算机),它采用大规模并行处理的体系结构,CPU由数以百计、千计、万计的处理器组成,具有极强的运算处理能力,速度达到每秒万亿次甚至每秒亿亿次以上。它存储容量极大,价格昂贵。近年来,我国超级计算机的研发取得了可喜的成绩,推出了“曙光”“天河”“神威”等代表国内最高水平的超级计算机,并应用于国民经济的关键领域。

2018年6月的全球超级计算机500强排行榜中,美国超级计算机“顶点”的浮点运算速度超过了中国曾4次蝉联冠军的“神威·太湖之光”,位列榜首。但中国的超级计算机上榜数量仍持续增长位居第一。超级计算机“顶点”(见图1-1)属于美国能源部下属橡树岭国家实验室,浮点运算速度为每秒12.23亿亿次,峰值接近每秒18.77亿亿次。屈居第二的“神威·太湖之光”(见图1-2),浮点运算速度仍维持在每秒9.3亿亿次。排在第三至五位的依次是美国“山脊”、中国“天河二号”和日本“人工智能桥接云基础设施”(ABCI)。

图1-1“顶点”超级计算机

图1-2“神威·太湖之光”超级计算机

超级计算机功能是否强大,已经成为衡量一个国家实力是否强大的标准之一,基于此,越来越多的国家加入了研发超级计算机的竞争队伍。

2.大型计算机

大型计算机是指通用性强、运算速度快、存储容量大、通信联网功能完善、可靠性高、安全性好、有丰富的系统软件和应用软件的计算机,通常有几十个甚至更多的处理器。大型计算机在信息系统中的核心作用是承担主服务器的功能,辅助数据的集中存储、管理和处理,同时为多个用户执行信息处理任务,它主要用于科学计算、银行业务、大型企业管理等领域。

3.微型计算机

微型计算机(微机)又称为个人计算机,是使用微处理器作为中央处理器(CPU)的计算机。1971年,Intel公司推出了世界上第一片4位微处理器芯片Intel4004,它的出现与发展掀起了微型计算机大普及的浪潮。微型计算机体积小,价格便宜,使用方便,软件丰富,且性能不断提高,因此成为计算机的主流。

微型计算机分为台式机、笔记本电脑、平板电脑、移动设备(如智能手机)等。

4.服务器

服务器是一种在网络环境中对外提供服务的计算机系统。从广义上讲,一台个人计算机就可以作为服务器,只是它需要安装网络操作系统、网络协议和各种服务软件;从狭义上讲,服务器专指通过网络对外提供服务的那些高性能计算机。与个人计算机相比,服务器在处理能力、稳定性、安全性、可靠性、可扩展性等方面要求更高。

根据不同的计算能力,服务器分为工作组服务器、部门级服务器和企业级服务器。根据提供的服务,服务器分为WWW服务器、FTP服务器、文件服务器、邮件服务器等。

5.嵌入式计算机

嵌入式计算机是为特定应用量身打造的计算机,属于专用计算机。它是指作为一个信息处理部件嵌入应用系统的计算机。嵌入式计算机与通用计算机在原理方面没有太大区别,主要区别在于系统和功能软件集成于计算机硬件系统中,即把软件固化在芯片上。

在各种类型的计算机中,嵌入式计算机应用最为广泛。目前,嵌入式计算机广泛用于各种家用电器,如空调、冰箱、自动洗衣机、数字电视、数码相机等。

1.1.4计算机的应用计算机应用已经渗透到社会的各个方面,改变着传统的工作、学习和生活方式,推动着信息社会的发展。目前计算机的应用领域主要有以下几个方面。

1.科学计算

科学计算也称为数值计算,它是计算机最早的应用领域,目前也仍然是计算机重要的应用领域之一。许多用人力难以完成的复杂计算工作对高速计算机来说轻而易举。例如,人造卫星轨迹的计算,火箭、宇宙飞船的研究设计都离不开计算机。科学计算的特点是计算量大,且数值变化范围广,这方面的应用要求计算机具有较强的数值数据表示能力以及很快的运算速度。

2.数据处理

数据处理又称为事务处理或信息处理。数据处理主要是指对大量数据进行统计分析、合并、分类、比较、检索、增删等。数据处理是计算机应用最广泛的一个领域,例如,办公自动化系统、银行的账户处理系统、企业的管理信息系统等都是计算机用于数据处理的例子。数据处理的特点是数据量大、输入输出频繁、数值计算简单但强调数据管理能力。

3.生产过程控制

生产过程控制又称为实时过程控制,是指用计算机及时采集检测数据,按最佳值迅速地对控制对象进行自动控制或自动调节。例如,钢铁厂中用计算机自动控制加料、吹氧、出钢等。在现代工业中,过程控制是实现生产过程自动化的基础,在冶金、石油、化工、纺织、水电、机械、航天等行业得到广泛的应用。

4.人工智能

人工智能(ArtificialIntelligence,AI)是利用计算机来模拟人类的智能活动,包括模拟人脑学习、推理、理解、问题求解等过程,辅助人们做出决策。其最终目标是创造具有人类智能的机器。人类自然语言的理解与自动翻译、文字和图像的识别、疾病诊断、数学定理的机器证明,以及计算机下棋等都属于人工智能的研究与应用范围。1997年5月11日,“深蓝”仅用了一个小时就以3.5:2.5的总比分战胜俄罗斯国际象棋世界冠军卡斯帕罗夫;2017年5月,在中国乌镇围棋峰会上,AlphaGo与排名世界第一的围棋冠军柯洁对战,以3:0的总比分获胜。

5.计算机辅助系统

计算机辅助系统包括计算机辅助设计、计算机辅助制造、计算机辅助教育等。

计算机辅助设计(ComputerAidedDesign,CAD),就是用计算机帮助各类人员进行设计。由于计算机有较强的数值计算、数据处理及模拟能力,飞机设计、船舶设计、建筑设计、机械设计等都会用到CAD技术。采用计算机辅助设计降低了设计人员的工作量,提高了设计速度,更重要的是提高了设计质量。

计算机辅助制造(ComputerAidedManufacturing,CAM),是指用计算机进行生产设备的管理、控制和操作的过程。例如,在产品的制造过程中,用计算机控制机器的运行、处理生产过程中所需的数据、控制和处理材料的流动和对产品进行检验等。使用CAM技术可以提高产品质量,降低成本,缩短生产周期,降低劳动强度。

计算机辅助教育(ComputerBasedEducation,CBE)是计算机在教育领域的应用,包括计算机辅助教学(ComputerAidedInstruction,CAI)和计算机管理教学(Computer-ManagedInstruction,CMI)。通常所说的CBE主要指CAI。CAI是用计算机对教学工作的各个环节(包括讲课、自学、练习、阅卷等)进行辅助。计算机向学习者提供教学内容,通过学习者和计算机之间的交互来实现多种教学功能。

6.通信与网络

计算机网络是计算机技术与通信技术发展结合的产物。计算机连网的目的是实现数据通信和资源共享。计算机网络已成为信息社会最重要的基础设施。当今,“机”和“网”已形成共存局面——“无机不在网,无网机难存”。

7.电子商务

电子商务(ElectronicCommerce,EC)是指利用计算机和网络进行的新型商务活动。它作为一种新的商务方式,将生产企业、流通企业以及消费者带入了网络经济、数字化生存的新天地,人们可以不再受时间、地域的限制,以简捷的方式完成过去较为繁杂的商务活动。

电子商务根据交易双方的不同,可分为多种形式,常见的是以下3种:企业对企业(BusinesstoBusiness,B2B),企业对消费者(BusinesstoConsumer,B2C)和消费者对消费者(ConsumertoConsumer,C2C)。其中,B2B是电子商务的常见形式,例如,阿里巴巴就采用了B2B形式。

8.多媒体技术

多媒体技术融合计算机、声音、文本、图像、动画、视频和通信,借助高速信息网,实现计算机的全球联网和信息资源共享。它被广泛应用于咨询服务、图书、教育、通信、军事、金融、医疗等诸多行业,并潜移默化地改变着我们生活的面貌。

1.2计算思维基础1.2.1计算思维的定义思维作为一种心理现象,是人认识世界的一种高级反映形式。具体来说,思维是人脑对客观事物的一种概括的、间接的反映,它反映客观事物的本质和规律。

科学思维是人类思维中运用于科学认识活动的部分,是对感性认识材料进行加工处理的方式与途径的理论体系,是在认识的统一过程中,对各种科学的思维方法的有机整合,是人类实践活动的产物。

从人类认识世界和改造世界的思维方式出发,科学思维分为3类:理论思维、实验思维和计算思维。

理论思维又称推理思维,以推理和演绎为特征,以数学学科为代表。

实验思维又称实证思维,以观察和总结自然规律为特征,以物理学科为代表。

计算思维又称构造思维,以设计和构造为特征,以计算机学科为代表。计算思维的研究目的是提供适当的方法,使人们借助现代和将来的计算机,逐步实现人工智能的较高目标。例如,模式识别、决策、优化和自控等算法都属于计算思维的范畴。

理论思维、实验思维和计算思维都是人类科学思维方式中固有的部分。其中,理论思维强调推理,实验思维强调归纳,计算思维希望自动求解。它们以不同的方式推动着科学的发展和人类文明的进步。

目前,国际上广泛使用的计算思维概念是由美国卡内基梅隆大学周以真教授在2006年提出的。周以真教授认为,计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。

从定义可知,计算思维的目的是解题、设计系统和理解人类行为,而使用的方法是计算机科学的方法。其实计算思维并不是凭空冒出来的一个概念,它自古就有,而且无所不在。从古代的算筹、算盘,到近代的加法器、计算器、现代电子计算机,以及现在风靡全球的网络和云计算,计算思维的内容不断拓展。只不过在计算机发明之前的相当长时间里,计算思维发展缓慢,主要原因是缺乏计算机这样的高速运算工具。

下面通过一个简单实例“求n的阶乘”说明什么是计算思维。

【例1-1】求n的阶乘,用f(n)表示,即f(n)=n!。

用计算机求n!有两种方法:递归方法和迭代方法。对于递归方法,写出递归形式f(n)=n×f(n-1),也就是将计算f(n)的问题分解成计算f(n-1)的问题,然后将计算f(n-1)的问题分解成计算f(n-2)的问题,以此类推,一直分解到f(1)为止,由于f(1)=1,可从f(1)逐步回归计算到f(n)。对于迭代方法,f(1)=1,根据f(1)计算f(2)、f(3)……f(n-1),最后由f(n-1)计算得到f(n)。

1.2.2计算思维的特征(1)计算思维是概念化思维,不是程序化思维

像计算机科学家那样去思维不仅仅意味着能够编程,还意味着能够在抽象的多个层面上思维。计算机科学不只关注计算机,就像通信科学不只关注手机,音乐产业不只关注麦克风一样。

(2)计算思维是根本的技能,不是刻板的技能

根本技能是每一个人为了在现代社会中发挥作用所必须掌握的。刻板技能意味着机械地重复。计算思维不是简单、机械地重复。

(3)计算思维属于人的思维方式,不是计算机的思维方式

计算思维是人类解题的方法和途径,但决非试图使人类像计算机那样去思考。计算机枯燥且沉闷,人类聪颖且富有想象力。计算机之所以能解题,是因为人将计算思维的思想赋予了计算机。例如,递归、迭代等都是在计算机发明之前早已提出的方法,人类将这些思想赋予计算机后计算机才能计算。

计算思维的过程可以由人执行,也可以由计算机执行。例如,递归、迭代等题目,人和计算机都可以计算,只不过人计算的速度很慢。借助计算机强大的计算能力,人类就能用自己的智慧去解决那些在计算机产生之前不敢尝试的问题,实现“只有想不到,没有做不到”的境界。因此,人类应该更好地利用计算机去解决各种需要大量计算的问题。

(4)计算思维是思想,不是人造物

计算思维不是软件和硬件等物理形式的人造物,而是软硬件设计、创造过程中蕴含的思想和思维方式,人们用它去解题、管理日常生活,以及与他人进行交流和互动。

(5)计算思维实现了数学思维和工程思维的互补与融合

计算机科学在本质上源自数学思维,因为像所有的科学一样,其形式化基础是构建于数学之上的。计算机科学又从本质上源自工程思维,因为人们建造的是能够与实际世界互动的系统。基本计算设备的限制迫使计算机科学家必须计算性地思考,而不能只是数学性地思考;构建虚拟世界的自由使计算机科学家能够设计超越物理世界的各种系统。数学和工程思维的互补与融合很好地体现在抽象、理论和设计三个学科形态上。

(6)计算思维面向所有的人、所有的领域

计算思维无处不在,当计算思维真正融入人类活动时,它作为一个解决问题的有效工具,处处都会被使用,人人都应掌握。周以真教授指出:“计算思维是21世纪中叶全球每个人都使用的基本技巧。”

1.2.3计算思维的本质计算思维的本质是抽象(Abstraction)和自动化(Automation)。抽象对应着建模,自动化对应着模拟。抽象就是忽略一个主题中与当前问题(或目标)无关的那些方面,以便更充分地注意与当前问题(或目标)有关的方面。计算思维中的抽象完全超越物理的时空观,并完全用符号来表示,其中,数字抽象只是一类特例。自动化就是机械地一步一步自动执行,以解题、设计系统和理解人类行为,其基础和前提是抽象。

下面以哥尼斯堡7桥问题(18世纪著名古典数学问题)为例简单描述计算思维的抽象。

【例1-2】哥尼斯堡7桥问题:在哥尼斯堡的一个公园里,7座桥将普雷格尔河中两个岛以及岛与河岸连接起来,如图1-3所示。问:能否从这4块陆地中任意1块出发,恰好通过每座桥一次,再回到起点?

在很长时间里,这个问题一直没能得到解决,因为根据普通数学知识算出,若每座桥均走一次,这7座桥所有的走法一共有5040种。为了解答这一问题,欧拉将问题抽象成图1-4所示的数学问题,答案就很明显了。欧拉的独到之处是把一个实际问题抽象成合适的“数学模型”,这就是计算思维中的抽象。

图1-3哥尼斯堡7桥问题

图1-4哥尼斯堡7桥问题的抽象

1.2.4计算思维的基本方法计算思维的核心是计算思维方法。计算思维方法很多,周以真教授具体阐述了以下7大类方法。

(1)约简、嵌入、转化和仿真等方法,用来把一个看似困难的问题重新阐释成一个人们知道怎样解决的问题。

(2)递归方法,并行方法,把代码译成数据又能把数据译成代码的方法,多维分析推广的类型检查方法。

(3)抽象和分解的方法,用来控制庞杂的任务或进行巨大复杂系统的设计;基于关注分离的方法(SeparationofConcerns,SoC)。

(4)选择合适的方式去陈述一个问题的方法,对一个问题的相关方面建模使其易于处理的思维方法。

(5)通过预防、保护、冗余、容错、纠错,基于最坏情况进行恢复的一种思维方法。

(6)利用启发式推理寻求解答,即在不确定情况下规划、学习和调度的思维方法。

(7)利用海量数据来加快计算,在时间和空间之间、在处理能力和存储容量之间进行折中的思维方法。

1.2.5计算思维与计算机的关系荷兰计算机科学家艾兹格·W.迪科斯彻(EdsgerWybeDijkstra)在1972年获得图灵奖时曾说:“我们所使用的工具影响着我们的思维方式和思维习惯,从而也深刻地影响着我们的思维能力。”劳动工具在人类从猿到人的进化过程中起了关键作用,人类在使用原始劳动工具的过程中学会了思维。冶炼技术的出现,纸张和印刷术的发明,现代交通工具和航天技术的发展,都对人类的生活方式和思维方式产生了深刻的影响。

计算机的出现,给计算思维的研究和发展带来了根本性的变化。由于计算机对信息和符号具有快速处理能力,许多原本只是理论上可以实现的过程变成了实际可以实现的过程。例如,复杂系统的模拟,大数据处理和大型工程的组织,都可以借助计算机实现整个过程的自动化、精确化和可控化,这提高了人类认识世界和解决实际问题的能力。

1.2.6计算思维的应用计算思维属于我们每一个人,而不仅仅属于计算机科学家。如同所有人都具备读、写和算的能力一样,每个人都应当认真学习和应用计算思维。计算思维领域的新思想、新方法促使自然科学、工程技术和社会经济等领域产生了革命性的研究成果,并影响其他学科的发展,创造了一系列新的学科分支,如计算生物学、纳米计算、量子计算、计算博弈理论等。计算思维已经渗透到脑科学、化学、地质学、数学、经济学、社会学等各个学科,正在潜移默化地影响和推动各领域的发展。

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇