原标题:Python在人工智能中的作用

Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。

谷歌的AI击败了一位围棋大师,是一种衡量人工智能突然的快速发展的方式,也揭示了这些技术如何发展而来和将来可以如何发展。

人工智能是一种未来性的技术,目前正在致力于研究自己的一套工具。一系列的进展在过去的几年中发生了:无事故驾驶超过300000英里并在三个州合法行驶迎来了自动驾驶的一个里程碑;IBM Waston击败了Jeopardy两届冠军;统计学习技术从对消费者兴趣到以万亿记的图像的复杂数据集进行模式识别。这些发展必然提高了科学家和巨匠们对人工智能的兴趣,这也使得开发者们了解创建人工智能应用的真实本质。开发这些需要注意的第一件事是:

哪一种编程语言适合人工智能?

你所熟练掌握的每一种编程语言都可以是人工智能的开发语言。

人工智能程序可以使用几乎所有的编程语言实现,最常见的有: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机器学习库,opencv和haarcascading概念来培训。建立了样品POC来检测通过安置在不同地点的无线摄像头传递回来基础情感像幸福,生气,悲伤,厌恶,怀疑,蔑视,讥讽和惊喜。收集到的数据会集中到云数据库中,甚至整个办公室都可以通过在Android设备或桌面点击一个按钮来取回。

开发者在深入分析脸部情感上复杂点和挖掘更多的细节中取得进步。在深入学习算法和机器学习的帮助下,可以帮助分析员工个人绩效和适当的员工/团队反馈。

结论

python因为提供像 scikit-learn的好的框架,在人工智能方面扮演了一个重要的角色:Python中的机器学习,实现了这一领域中大多的需求。D3.js JS中数据驱动文档时可视化最强大和易于使用的工具之一。处理框架,它的快速原型制造使得它成为一门不可忽视的重要语言。AI需要大量的研究,因此没有必要要求一个500KB的Java样板代码去测试新的假说。python中几乎每一个想法都可以迅速通过20-30行代码来实现(JS和LISP也是一样)。因此,它对于人工智能是一门非常有用的语言。

英文原文:http://www.cuelogic.com/blog/role-of-python-in-artificial-intelligence/

译者:zmq518返回搜狐,查看更多

责任编辑:

python人工智能-Python在人工智能中的作用相关推荐

  1. python的pass在函数中的作用_Pass Share:Python / Julia 中函数变量的传递机制

    从 C / MATLAB 过来的同学注意! Julia / Python 中使用的参数传递变量方式是不一样的.(以C的眼光看)在语法上细微的差别就会产生完全不一样的内容.(至少我被坑了很多次).这篇文 ...

  2. python在概率论与数理统计中的作用

    概率论与数理统计 一.描述性统计和统计图 1.用Pandas来计算统计量 使用 pandas的describe方法计算相关统计量,并计算身高和体重的偏度,峰度,样本的25%,50%,90%分位数 数据 ...

  3. 人工智能和5G在无人机技术中的作用

    技术为我们提供了许多引人入胜的设备和发明,无人机就是其中之一.无人机,在技术术语中也称为无人机(UAV),自2007年首次出现以来越来越受欢迎.这些小工具最初是手动和远程控制的.无人机现在经常包括人工 ...

  4. 无需精通编程:走进人工智能比你想象中容易

    本文转载自公众号"读芯术"(ID:AI_Discovery) 我们的生活大致上是在不断重复,总是遵循着一定的例程.如果把身体看作一台生物计算机,那么指挥大脑的代码应该是这样的: W ...

  5. python在人工智能应用锁_解读! Python在人工智能中的作用

    人工智能是一种未来性的技术,目前正在致力于研究自己的一套工具.一系列的进展在过去的几年中发生了:无事故驾驶超过300000英里并在三个州合法行驶迎来了自动驾驶的一个里程碑:IBM Waston击败了J ...

  6. Python在人工智能中的作用

    谷歌的AI击败了一位围棋大师,是一种衡量人工智能突然的快速发展的方式,也揭示了这些技术如何发展而来和将来可以如何发展. 人工智能是一种未来性的技术,目前正在致力于研究自己的一套工具.一系列的进展在过去 ...

  7. python人工智能大数据_人工智能及大数据中的Python

    2016年,Python取代Java成为高校中最受欢迎的语言.2018年三大语言榜单中,Python陆续登上了IEEE.PYPL排行榜单之首.薪酬调查结果显示,Python开发人员是收入最高的开发人员 ...

  8. 基于虚拟现实的游戏中的人工智能:如何使用Python和Pygame实现人工智能

    作者:禅与计算机程序设计艺术 <基于虚拟现实的游戏中的人工智能:如何使用Python和Pygame实现人工智能> 1. 引言 1.1. 背景介绍 随着虚拟现实 (VR) 和增强现实 (AR ...

  9. python中提取pdf文件某些页_人工智能|Python提取PDF中的文本并朗读

    题前的话 之前有老师在群里推荐这个,我看了一眼觉得还是蛮有趣的,然后就忘了--昨天又看到这个<宅男福利!我50行Python代码让小姐姐给你读Pdf>,今天于是开始自己尝试,谁知道pdfp ...

最新文章

  1. Win7 Vista下的输入法问题
  2. [九度][何海涛] 数组中出现次数超过一半的数字
  3. python代码示例图形-使用Python统计函数绘制复杂图形matplotlib
  4. Android用户界面设计:框架布局
  5. mfc读取txt文件并显示_Python入门丨文件读写
  6. 双城生活,一种相对无奈且幸福的选择
  7. 【十万个编程篇】写文章与“写项目”的差别
  8. nodejs计算时间间隔_NodeJs笔记:setTimeout 或 setInterval 的间隔时间执行
  9. 计算机组装与维护课程教学内容,《计算机组装与维护》课程教学计划
  10. vs2017 出现“文件中的类都不能进行设计,因此未能为该文件显示设计器”问题处理...
  11. Smart3D倾斜摄影测量数据处理
  12. Sublime快捷键大全
  13. JUCE框架教程(7)——AudioBuffer基础如何生成音频Output
  14. 股权比例的3种黄金分割线
  15. arm服务器测评_ARM:异军突起
  16. 计算机毕业设计android的酒店客房预订客户端app(源码+系统+mysql数据库+Lw文档)
  17. FCC算法:十三、过滤数组假值--Falsy Bouncer
  18. android 图片浏览 app 排行版,安卓图片浏览软件哪个好_安卓图片浏览app推荐_图片浏览app软件排行...
  19. Windows 基本操作命令
  20. 2023年全国最新工会考试精选真题及答案41

热门文章

  1. Android targetSdkVersion 原理
  2. HDU 5988 最小费用流
  3. 系统重装 如何转换GPT的磁盘格式为MBR或者反过来
  4. Java基础--反射Reflection
  5. JavaScript高级程序设计学习笔记--引用类型
  6. java 重载 : 1.参数个数不同,2.参数类型不同
  7. 设计模式:访问者(Visitor)模式
  8. 字符流Reader对象创建子类及方法
  9. java-2018-01-17计划
  10. Hadoop 源码分析(二四)FSNamesystem