人工智能导论
由人民邮电出版社出版的《人工智能通识》面向我国人工智能的通识教育与专业技术人才的培养。全书共8章,分为3篇,分别为人工智能的基本理论、人工智能的应用以及人工智能的融合拓展,涵盖了目前主流的人工智能技术。《人工智能通识》在介绍人工智能的基本原理时,尽量回避了相关的复杂模型和算法设计,方便读者在社会层面理解人工智能的应用形式和未来的发展路径。此外,书中每章都设计了一些思考与练习的题目,以便读者在课堂练习和研讨中使用。
人工智能技术无论是在过去。认知心理学和人工智能。使得人工智能和心理学从最初就紧密地联系在一起。以下是我整理的人工智能的期末论文的相关资料,欢迎阅读!
摘要:人工智能技术无论是在过去。认知心理学和人工智能。使得人工智能和心理学从最初就紧密地联系在一起。
关键词:人类智能,人工智能,认知,心理学
人工智能技术无论是在过去,现在还是将来,都作为科学研究的热点问题之一。人类对自己本身的秘密充满好奇,随着生物技术的飞速发展,人类不断破译人体的生命密码。而以生物科学为基础的人工智能技术也得到了长足的发展。人们希望通过某种技术或者某些途径能够创造出模拟人思维和行为的“替代品”,帮助人们从事某些领域的工作。为了让计算机能够从事一些只有人脑才能完成的工作,解脱人的繁重的脑力劳动,人类对自身的思维和智能不断地研究探索。但是,科学技术是一柄双刃剑,人们对人工智能技术的飞速发展存在着恐慌。如果机器真的具有了人类的智能,在未来的某一天,他们会不会取代人类而成为地球的主宰者?人类智能和人工智能,谁才是未来的传奇?
1.你在和谁说话?
“先进的人工智能机器人不但拥有可以乱真的人类外表,而且还能像人类一样感知自己的存在。”这是人工智能发展到高级阶段的目标和任务。那么,我们在不久的未来能否实现这样一个目标呢?人类真的能发明出足以乱真的智能人类吗?隔着一堵墙,我们是否能分辨出正在与我们对话的是一部机器还是人类?
. 人工智能的定义
人工智能(Artificial Intelligence) ,英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是相对于人的智能而言的。正是由于意识是一种特殊的物质运动形式,所以根据控制论理论,运用功能模拟的方法心理学,制造电脑模拟人脑的部分功能,把人的部分智能活动机械化,叫人工智能。人工智能的本质是对人思维的信息过程的模拟,是人的智能的物化。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能发展的过程归纳为机器不断取代人的过程。
. 人工智能技术的发展
几个世纪以来,人类依靠智慧,发明了许多机器,使人类能够从许多体力劳动中解放出来。从1956年正式提出人工智能学科算起,40多年来取得长足的发展,成为一门广泛的交叉和前沿科学。科学家发明了汽车,火车,飞机,收音机等等,它们模仿我们身体器官的功能,但是这些不能模仿人类大脑的功能。当计算机出现后,人类开始真正有了一个可以模拟人类思维的工具,在以后的岁月中,无数科学家为这个目标努力着。1997年5月,IBM公司研制的深蓝(Deep Blue)计算机战胜了国际象棋大师卡斯帕洛夫(Kasparov)。在一些地方计算机帮助人进行其它原来只属于人类的工作,计算机以它的高速和准确为人类发挥着它的作用。计算机的出现,使得人工智能有了突破性的进展。计算机不仅能代替人脑的某些功能,而且在速度和准确性上大大超过人脑,它不仅能模拟人脑部分分析和综合的功能,而且越来越显示某种意识的特性。真正成了人脑的延伸和增强。
. 人工智能的研究领域
人工智能是一种外向型的学科,也是一门多领域综合学科。它不但要求研究它的人懂得人工智能的知识,而且要求有比较扎实的数学基础,哲学和生物学基础,只有这样才可能让一台什么也不知道的机器模拟人的思维。而人工智能的最根本目的是模拟人类的思维,因此,它的研究领域与人类活动息息相关。什么地方只要有人在工作,他就可以运用到那个领域。
现阶段主要研究领域有专家系统,机器学习,模式识别,自然语言理解,自动定理证明,自动程序设计心理学,机器人学,博弈,智能决定支持系统和人工神经网络等等。
2.机器真的可以思考吗?
机器真的可以思考吗?机器的思考归根结底还是模仿人类的思维模式,正是“思考”这一人类的本质属性,使得人工智能和心理学从最初就紧密地联系在一起。心理学研究人脑中信息的输入、输出、存储和加工,并研究人脑各个部位的功能。最早的双核计算机模仿人的左右脑,在人脑不同区域主管各个不同功能这一原理的基础上,来设计负责不同功能的芯片。以此为出发点,心理学家和计算机学者进一步合作,通过研究人解决问题的方法来研究开发人工智能。随着人工智能的发展,所要求实现的职能愈加复杂,但最基本的方式还是逻辑推理和归纳,这正是心理学家和逻辑学家的专业领域。心理学家以研究探讨人类逻辑思维方式为人工智能提供了基本原理和原则。
. 人类意识的本质
意识是世界的内在规定、一般规律和组成部分,是具有客观实在性同世界的其它组成部分处在对立统一关系中的事物。意识普遍存于世界和万物之中,世界是包含意识的世界,万物是包含意识的万物。没有意识存在于其中的世界不是我们现实生活中的世界,没有意识存在于其中的万物也不是我们天天眼见手触的万物。有了意识的存在,世界和万物就有了生机和活力。
. 意识是与物质相对应的哲学范畴,与物质既相对立又相统一的精神现象。
意识是自然界长期发展的产物,由无机物的反应特性,到低等生物的刺激感应性,再到动物的感觉和心理这一生物进化过程是意识得以产生的自然条件。意识是社会的产物,人类社会的物质生产劳动在意识的产生过程中起决定的作用。辩证唯物主义在强调物质对意识起决定作用的前提下肯定意识对于物质具有能动的反作用,在意识活动中人们从感性经验抽象出事物的本质、规律形成理性认识,又运用这些认识指导自己有计划、有目的地改造客观世界。
. 从意识的起源看,意识是物质世界发展到一定阶段的产物;从意识的本质来看,意识是客观存在在人脑中的反映。
意识是人脑对客观存在的反映:第一,正确的思想意识与错误的思想意识都是客观存在在人脑中的反映;第二,无论是人的具体感觉还是人的抽象思维,都是人脑对客观事物的反映;第三,无论是人们对现状的感受与认识,还是人们对过去的思考与总结,以至人们对未来的预测,都是人脑对客观事物的反映。 意识的能动作用首先表现在,意识不仅能够正确反映事物的外部现象,而且能够正确反映事物的本质和规律;意识的能动作用还突出表现在,意识能够反作用于客观事物,以正确的思想和理论为指导心理学,通过实践促进客观事物的发展。
. 人类意识与人工智能的关系
认知心理学和人工智能,是认知科学的两个组成部分。人工智能使用了心理学的理论,心理学又借用了人工智能的成果。人类意识与人工智能两者具有以下关系:
l人工智能是研究用机器模拟和扩展人的智能的科学。它撇开了人脑的内在结构和意识的社会性,而只是把人脑作为一种信息处理的过程,包括信息的接收、记忆、分析、控制和输出五部分。现代科学技术用相应的部件来完成着五个过程,就构成了人工智能或电脑。
l人工智能可以代替人的某些脑力劳动,甚至可以超过人的部分思维能力,随着现代科学技术的发展,它发挥着越来越重要的作用。人工智能的出现不仅解放了人的智力,而且为研究人脑的意识活动提供了新的方法和途径。它说明了人的意识活动不管多么复杂,都是以客观物质过程为基础的,而不是什么神秘的超物质的东西,人们完全可以用自然科学的精确方法来加以研究和模拟,它进一步证实了辩证唯物主义意识论的科学性。
l人工智能的产生和发展,深化了我们对意识相对独立性和能动性的认识。机器思维即人工智能表明,思维形式在思维活动中对于思维内容具有相对独立性,它可从人脑中分化出来,物化为机械的、物理的运动形式,部分地代替人的思维活动。
随着科学技术的发展,人工智能将向更高水平发展,反过来推动科学技术、生产力和人类智慧向更高水平发展,对人类社会进步将起着巨大的推动作用。
3. 人工智能的未来
人工智能是为了模拟人类大脑的活动而产生的科学,人类已经可以用许多新技术新材料模拟人体的许多功能,诸如皮肤,毛发,骨骼等等,也就是说,人类可以创造出“类人体”。只要能够模拟人的大脑的功能,人就可以完成人工生命的研究工作,人创造自己,这不但在科学上,而且在哲学上都具有划时代的意义。这就是人工智能承担的历史使命。
在科学技术日新月异的今天,知识爆炸,科技的增长超出了人类承受的速度。各种新科技的出现层出不穷,随之而来的成果简直让人瞠目结舌,克隆、基因芯片、转基因等等,人类自身的秘密开始一层一层的揭开。我们人脑的复杂结构,人体的基因链也逐渐被科学技术解剖。我们希望将来的人工智能机器能将我们从繁重的体力劳动和脑力劳动中解放出来心理学,例如机器人做家务,带孩子,做司机,秘书等等一系列我们不愿意花太多精力或者有太多限制条件的工作。然而,人类由于多种“性能”都不如机器人,反而退化成为机器人的奴隶?他们会不会有一天无法忍受人类对他们的“剥削”和“压迫”,挑战人类的统治?很多的科幻作品和电影中都预言了这样的场景,未来的智能机器人和人类争夺有限的地球资源,并最终打败人类,成为新的地球统治者。这也正是绝大多数心理学家和哲学家对人工智能的发展忧心忡忡的原因。
人工智能的发展,也只能无限接近于人的智能,而不能超越人的智能。因为人工智能技术的本质,是模拟人类的思维过程,是为人类服务的。我们在进行发明创造的同时,担心被我们所发明的物质所毁灭。正如人类发明了原子能,用于取代正在逐渐消逝的矿物能源,然而当原子能用于军事领域的时候,他产生的力量也足以毁灭人类文明。科技本身并不是问题,人类如何运用自己掌握的技术,才是问题的关键。我们最大的敌人不是我们发明的技术,而是我们自己本身。
【参考文献】
1.李建国人工智能与认知心理学[J]. 西南师范大学学报 1986年4月第二期 142-146页
2.郑南宁认知过程的信息处理和新型人工智能系统[J]. 中国基础科学.科学前沿2008年 9-18页
3.蔡自兴,徐光�人工智能及其应用(第三版)[M].北京.清华大学出版社 2004年
4.(美)Sternberg,.认知心理学[M] .北京.中国轻工业出版社 2006年
5.(美)Nils 人工智能[M].北京. 机械工业出版社 2004年
下一页分享更优秀的<<<人工智能的期末论文
到发表吧找找看,那得文章挺全的,应该能找到。
计算机科学与技术这一门科学深深的吸引着我们这些同学们,原先不管是国内还是国外都喜欢把这个系分为计算机软件理论、计算机系统、计算机技术与应用。后来又合到一起,变成了现在的计算机科学与技术。我一直认为计算机科学与技术这门专业,在本科阶段是不可能切分成计算机科学和计算机技术的,因为计算机科学需要相当多的实践,而实践需要技术;每一个人(包括非计算机专业),掌握简单的计算机技术都很容易(包括原先Major们自以为得意的程序设计),但计算机专业的优势是:我们掌握许多其他专业并不"深究"的东西,例如,算法,体系结构,等等。非计算机专业的人可以很容易地做一个芯片,写一段程序,但他们做不出计算机专业能够做出来的大型系统。今天我想专门谈一谈计算机科学,并将重点放在计算理论上。1)计算机语言随着20世纪40年代第一台存储程序式通用电子计算机的研制成功,进入20世纪50年代后,计算机的发展步入了实用化的阶段。然而,在最初的应用中,人们普遍感到使用机器指令编制程序不仅效率低下,而且十分别扭,也不利于交流和软件维护,复杂程序查找错误尤其困难,因此,软件开发急需一种高级的类似于自然语言那样的程序设计语言。1952年,第一个程序设计语言Short Code出现。两年后,Fortran问世。作为一种面向科学计算的高级程序设计语言,Fortran的最大功绩在于牢固地树立了高级语言的地位,并使之成为世界通用的程序设计语言。Algol60的诞生是计算机语言的研究成为一门科学的标志。该语言的文本中提出了一整套的新概念,如变量的类型说明和作用域规则、过程的递归性及参数传递机制等。而且,它是第一个用严格的语法规则——巴科斯范式(BNF)定义语言文法的高级语言。程序设计语言的研究与发展在产生了一批成功的高级语言之后,其进一步的发展开始受到程序设计思想、方法和技术的影响,也开始受到程序理论、软件工程、人工智能等许多方面特别是实用化方面的影响。在“软件危机”的争论日渐平息的同时,一些设计准则开始为大多数人所接受,并在后续出现的各种高级语言中得到体现。例如,用于支持结构化程序设计的PASCAL语言,适合于军队各方面应用的大型通用程序设计语言ADA,支持并发程序设计的MODULA-2,支持逻辑程序设计的PROLOG语言,支持人工智能程序设计的LISP语言,支持面积对象程序变换的SMALLTALK、C等。而且,伴随着这些语言的出现和发展,产生了一大批为解决语言的编译和应用中所出现的问题而发展的理论、方法和技术。有大量的学术论文可以证明,由高级语言的发展派生的各种思想、方法、理论和技术触及到了计算机科学的大多数学科方向,但内容上仍相对集中在语言、计算模型和软件开发方法学方面。(2)计算机模型与软件开发方法20世纪80年代是计算机网络、分布式处理和多媒体大发展的时期。在各种高级程序设计语言中增加并发机构以支持分布式程序设计,在语言中通过扩展绘图子程序以支持计算机图形学程序设计成为当时程序设计语言的一种时尚。之后,在模数/数模转换等接口技术和数据库技术的支持下,通过扩展高级语言的程序库又实现了多媒体程序设计的构想。进入20世纪90年代之后,并行计算机和分布式大规模异质计算机网络的发展又将并行程序设计语言、并行编译程序、并行操作系统、并行与分布式数据库系统等试行软件的开发的关键技术依然与高级语言和计算模型密切相关,如各种并行、并发程序设计语言,进程代数,PETRI网等,它们正是软件开发方法和技术的研究中支持不同阶段软件开发的程序设计语言和支持这些软件开发方法和技术的理论基础——计算模型。(3)计算机应用用计算机来代替人进行计算,就得首先研究计算方法和相应的计算机算法,进而编制计算机程序。由于早期计算机的应用主要集中在科学计算领域,因此,数值计算方法就成为最早的应用数学分支与计算机应用建立了联系。最初的时候,由于计算机的存储器容量很小,速度也不快,为了计算一些稍稍大一点的题目,人们常常要挖空心思研究怎样节省存储单元,怎样减少不需要的操作。为此,发展了像稀疏矩阵计算理论来进行方程组的求解;发展了杂凑函数来动态地存储、访问数据;发展了虚拟程序设计思想和程序覆盖技术在内存较小的计算机上运行较大的程序;在子程序和程序包的概念提出之后,许多人开始将数学中的一些通用计算公式和计算方法写成子程序,并进一步开发成程序包,通过简洁的调用命令向用户开放。子程序的提出是今日软件重用思想的开端。在计算机应用领域,科学计算是一个长久不衰的方向。该方向主要依赖于应用数学中的数值计算的发展,而数值计算的发展也受到来自计算机系统结构的影响。早期,科学计算主要在单机上进行,经历了从小规模数值分析到中大规模数值分析的阶段。随着并行计算机和分布式并行计算机的出现,并行数值计算开始成为科学计算的热点,处理的问题也从中大规模数值分析进入到中大规模复杂问题的计算。所谓中大规模复杂问题并不是由于数据的增大而使计算变得困难,使问题变得复杂,而主要是由于计算中考虑的因素太多,特别是一些因素具有不确定性而使计算变得困难,使问题变得复杂,其结果往往是在算法的研究中精度与复杂性的矛盾难于克服。几何是数学的一个分支,它实现了人类思维方式中的数形结合。在计算机发明之后,人们自然很容易联想到了用计算机来处理图形的问题,由此产生了计算机图形学。计算机图形学是使用计算机辅助产生图形并对图形进行处理的科学。并由此推动了计算机辅助设计(CAD)、计算机辅助教学(CAI)、计算机辅助信息处理、计算机辅助测试(CAT)等方向的发展。在各种实际应用系统的开发中,有一个重要的方向值得注意,即实时系统的开发。利用计算机证明数学定理被认为是人工智能的一个方向。人工智能的另一个方向是研究一种不依赖于任何领域的通用解题程序或通用解题系统,称为GPS。特别值得一提的是在专家系统的开发中发展了一批新的技术,如知识表示方法、不精确性推理技术等,积累了经验,加深了对人工智能的认识。20世纪70年代末期,一部分学者认识到了人工智能过去研究工作基础的薄弱,开始转而重视人工智能的逻辑基础研究,试图从总结和研究人类推理思维的一般规律出发去研究机器思维,并于1980年在《Artificial Intelligence》发表了一组非单调逻辑的研究论文。他们的工作立即得到一大批计算机科学家的响应,非单调逻辑的研究很快热火朝天地开展起来,人工智能的逻辑基础成为人工智能方向发展的主流。数据库技术、多媒体技术、图形学技术等的发展产生了两个新方向,即计算可视化技术与虚拟现实技术。随着计算机网络的发展,分布在全世界的各种计算机正在以惊人的速度相互连接起来。网络上每天都在进行着大量政治、经济、军事、外交、商贸、科学研究与艺术信息的交换与交流。网络上大量信息的频繁交换,虽然缩短了地域之间的距离,然而同时也使各种上网的信息资源处在一种很难设防的状态之中。于是,计算机信息安全受到各国政府的高度重视。除了下大力气研究对付计算机病毒的软硬件技术外,由于各种工作中保密的需要,计算机密码学的研究更多地受到各国政府的重视。实际上,在计算机科学中计算机模型和计算机理论与实现技术同样重要。但现在许多学生往往只注重某些计算机操作技术,而忽略了基础理论的学习,并因为自己是“操作高手”而沾沾自喜,这不仅限制了自己将研究工作不断推向深入,而且有可能使自己在学科发展中处于被动地位。例如,在20世纪50年代和20世纪60年代,我国随着计算机研制工作和软件开发工作的发展,陆续培养了在计算机制造和维护中对计算机某一方面设备十分精通的专家,他们能准确地弄清楚磁芯存储器、磁鼓、运算器、控制器,以及整机线路中哪一部分有问题并进行修理和故障排除,能够编制出使用最少存储单元而运算速度很快的程序,对机器代码相当熟悉。但是,当容量小的磁芯存储器、磁鼓、速度慢的运算器械、控制器很快被集成电路替代时,当程序设计和软件开发广泛使用高级语言、软件开发工具和新型软件开发方法后,这批技术精湛的专家,除少量具有坚实的数学基础、在工作中已有针对性地将研究工作转向其他方向的人之外,相当一部分专家伴随着新技术的出现,在替代原有技术的发展过程中而被淘汰。因此,在计算机科学中,计算比实现计算的技术更重要。只有打下坚实的理论基础,特别是数学基础,学习计算机科学技术才能事半功倍,只有建立在高起点理论基础之上的计算机科学技术,才有巨大的潜力和发展前景。计算机理论的一个核心问题我国计算机科学系里的传统是培养做学术研究,尤其是理论研究的人(方向不见得有多大的问题,但是做得不是那么尽如人意)。而计算机的理论研究,说到底了,如网络安全学,图形图像学,视频音频处理,哪个方向都与数学有着很大的关系,虽然也许是正统数学家眼里非主流的数学。这里我还想阐明我的一个观点:我们都知道,数学是从实际生活当中抽象出来的理论,人们之所以要将实际抽象成理论,目的就在于想用抽象出来的理论去更好的指导实践,有些数学研究工作者喜欢用一些现存的理论知识去推导若干条推论,殊不知其一:问题考虑不全很可能是个错误的推论,其二:他的推论在现实生活中找不到原型,不能指导实践。严格的说,我并不是一个理想主义者,政治课上学的理论联系实际一直是指导我学习科学文化知识的航标(至少我认为搞计算机科学与技术的应当本着这个方向)。我个人的浅见是:计算机系的学生,对数学的要求固然跟数学系不同,跟物理类差别则更大。通常非数学专业的所?高等数学",无非是把数学分析中较困难的理论部分删去,强调套用公式计算而已。而对计算机系来说,数学分析里用处最大的恰恰是被删去的理论部分。记上一堆曲面积分的公式,难道就能算懂了数学?那倒不如现用现查,何必费事记呢?再不然直接用Mathematica或是Matlab好了。退一万步。华罗庚在数学上的造诣不用我去多说,但是他这光辉的一生做得我认为对我们来说,最重要的几件事情:首先是它筹建了中国科学院计算技术研究所,这是我们国家计算机科学的摇篮。在有就是他把很多的高等数学理论都交给了做工业生产的技术人员,推动了中国工业的进步。第三件就是他一生写过很多书,但是对高校师生价值更大的就是他在病期间在病床上和他的爱徒王元写了《高等数学引论》(王元与其说是他的爱徒不如说是他的同事,是中科院数学所的老一辈研究员,对歌德巴赫猜想的贡献全世界仅次于陈景润)这书在我们的图书馆里居然找得到,说实话,当时那个书上已经长了虫子,别人走到那里都会闪开,但我却格外感兴趣,上下两册看了个遍,我的最大收获并不在于理论的阐述,而是在于他的理论完全的实例化,在生活中去找模型。这也是我为什么比较喜欢具体数学的原因,正如我在上文中提到的,理论脱离了实践就失去了它存在的意义。正因为理论是从实践当中抽象出来的,所以理论的研究才能够更好的指导实践,不用于指导实践的理论可以说是毫无价值的。正如上面所论述的,计算机系的学生学习高等数学:知其然更要知其所以然。你学习的目的应该是:将抽象的理论再应用于实践,不但要掌握题目的解题方法,更要掌握解题思想,对于定理的学习:不是简单的应用,而是掌握证明过程即掌握定理的由来,训练自己的推理能力。只有这样才达到了学习这门科学的目的,同时也缩小了我们与数学系的同学之间思维上的差距。关于计算机技术的学习我想是这样的:学校开设的任何一门科学都有其滞后性,不要总认为自己掌握的某门技术就已经是天下无敌手了,虽然现在Java,VB,C,C++用的都很多,怎能保证没有被淘汰的一天,我想.NET平台的诞生和X#语言的初见端倪完全可以说明问题。换言之,在我们掌握一门新技术的同时就又有更新的技术产生,身为当代的大学生应当有紧跟科学发展的素质。举个例子,就像有些同学总说,我做网页设计就喜欢直接写html,不愿意用什么Frontpage,Dreamweaver。能用语言写网页固然很好,但有高效的手段你为什么不使呢?仅仅是为了显示自己的水平高,unique? 我看真正水平高的是能够以最快的速度接受新事物的人。高级程序设计语言的发展日新月异,今后的程序设计就像人们在说话一样,我想大家从xml中应是有所体会了。难道我们真就写个什么都要用汇编,以显示自己的水平高,真是这样倒不如直接用机器语言写算了。反过来说,想要以最快的速度接受并利用新技术关键还是在于你对计算机科学地把握程度。总的来说,从教育角度来讲,国内高校的课程安排不是很合理,强调理论,又不愿意在理论上深入教育,无力接受新技术,想避开新技术又无法避得一干二净。我觉得关键问题就是国内的高校难于突破现状,条条框框限制着怎么求发展。我们虽然认识得到国外教育的优越性,但为什么迟迟不能采取行动?哪怕是去粗取精的取那么一点点。
Peter Norvig 的《AI, Modern Approach 2nd》(无争议的领域经典)Bishop, 《Pattern Recognition and Machine Learning》. 没有影印的,但是网上能下到。经典中的经典。Pattern Classification 和这本书是两本必读之书。《Pattern Recognition and Machine Learning》是很新(07年),深入浅出,手不释卷。推荐两本有意思的书,一本是《Simple Heuristics that Makes Us Smart》另一本是《Bounded Rationality: The Adaptive Toolbox》 ---------------------------------------------------------------------<从CSDN上转载的> 机器学习与人工智能学习资源导引 我经常在 TopLanguage 讨论组上推荐一些书籍,也经常问里面的牛人们搜罗一些有关的资料,人工智能、机器学习、自然语言处理、知识发现(特别地,数据挖掘)、信息检索这些无疑是 CS 领域最好玩的分支了(也是互相紧密联系的),这里将最近有关机器学习和人工智能相关的一些学习资源归一个类: 首先是两个非常棒的 Wikipedia 条目,我也算是 wikipedia 的重度用户了,学习一门东西的时候常常发现是始于 wikipedia 中间经过若干次 google ,然后止于某一本或几本著作。 第一个是“人工智能的历史”(History of Artificial Intelligence),我在讨论组上写道: 而今天看到的这篇文章是我在 wikipedia 浏览至今觉得最好的。文章名为《人工智能的历史》,顺着 AI 发展时间线娓娓道来,中间穿插无数牛人故事,且一波三折大气磅礴,可谓"事实比想象更令人惊讶"。人工智能始于哲学思辨,中间经历了一个没有心理学(尤其是认知神经科学的)的帮助的阶段,仅通过牛人对人类思维的外在表现的归纳、内省,以及数学工具进行探索,其间最令人激动的是 Herbert Simon (决策理论之父,诺奖,跨领域牛人)写的一个自动证明机,证明了罗素的数学原理中的二十几个定理,其中有一个定理比原书中的还要优雅,Simon 的程序用的是启发式搜索,因为公理系统中的证明可以简化为从条件到结论的树状搜索(但由于组合爆炸,所以必须使用启发式剪枝)。后来 Simon 又写了 GPS (General Problem Solver),据说能解决一些能良好形式化的问题,如汉诺塔。但说到底 Simon 的研究毕竟只触及了人类思维的一个很小很小的方面 —— Formal Logic,甚至更狭义一点 Deductive Reasoning (即不包含 Inductive Reasoning , Transductive Reasoning (俗称 analogic thinking)。还有诸多比如 Common Sense、Vision、尤其是最为复杂的 Language 、Consciousness 都还谜团未解。还有一个比较有趣的就是有人认为 AI 问题必须要以一个物理的 Body 为支撑,一个能够感受这个世界的物理规则的身体本身就是一个强大的信息来源,基于这个信息来源,人类能够自身与时俱进地总结所谓的 Common-Sense Knowledge (这个就是所谓的 Emboddied Mind 理论。 ),否则像一些老兄直接手动构建 Common-Sense Knowledge Base ,就很傻很天真了,须知人根据感知系统从自然界获取知识是一个动态的自动更新的系统,而手动构建常识库则无异于古老的 Expert System 的做法。当然,以上只总结了很小一部分我个人觉得比较有趣或新颖的,每个人看到的有趣的地方不一样,比如里面相当详细地介绍了神经网络理论的兴衰。所以我强烈建议你看自己一遍,别忘了里面链接到其他地方的链接。 顺便一说,徐宥同学打算找时间把这个条目翻译出来,这是一个相当长的条目,看不动 E 文的等着看翻译吧:) 第二个则是“人工智能”(Artificial Intelligence)。当然,还有机器学习等等。从这些条目出发能够找到许多非常有用和靠谱的深入参考资料。然后是一些书籍 书籍: 1. 《Programming Collective Intelligence》,近年出的入门好书,培养兴趣是最重要的一环,一上来看大部头很容易被吓走的:P 2. Peter Norvig 的《AI, Modern Approach 2nd》(无争议的领域经典)。 3. 《The Elements of Statistical Learning》,数学性比较强,可以做参考了。 4. 《Foundations of Statistical Natural Language Processing》,自然语言处理领域公认经典。 5. 《Data Mining, Concepts and Techniques》,华裔科学家写的书,相当深入浅出。 6. 《Managing Gigabytes》,信息检索好书。 7. 《Information Theory:Inference and Learning Algorithms》,参考书吧,比较深。 相关数学基础(参考书,不适合拿来通读): 1. 线性代数:这个参考书就不列了,很多。 2. 矩阵数学:《矩阵分析》,Roger Horn。矩阵分析领域无争议的经典。 3. 概率论与统计:《概率论及其应用》,威廉·费勒。也是极牛的书,可数学味道太重,不适合做机器学习的。于是讨论组里的 Du Lei 同学推荐了《All Of Statistics》并说到 机器学习这个方向,统计学也一样非常重要。推荐All of statistics,这是CMU的一本很简洁的教科书,注重概念,简化计算,简化与Machine Learning无关的概念和统计内容,可以说是很好的快速入门材料。 4. 最优化方法:《Nonlinear Programming, 2nd》非线性规划的参考书。《Convex Optimization》凸优化的参考书。此外还有一些书可以参考 wikipedia 上的最优化方法条目。要深入理解机器学习方法的技术细节很多时候(如SVM)需要最优化方法作为铺垫。 王宁同学推荐了好几本书: 《Machine Learning, Tom Michell》, 1997.老书,牛人。现在看来内容并不算深,很多章节有点到为止的感觉,但是很适合新手(当然,不能"新"到连算法和概率都不知道)入门。比如决策树部分就很精彩,并且这几年没有特别大的进展,所以并不过时。另外,这本书算是对97年前数十年机器学习工作的大综述,参考文献列表极有价值。国内有翻译和影印版,不知道绝版否。 《Modern Information Retrieval, Ricardo Baeza-Yates et al》. 1999老书,牛人。貌似第一本完整讲述IR的书。可惜IR这些年进展迅猛,这本书略有些过时了。翻翻做参考还是不错的。另外,Ricardo同学现在是Yahoo Research for Europe and Latin Ameria的头头。 《Pattern Classification (2ed)》, Richard O. Duda, Peter E. Hart, David G. Stork大约也是01年左右的大块头,有影印版,彩色。没读完,但如果想深入学习ML和IR,前三章(介绍,贝叶斯学习,线性分类器)必修。 还有些经典与我只有一面之缘,没有资格评价。另外还有两本小册子,论文集性质的,倒是讲到了了不少前沿和细节,诸如索引如何压缩之类。可惜忘了名字,又被我压在箱底,下次搬家前怕是难见天日了。 (呵呵,想起来一本:《Mining the Web - Discovering Knowledge from Hypertext Data》 ) 说一本名气很大的书:《Data Mining: Practical Machine Learning Tools and Techniques》。Weka 的作者写的。可惜内容一般。理论部分太单薄,而实践部分也很脱离实际。DM的入门书已经不少,这一本应该可以不看了。如果要学习了解 Weka ,看文档就好。第二版已经出了,没读过,不清楚。 信息检索方面,Du Lei 同学再次推荐: 信息检索方面的书现在建议看Stanford的那本《Introduction to Information Retrieval》,这书刚刚正式出版,内容当然up to date。另外信息检索第一大牛Croft老爷也正在写教科书,应该很快就要面世了。据说是非常pratical的一本书。 对信息检索有兴趣的同学,强烈推荐翟成祥博士在北大的暑期学校课程,这里有全slides和阅读材料: maximzhao 同学推荐了一本机器学习: 加一本书:Bishop, 《Pattern Recognition and Machine Learning》. 没有影印的,但是网上能下到。经典中的经典。Pattern Classification 和这本书是两本必读之书。《Pattern Recognition and Machine Learning》是很新(07年),深入浅出,手不释卷。最后,关于人工智能方面(特别地,决策与判断),再推荐两本有意思的书, 一本是《Simple Heuristics that Makes Us Smart》 另一本是《Bounded Rationality: The Adaptive Toolbox》 不同于计算机学界所采用的统计机器学习方法,这两本书更多地着眼于人类实际上所采用的认知方式,以下是我在讨论组上写的简介: 这两本都是德国ABC研究小组(一个由计算机科学家、认知科学家、神经科学家、经济学家、数学家、统计学家等组成的跨学科研究团体)集体写的,都是引起领域内广泛关注的书,尤其是前一本,后一本则是对 Herbert Simon (决策科学之父,诺奖获得者)提出的人类理性模型的扩充研究),可以说是把什么是真正的人类智能这个问题提上了台面。核心思想是,我们的大脑根本不能做大量的统计计算,使用fancy的数学手法去解释和预测这个世界,而是通过简单而鲁棒的启发法来面对不确定的世界(比如第一本书中提到的两个后来非常著名的启发法:再认启发法(cognition heuristics)和选择最佳(Take the Best)。当然,这两本书并没有排斥统计方法就是了,数据量大的时候统计优势就出来了,而数据量小的时候统计方法就变得非常糟糕;人类简单的启发法则充分利用生态环境中的规律性(regularities),都做到计算复杂性小且鲁棒。 关于第二本书的简介: 1. 谁是 Herbert Simon 2. 什么是 Bounded Rationality 3. 这本书讲啥的: 我一直觉得人类的决策与判断是一个非常迷人的问题。这本书简单地说可以看作是《决策与判断》的更全面更理论的版本。系统且理论化地介绍人类决策与判断过程中的各种启发式方法(heuristics)及其利弊(为什么他们是最优化方法在信息不足情况下的快捷且鲁棒的逼近,以及为什么在一些情况下会带来糟糕的后果等,比如学过机器学习的都知道朴素贝叶斯方法在许多情况下往往并不比贝叶斯网络效果差,而且还速度快;比如多项式插值的维数越高越容易 overfit,而基于低阶多项式的分段样条插值却被证明是一个非常鲁棒的方案)。 在此提一个书中提到的例子,非常有意思:两个团队被派去设计一个能够在场上接住抛过来的棒球的机器人。第一组做了详细的数学分析,建立了一个相当复杂的抛物线近似模型(因为还要考虑空气阻力之类的原因,所以并非严格抛物线),用于计算球的落点,以便正确地接到球。显然这个方案耗资巨大,而且实际运算也需要时间,大家都知道生物的神经网络中生物电流传输只有百米每秒之内,所以 computational complexity 对于生物来说是个宝贵资源,所以这个方案虽然可行,但不够好。第二组则采访了真正的运动员,听取他们总结自己到底是如何接球的感受,然后他们做了这样一个机器人:这个机器人在球抛出的一开始一半路程啥也不做,等到比较近了才开始跑动,并在跑动中一直保持眼睛于球之间的视角不变,后者就保证了机器人的跑动路线一定会和球的轨迹有交点;整个过程中这个机器人只做非常粗糙的轨迹估算。体会一下你接球的时候是不是眼睛一直都盯着球,然后根据视线角度来调整跑动方向?实际上人类就是这么干的,这就是 heuristics 的力量。 相对于偏向于心理学以及科普的《决策与判断》来说,这本书的理论性更强,引用文献也很多而经典,而且与人工智能和机器学习都有交叉,里面也有不少数学内容,全书由十几个章节构成,每个章节都是由不同的作者写的,类似于 paper 一样的,很严谨,也没啥废话,跟《Psychology of Problem Solving》类似。比较适合 geeks 阅读哈。 另外,对理论的技术细节看不下去的也建议看看《决策与判断》这类书(以及像《别做正常的傻瓜》这样的傻瓜科普读本),对自己在生活中做决策有莫大的好处。人类决策与判断中使用了很多的 heuristics ,很不幸的是,其中许多都是在适应几十万年前的社会环境中建立起来的,并不适合于现代社会,所以了解这些思维中的缺点、盲点,对自己成为一个良好的决策者有很大的好处,而且这本身也是一个非常有趣的领域。 (完)
119 浏览 2 回答
243 浏览 2 回答
138 浏览 4 回答
151 浏览 3 回答
114 浏览 2 回答
282 浏览 2 回答
256 浏览 3 回答
148 浏览 4 回答
213 浏览 2 回答
219 浏览 6 回答
309 浏览 3 回答
170 浏览 3 回答
349 浏览 3 回答
318 浏览 2 回答
313 浏览 3 回答