人工智能用什么语言编程?如何介绍人工智能?
-
典型的人工智能语言主要有LISP、Prolog、Smalltalk、C++等。
在人工智能手册中介绍了七种人工智能语言:
LISP,PLANNER,CINNIVER,QLISP,POP-2,SAIL,FUZZY。近百种人工智能语言中,只有LISP和后起之秀Prolog是人工智能研究和应用中占重要地位的两种人工智能程序设计语言。
一般来说,人工智能语言应具备如下特点:
·具有符号处理能力(即非数值处理能力);
·适合于结构化程序设计,编程容易;
·具有递归功能和回溯功能;
·具有人机交互能力;
·适合于推理;
·既有把过程与说明式数据结构混合起来的能力,又有辨别数据、确定控制的模式匹配机制。
可否认的。
谈到LISP和PROLOG两种AI语言的重要性,我们可以从美国AI界的权威学者、麻省理工学院教授P.H.Winston(温斯顿)所说的三段话来体会:
(1)温斯顿认为,LISP 语言是AI的数学,不仅对AI的机器实现有重要意义,而且是AI理论研究的重要工具。
(2)“在中世纪,拉丁文和希腊文的知识对所有学者来说,都是必不可少的。只懂一种语言的学者必然是一个残缺不全的学者,他缺乏从两个方面来观察世界所获得的那种理解力。同样地,现代的AI专业人员如果不能同时大致通晓LISP和Prolog,也犹如一个残疾人,因为就广义来说,这两种人工智能的主要语言的知识都是必不可少的。”
“我一直热衷于Lisp,Lisp是在MIT被制造并且在那儿成长起来的。”
(3)概括地说,计算机语言的发展正是一个从HOW型低级语言向WHAT型高级语言进化的过程.在HOW型语言中,程序编制者必须详细说明运算是怎样(HOW)一步一步进行的;而在WHAT型语言中,程序编制者只需简单说明要做的事情是什么(WHAT) 。 ?现代的LISP语言是这些语言的佼佼者,因为采用Common Lisp格式的Lisp具有非凡的表现力,但是如何做某件事情仍然是有待于Lisp程序编制者来表达的东西.相反,Prolog是一种明显地冲破了HOW型语言陈规的语言, 它鼓励程序编制者去描述情况和问题,而不是那些用来解决问题的详细步骤。”
由以上论述可以看出LISP语言和Prolog语言对人工智能学科和人工智能学者的重要性。
一般来说,LISP可以称为人工智能的汇编语言, Prolog是人工智能更高级的语言。
2年前 -
人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”,也可能超过人的智能。
人工智能的定义可以分为两部分,即“ 人工”和“ 智能”。“人工”比较好理解,争议性也不大。有时我们会要考虑什么是人力所能及制造的,或者人自身的智能程度有没有高到可以创造人工智能的地步,等等。但总的来说,“人工系统”就是通常意义下的人工系统。
3年前 -
“人工智能”(Artificial Intelligence)简称AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
人工智能研究如何用计算机去模拟、延伸和扩展人的智能;如何把计算机用得更聪明;如何设计和建造具有高智能水平的计算机应用系统;如何设计和制造更聪明的计算机以及智能水平更高的智能计算机等。
人工智能是计算机科学的一个分支,人工智能是计算机科学技术的前沿科技领域。
人工智能与计算机软件有密切的关系。一方面,各种人工智能应用系统都要用计算机软件去实现,另一方面,许多聪明的计算机软件也应用了人工智能的理论方法和技术。例如,专家系统软件,机器博弈软件等。但是,人工智能不等于软件,除了软件以外,还有硬件及其他自动化和通信设备。
人工智能虽然是计算机科学的一个分支,但它的研究却不仅涉及到计算机科学,而且还涉及到脑科学、神经生理学、心理学、语言学、逻辑学、认知(思维)科学、行为科学和数学以及信息论、控制论和系统论等许多学科领域。因此,人工智能实际上是一门综合性的交叉学科和边缘学科。
人工智能主要研究用人工的方法和技术,模仿、延伸和扩展人的智能,实现机器智能。有人把人工智能分成两大类:一类是符号智能,一类是计算智能。符号智能是以知识为基础,通过推理进行问题求解。也即所谓的传统人工智能。计算智能是以数据为基础,通过训练建立联系,进行问题求解。人工神经网络、遗传算法、模糊系统、进化程序设计、人工生命等都可以包括在计算智能。
传统人工智能主要运用知识进行问题求解。从实用观点看,人工智能是一门知识工程学:以知识为对象,研究知识的表示方法、知识的运用和知识获取。人工智能从1956年提出以来取得了很大的进展和成功。1976年Newell 和Simon提出了物理符号系统假设,认为物理符号系统是表现智能行为必要和充分的条件。这样,可以把任何信息加工系统看成是一个具体的物理系统,如人的神经系统、计算机的构造系统等。80年代Newell 等又致力于SOAR系统的研究。SOAR系统是以知识块(Chunking)理论为基础,利用基于规则的记忆,获取搜索控制知识和操作符,实现通用问题求解。Minsky从心理学的研究出发,认为人们在他们日常的认识活动中,使用了大批从以前的经验中获取并经过整理的知识。该知识是以一种类似框架的结构记存在人脑中。因此,在70年代他提出了框架知识表示方法。到80年代,Minsky认为人的智能,根本不存在统一的理论。1985年,他发表了一本著名的书《Society of Mind(思维社会)》。书中指出思维社会是由大量具有某种思维能力的单元组成的复杂社会。以McCarthy和Nilsson等为代表,主张用逻辑来研究人工智能,即用形式化的方法描述客观世界。逻辑学派在人工智能研究中,强调的是概念化知识表示、模型论语义、演绎推理等。 McCarthy主张任何事物都可以用统一的逻辑框架来表示,在常识推理中以非单调逻辑为中心。传统的人工智能研究思路是“自上而下”式的,它的目标是让机器模仿人,认为人脑的思维活动可以通过一些公式和规则来定义,因此希望通过把人类的思维方式翻译成程序语言输入机器,来使机器有朝一日产生像人类一样的思维能力。这一理论指导了早期人工智能的研究。
近年来神经生理学和脑科学的研究成果表明,脑的感知部分,包括视觉、听觉、运动等脑皮层区不仅具有输入/输出通道的功能,而且具有直接参与思维的功能。智能不仅是运用知识,通过推理解决问题,智能也处于感知通道。
1990年史忠植提出了人类思维的层次模型,表明人类思维有感知思维、形象思维、抽象思维,并构成层次关系。感知思维是简单的思维形态,它通过人的眼、耳、鼻、舌、身感知器官产生表象,形成初级的思维。感知思维中知觉的表达是关键。形象思维主要是用典型化的方法进行概括,并用形象材料来思维,可以高度并行处理。抽象思维以物理符号系统为理论基础,用语言表述抽象的概念。由于注意的作用,使其处理基本上是串行的.
3年前 -
“人工智能”这个词一开始是在1956 年Dartmouth学会上提出的。从那以后,研究者们发展了众多理论和原理,人工智能的概念也随之扩展。人工智能是对人的意识、思维的信息过程的模拟。人工智能开发主要学哪门语言?
据了解,人工智能目前主要是机器学习实现的,而目前做机器学习和数据挖掘的主要语言是python。但主要原因并不是python效率高或者python和人工智能有什么不可分割的联系,而是因为python是一门很好的胶水语言,可以方便的调用别人(用各种语言)写的库,而且表达清晰灵活。
实际上,机器学习的核心知识和python并没有本质关系,python只是因为表达能力强,所以被广泛用于机器学习开发而已。因此目前来看,Python是人工智能的首选语言。
人工智能时代的到来,让人们不禁产生了一些思考,不管是好是坏。但是无论结果如何,这个时代究竟还是来了:
搭台,唱戏,台下的吃瓜群众懵懂生活、不知不觉间被卷入,在技术迭代发展的洪流中,向来如此。在基础技术维度,大数据管理和云计算技术已经在国内生根发芽,从IaaS、PaaS到SaaS,逐渐转变为大众化服务的基础平台:
腾讯、阿里、百度、华为等巨头们依托自身数据、算法、技术和服务器优势正着力构建各自的产业链闭环。而在应用技术维度,在机器学习、模式识别和人机交互三条技术路线下附着的机器视觉、指纹识别、人脸识别、智能搜索、语言和图像理解、遗传编程等众多领域,正蓬勃兴盛,也诞生了多家代表性企业。
也因为各企业的诞生,也有越来越多的企业需要人工智能人才。所以,如果大家掌握了Python,是否就能更好地在人工智能行业大展拳脚呢?5年前 -
在推动AI产业从兴起进入快速发展的历程中,AI顶级人才的领军作用尤为重要。上至国家,下至科技巨头,无不将AI视为提升自身的核心竞争力的根本性战略。那么你有没有想过这么一个问题:人工智能开发语言哪个更好?
其实,并不是每种编程语言,都能为开发人员节省时间及精力。在此整理了5种比较适用于人工智能开发的编程语言:
Python
Python由于简单易用,是人工智能领域中使用较广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。Python之所以时候AI项目,其实也是基于Python的很多有用的库都可以在AI中使用,如Numpy提供科学的计算能力,Scypy的高级计算和Pybrain的机器学习。另外,Python有大量的在线资源,所以学习曲线也不会特别陡峭。
Java
对于AI项目来说,算法几乎是灵魂,无论是搜索算法、自然语言处理算法还是神经网络,Java都可以提供一种简单的编码算法。另外,Java的扩展性也是AI项目必备的功能之一。
Lisp
Lisp因其出色的原型设计能力和对符号表达式的支持在AI领域崭露头角。LISP作为因应人工智能而设计的语言,因其可用性和符号结构而主要用于机器学习/ ILP子领域。著名的AI专家彼得·诺维奇(Peter Norvig)在其《Artificial Intelligence: A modern approach》一书中,详细解释了为什么Lisp是AI开发的顶级编程语言之一。
Prolog
Prolog一种逻辑编程语言,主要是对一些基本机制进行编程,对于AI编程十分有效,例如它提供模式匹配,自动回溯和基于树的数据结构化机制。结合这些机制可以为AI项目提供一个灵活的框架。Prolog广泛应用于AI的 expert系统,也可用于医疗项目的工作。
C ++
在AI项目中,C++可用于统计,如神经网络。另外算法也可以在C ++被广泛地快速执行,游戏中的AI主要用C ++编码,以便更快地执行和响应时间。这也是一门非常不错的语言。6年前 -
人脑有意识,电脑有意识吗?在科学极其发展的今天,电脑是否会超越人脑,人是否会成为电脑的奴隶?哲学不能不对这一问题做出回答。
人工智能是20世纪中叶科学技术所取得的重大成果之一。它的诞生与发展对人类文明产生了巨大的影响和效益。同时也引起了哲学意识与人工智能的理论探讨。
人工智能是相对于人类智能而言的。它是指用机械和电子装置来模拟和代替人类的某些智能。人工智能也称“机器智能”或“智能模拟”。当今人工智能主要是利用电子技术成果和仿生学方法,从大脑的结构方面模拟人脑的活动,即结构模拟。
人脑是智能活动的物质基础,是由上百亿个神经元组成的复杂系统。结构模拟是从单个神经元入手的,先用电子元件制成神经元模型,然后把神经元模型连接成神经网络(脑模型) ,以完成某种功能,模拟人的某些智能。如1957年美国康乃尔大学罗森布莱特等人设计的“感知机”;1975年日本的福岛设计的“认知机”(自组织多层神经网络) 。
电子计算机是智能模拟的物质技术工具。它是一种自动、高速处理信息的电子机器。它采用五个与大脑功能相似的部件组成了电脑,来模拟人脑的相应功能。这五个部件是:(1) 输入设备,模拟人的感受器(眼、耳、鼻等) ,用以接受外来的信息。人通过输入设备将需要计算机完成的任务、课题、运算步骤和原始数据采用机器所能接受的形式告诉计算机,并经输入设备把这些存放到存贮器中。(2) 存贮器,模拟人脑的记忆功能, 将输入的信息存储起来,供随时提取使用,是电子计算机的记忆装置。(3) 运算器,模拟人脑的计算、判断和选择功能,能进行加减乘除等算术运算和逻辑运算。(4) 控制器,人脑的分析综合活动以及通过思维活动对各个协调工作的控制功能,根据存贮器内的程序,控制计算机的各个部分协调工作。它是电脑的神经中枢。 (5)输出设备,模拟人脑的思维结果和对外界刺激的反映,把计算的结果报告给操作人员或与外部设备联系,指挥别的机器动作。
以上五部分组成的电脑是电子模拟计算机的基本部分,称为硬件。只有硬件还不能有效地模拟和代替人脑的某些功能,还必须有相应的软件或软设备。所谓软件就是一套又一套事先编好的程序系统。
人工智能的产生是人类科学技术进步的结果,是机器进化的结果。人类的发展史是人们利用各种生产工具有目的地改造第一自然( 自然造成的环境,如江河湖海、山脉森林等) ,创造第二自然( 即人化自然,如人造房屋、车辆机器等) 的历史。人类为了解决生理机能与劳动对象之间的矛盾,生产更多的财富,就要使其生产工具不断向前发展。人工智能,是随着科学技术的发展,在人们创造了各种复杂的机器设备,大大延伸了自己的手脚功能之后,为了解决迫切要延伸思维器官和放大智力功能的要求而产生和发展起来的。
从哲学上看,物质世界不仅在本原上是统一的,而且在规律上也是相通的。不论是机器、动物和人,都存在着共同的信息与控制规律,都是信息转换系统,其活动都表现为一定信息输入与信息输出。人们认识世界与在实践中获取和处理信息的过程相联系,改造世界与依据已有的信息对外界对象进行控制的过程相联系。总之,一切系统都能通过信息交换与反馈进行自我调节,以抵抗干扰和保持自身的稳定。因此,可以由电子计算机运用信息与控制原理来模拟人的某些智能活动。
从其它科学上来说,控制论与信息论就是运用系统方法,从功能上揭示了机器、动物、人等不同系统所具有的共同规律。以此把实际的描述形式化,即为现象和行为建立一个数学模型;把求解问题的方式机械化,即根据数学模型,制定某种算法和规则,以便机械地执行;把解决问题的过程自动化,即用符号语言把算法和规则编成程序,交给知识智能机器执行某种任务,使电子计算机模拟人的某些思维活动。所以,控制论、信息论是”智能模拟”的科学依据,“智能模拟”是控制论、信息论在实践中的最重要的实践结果。
人工智能是人类智能的必要补充,但是人工智能与人类智能仍存在着本质的区别:
1 、人工智能是机械的物理过程,不是生物过程。它不具备世界观、人生观、情感、意志、兴趣、爱好等心理活动所构成的主观世界。而人类智能则是在人脑生理活动基础上产生的心理活动,使人形成一个主观世界。因此,电脑与人脑虽然在信息的输入和输出的行为和功能上有共同之处,但在这方面两者的差别是十分明显的。从信息的输入看,同一件事,对于两个智能机具有相同的信息量,而对于两个不同的人从中获取的信息量却大不相同。“行家看门道,外行看热闹”就是这个道理。从信息的输出方面看,两台机器输出的同一信息,其信息量相等。而同一句话,对于饱于风霜的老人和天真幼稚的儿童,所说的意义却大不相同。
2 、人工智能在解决问题时,不会意识到这是什么问题,它有什么意义,会带来什么后果。电脑没有自觉性,是靠人的操作完成其机械的运行机能;而人脑智能,人的意识都有目的性,可控性,人脑的思维活动是自觉的,能动的。
3 、电脑必须接受人脑的指令,按预定的程序进行工作。它不能输出末经输入的任何东西。所谓结论,只不过是输入程序和输入数据的逻辑结果。它不能自主地提出问题,创造性地解决问题,在遇到没有列入程序的“意外”情况时,就束手无策或中断工作。人工智能没有创造性。而人脑功能则能在反映规律的基础上,提出新概念,作出新判断,创造新表象,具有丰富的想象力和创造性。
4 、人工机器没有社会性。作为社会存在物的人,其脑功能是适应社会生活的需要而产生和发展的。人们的社会需要远远超出了直接生理需要的有限目的,是由社会的物质文明与精神文明的发展程序所决定的。因此,作为人脑功能的思维能力,是通过社会的教育和训练,通过对历史上积累下来的文化的吸收逐渐形成的。人的内心世界所以丰富多采,是由于人的社会联系是丰富的和多方面的,人类智能具有社会性。所以要把人脑功能全面模拟下来,就需要再现人的思想发展的整个历史逻辑。这是无论多么“聪明”的电脑都做不到的。随着科学技术的发展,思维模拟范围的不断扩大,电脑在功能上会不断向人脑接近。但从本质上看,它们之间只能是一条渐近线,它们之间的界限是不会清除的。模拟是近似而不能是等同。
人工智能与人脑在功能上是局部超过,整体上不及。由于人工智能是由人造机器而产生的,因此,人工智能永远也不会赶上和超过人类智能。所谓“机器人将超过人奴役人”、“人将成为计算机思想家的玩物或害虫,…… 保存在将来的动物园”的“预言”是不能成立的。因为,它抹煞了人与机器的本质差别与根本界限。
人工智能充实和演化了辩证唯物主义的意识论。它进一步表明了意识是人脑的机能,物质的属性。电脑对人脑的功能的模拟,表明了意识并不是神秘的不可捉摸的东西,不是游离于肉体内外脱离人脑的灵魂,也不是人脑分泌出来的特殊物质形态,而是人脑的机能属性。这就进一步证明了意识本质的原理。
人工智能的出现深化了意识对物质的反作用的原理。人工智能是人类意识自我认识的产物。电脑的出现,意昧着人类意识已能部分地从人脑中分化出来,物化为物质的机械运动。这不仅延长了意识的器官,也说明意识能反过来创造”人脑”。这是意识对人脑的巨大的反作用。从意识与人脑的相互关系中进一步深化了意识对物质形态进步的反作用,意识作为最高的物质属性对于物质运动发展的反作用。
人工智能引起了意识结构的变化,扩大了意识论的研究领域。电脑作为一种新形态的机器而进入了意识器官的行列。它不仅能完成人脑的一部分意识活动,而且在某种功能上还优于人脑。如人脑处理信息和采取行动的速度不如电脑,记忆和动作的准确性不如电脑。因此,在现代科学认识活动中,没有人工智能,就不会有人类认识能力的突破性发展和认识范围的不断扩大。电脑不仅依赖于人,人也依赖于电脑。这就使得在意识论结构上增加了对人工智能的探讨以及对人机互补的关系的探讨。同时思维模拟,也把思维形式在思维中的作用问题突出出来,为意识论的研究提出了一个重要课题。7年前 -
Python、Java、Lisp、Prolog、C ++、Yigo。
Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。
Python之所以适合AI项目,其实也是基于Python的很多有用的库都可以在AI中使用,如Numpy提供科学的计算能力,Scypy的高级计算和Pybrain的机器学习。
Java也是AI项目的一个很好的选择。它是一种面向对象的编程语言,专注于提供AI项目上所需的所有高级功能,它是可移植的,并且提供了内置的垃圾回收。另外Java社区也是一个加分项,完善丰富的社区生态可以帮助开发人员随时随地查询和解决遇到的问题。
对于AI项目来说,算法几乎是灵魂,无论是搜索算法、自然语言处理算法还是神经网络,Java都可以提供一种简单的编码算法。另外,Java的扩展性也是AI项目必备的功能之一。
7年前 -
人工智能是一种未来性的技术,目前正在致力于研究自己的一套工具。一系列的进展在过去的几年中发生了:无事故驾驶超过300000英里并在三个州合法行驶迎来了自动驾驶的一个里程碑;IBM Waston击败了Jeopardy两届冠军;统计学习技术从对消费者兴趣到以万亿记的图像的复杂数据集进行模式识别。这些发展必然提高了科学家和巨匠们对人工智能的兴趣,这也使得开发者们了解创建人工智能应用的真实本质。
谷歌的AI击败了一位围棋大师,是一种衡量人工智能突然的快速发展的方式,也揭示了这些技术如何发展而来和将来可以如何发展。
哪一种编程语言适合人工智能?
你所熟练掌握的每一种编程语言都可以是人工智能的开发语言。人工智能程序可以使用几乎所有的编程语言实现,最常见的有:Lisp,Prolog,C/C++,近来又有Java,最近还有Python.
LISP
像LISP这样的高级语言在人工智能中备受青睐,因为在各高校多年的研究后选择了快速原型而舍弃了快速执行。垃圾收集,动态类型,数据函数,统一的语法,交互式环境和可扩展性等一些特性使得LIST非常适合人工智能编程。
PROLOG
这种语言有着LISP高层和传统优势有效结合,这对AI是非常有用的。它的优势是解决“基于逻辑的问题”。Prolog提供了针对于逻辑相关问题的解决方案,或者说它的解决方案有着简洁的逻辑特征。它的主要缺点(恕我直言)是学起来很难。
C/C++
就像猎豹一样,C/C++主要用于对执行速度要求很高的时候。它主要用于简单程序,统计人工智能,如神经网络就是一个常见的例子。Backpropagation 只用了几页的C/C++代码,但是要求速度,哪怕程序员只能提升一点点速度也是好的。
JAVA
新来者,Java使用了LISP中的几个理念,最明显的是垃圾收集。它的可移植性使它可以适用于任何程序,它还有一套内置类型。Java没有LISP和Prolog高级,又没有C那样快,但如果要求可移植性那它是最好的。
Python
Python是一种用LISP和JAVA编译的语言。按照Norvig文章中对Lips和Python的比较,这两种语言彼此非常相似,仅有一些细小的差别。还有JPthon,提供了访问Java图像用户界面的途径。这是PeterNorvig选择用JPyhton翻译他人工智能书籍中程序的的原因。JPython可以让他使用可移植的GUI演示,和可移植的http/ftp/html库。因此,它非常适合作为人工智能语言的。
在人工智能上使用Python比其他编程语言的好处
优质的文档
平台无关,可以在现在每一个*nix版本上使用
和其他面向对象编程语言比学习更加简单快速
Python有许多图像加强库像Python Imaging Libary,VTK和Maya 3D可视化工具包,Numeric Python, Scientific Python和其他很多可用工具可以于数值和科学应用。
Python的设计非常好,快速,坚固,可移植,可扩展。很明显这些对于人工智能应用来说都是非常重要的因素。
对于科学用途的广泛编程任务都很有用,无论从小的shell脚本还是整个网站应用。
最后,它是开源的。可以得到相同的社区支持。
AI的Python库
总体的AI库
AIMA:Python实现了从Russell到Norvigs的“人工智能:一种现代的方法”的算法
pyDatalog:Python中的逻辑编程引擎
SimpleAI:Python实现在“人工智能:一种现代的方法”这本书中描述过的人工智能的算法。它专注于提供一个易于使用,有良好文档和测试的库。
EasyAI:一个双人AI游戏的python引擎(负极大值,置换表、游戏解决)
机器学习库
PyBrain 一个灵活,简单而有效的针对机器学习任务的算法,它是模块化的Python机器学习库。它也提供了多种预定义好的环境来测试和比较你的算法。
PyML 一个用Python写的双边框架,重点研究SVM和其他内核方法。它支持Linux和Mac OS X。
scikit-learn旨在提供简单而强大的解决方案,可以在不同的上下文中重用:机器学习作为科学和工程的一个多功能工具。它是python的一个模块,集成了经典的机器学习的算法,这些算法是和python科学包(numpy,scipy.matplotlib)紧密联系在一起的。
MDP-Toolkit这是一个Python数据处理的框架,可以很容易的进行扩展。它海收集了有监管和没有监管的学习算饭和其他数据处理单元,可以组合成数据处理序列或者更复杂的前馈网络结构。新算法的实现是简单和直观的。可用的算法是在不断的稳定增加的,包括信号处理方法(主成分分析、独立成分分析、慢特征分析),流型学习方法(局部线性嵌入),集中分类,概率方法(因子分析,RBM),数据预处理方法等等。 自然语言和文本处理库
NLTK 开源的Python模块,语言学数据和文档,用来研究和开发自然语言处理和文本分析。有windows,Mac OSX和Linux版本。
结论
python因为提供像 scikit-learn的好的框架,在人工智能方面扮演了一个重要的角色:Python中的机器学习,实现了这一领域中大多的需求。D3.js JS中数据驱动文档时可视化最强大和易于使用的工具之一。处理框架,它的快速原型制造使得它成为一门不可忽视的重要语言。AI需要大量的研究,因此没有必要要求一个500KB的Java样板代码去测试新的假说。python中几乎每一个想法都可以迅速通过20-30行代码来实现(JS和LISP也是一样)。因此,它对于人工智能是一门非常有用的语言。
案例
做了一个实验,一个使用人工智能和物联网做员工行为分析的软件。该软件通过员工情绪和行为的分心提供了一个有用的反馈给员工,从而提高了管理和工作习惯。
使用Python机器学习库,opencv和haarcascading概念来培训。建立了样品POC来检测通过安置在不同地点的无线摄像头传递回来基础情感像幸福,生气,悲伤,厌恶,怀疑,蔑视,讥讽和惊喜。收集到的数据会集中到云数据库中,甚至整个办公室都可以通过在Android设备或桌面点击一个按钮来取回。
开发者在深入分析脸部情感上复杂点和挖掘更多的细节中取得进步。在深入学习算法和机器学习的帮助下,可以帮助分析员工个人绩效和适当的员工/团队反馈。
7年前 -
自从去年,AlphaGo打遍天下棋手无对手,人工智能的风头就一直无人能及。在IT领袖峰会上,BAT三位大佬都看好人工智能的未来发展。今年年初,百度就做了一个大动作,在医疗方面押宝人工智能,所以在这次峰会上李彦宏也发声称互联网是道开胃菜,人工智能才是主菜。
人工智能是一个很广阔的领域,很多编程语言都可以用于人工智能开发,所以很难说人工智能必须用哪一种语言来开发。选择多也意味着会有优劣之分,并不是每种编程语言都能够为开发人员节省时间及精力。所以我们整理了5种比较适用于人工智能开发的编程语言,希望能够对你有所帮助。
Python
Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。
Python之所以时候AI项目,其实也是基于Python的很多有用的库都可以在AI中使用,如Numpy提供科学的计算能力,Scypy的高级计算和Pybrain的机器学习。另外,Python有大量的在线资源,所以学习曲线也不会特别陡峭。
Java
Java也是AI项目的一个很好的选择。它是一种面向对象的编程语言,专注于提供AI项目上所需的所有高级功能,它是可移植的,并且提供了内置的垃圾回收。另外Java社区也是一个加分项,完善丰富的社区生态可以帮助开发人员随时随地查询和解决遇到的问题。
对于AI项目来说,算法几乎是灵魂,无论是搜索算法、自然语言处理算法还是神经网络,Java都可以提供一种简单的编码算法。另外,Java的扩展性也是AI项目必备的功能之一。
Lisp
Lisp因其出色的原型设计能力和对符号表达式的支持在AI领域崭露头角。LISP作为因应人工智能而设计的语言,是第一个声明式系内函数式程序设计语言,有别于命令式系内过程式的C、Fortran和面向对象的Java、C#等结构化程序设计语言。
Lisp语言因其可用性和符号结构而主要用于机器学习/ ILP子领域。著名的AI专家彼得·诺维奇(Peter Norvig)在其《ArTIficial Intelligence: A modern approach》一书中,详细解释了为什么Lisp是AI开发的顶级编程语言之一,感兴趣的朋友可以自行查看。
Prolog
Prolog与Lisp在可用性方面旗鼓相当,据《Prolog Programming for ArTIficial Intelligence》一文介绍,Prolog一种逻辑编程语言,主要是对一些基本机制进行编程,对于AI编程十分有效,例如它提供模式匹配,自动回溯和基于树的数据结构化机制。结合这些机制可以为AI项目提供一个灵活的框架。
Prolog广泛应用于AI的 expert系统,也可用于医疗项目的工作。
C ++
C ++是世界上速度最快的编程语言,其在硬件层面上的交流能力使开发人员能够改进程序执行时间。 C ++对于时间很敏感,这对于AI项目是非常有用的,例如,搜索引擎可以广泛使用C ++。
在AI项目中,C++可用于统计,如神经网络。另外算法也可以在C ++被广泛地快速执行,游戏中的AI主要用C ++编码,以便更快的执行和响应时间。
写在最后:
在这些编程语言中,Python因为适用于大多数AI,所以渐有成为AI编程语言之首的趋势,而Lisp和Prolog因其独特的功能,所以在部分AI项目中卓有成效,地位暂时难以撼动。而Java和C++的自身优势将在AI项目中继续保持。7年前 -
Python,Java,Lisp,Prolog,C ++
Python因为适用于大多数AI sub-field,所以渐有成为AI编程语言之首的趋势,而Lisp和Prolog因其独特的功能,所以在部分AI项目中卓有成效,地位暂时难以撼动。而Java和C++的自身优势将在AI项目中继续保持。
7年前
