Python与人工智能

Python与人工智能

本书侧重于Python在人工智能中的应用。之所以选择Python作为实现工具,是因为作为Python的解释器CPython具有胶水语言特性,以及Python在历史上也一直都是科学计算和数据分析的重要工具。由于人工智能需要和很多硬件打交道,如GPU(图形处理单元)等,为了达到一定的计算速度,很多核心算法都采用C/C++进行开发。而在编写应用程序时,要开发一个其他语言到C/C++的跨语言接口,Python是最容易的。

在AI领域中,随着大数据的深入发展,除了研究机构里的AI科学家、机器学习专家和算法专家,越来越多领域的用户需要使用AI技术,如教师、公司职员、工程师、翻译、编辑、医生、销售、管理者和公务员,他们需要根据各自领域中的行业知识和数据资源,来结合AI技术改变各自领域的面貌。随着计算机和互联网时代的到来,越来越多的人需要拥抱计算机技术、大数据技术和AI技术,那么这种简单易学、拥有强大工具箱而且又可以像胶水一样黏结各种组件的语言将成为更多用户的首选。下面来看看AI的Python库。

总体AI 库

①AIMA:Python实现了Russell(罗素)和Norvigs(诺维格)的《人工智能:一种现代的方法》(Artificial Intelligence:A Modern Approach)中的算法(下载地址:https://pypi.org/project/aima/)。

②pyDatalog:Python中的逻辑编程引擎,其中的Datalog是prolog的子集,擅长模拟智能行为(如游戏中的智能行为)、执行递归算法(如图形分析)或管理大量相关信息(如语义网络)(下载地址:https://pypi.org/project/pyDatalog/0.3.0/)。

③SimpleAI:Python实现了《人工智能:一种现代的方法》中阐述的人工智能算法,提供了易于使用、含有良好文档和测试数据的库(下载地址:https://pypi.org/project/simpleai/)。

④EasyAI:EasyAI是一个用于两人抽象游戏的纯Python人工智能框架,如Tic Tac Toe、Connect 4、.rsi等。使用它可以方便地定义游戏机制、与计算机进行对抗等(下载地址:https://pypi.org/project/easyAI/)。

主要的机器学习库

①PyBrain(Reinforcement Learning,Artificial Intelligence and Neural Network Library,强化学习、人工智能和神经网络库)是一个模块化机器学习库。它的目标是为机器学习任务和各种预定义的环境提供灵活、易于使用且强大的算法,以测试和比较算法。访问地址:http://pybrain.org/。

②PyML是一个以Python编写的交互式面向对象的机器学习框架。PyML侧重于支持向量机和其他内核方法。它支持Linux和Mac OS X。访问地址:http://pyml.sourceforge.net/。

③scikit-learn集成了经典的机器学习算法,这些算法和Python科学包(NumPy、SciPy、matplotlib)紧密关联。访问地址:http://scikit-learn.org/stable/。

④MDP-Toolkit提供了一个Python数据处理的框架,包括监督学习和无监督学习算法、主成分分析和独立成分分析与分类。访问地址:https://pypi.python.org/pypi/MDP。

自然语言和文本处理库

自然语言和文本处理库主要是NLTK开源Python模块,NLTK为超过50个语料库和词汇资源(如WordNet)提供易于使用的接口,以及一套用于分类、标记化、词干提取、解析和语义推理的文本处理库,用来研究和开发自然语言处理和文本分析,有Windows、Mac OS X和Linux版本。访问地址:http://www.nltk.org/。