AI
解释AI概念的过程也许比AI编程更复杂,因为AI到底应该是什么样子的,无法给出一个确切的定义。从有AI这个概念开始就有四个定义方向,分别是:像人一样思考;像人一样行动;合理的思考;合理的行动。
不同的研究方向都对AI的进步和发展做出了一定的贡献,但是这些概念本身也存在着很多难以理解的内容,比如人怎么思考?这很明显是一个哲学问题,所以AI涉及到的领域十分广泛,包括:哲学、数学、经济学、神经学、心理学、计算机工程、控制论以及语言学。
虽然AI的概念不好理解,但是AI研究的内容却是比较明确的,集中在以下六个方面,分别是:自然语言处理、知识表示、自动推理、机器学习、视觉处理、机器人学。
学习路线
AI涵盖的内容非常多,总结一下包括六个大的部分,分别是:人工智能简介;问题求解;知识、推理与规划;不确定知识与推理;学习;通讯、感知与行动。这些内容是大的方面,每个部分都有很多细节需要学习,比如学习部分就包括样例学习、概率模型、强化学习等内容。
学习AI是需要一定数学基础的,其中线性代数、概率论、离散数学对AI的理解非常重要,如果数学基础不好,需要系统地补学一下。AI中涉及到大量的算法,这些算法的应用构成了AI解决问题的基本思路,所以学习AI也是一个学习算法及其应用的过程。
按照惯例,我推荐几本书,如果对人工智能感兴趣的程序员可以看一看,当然学习AI是需要时间和决心的。
Python语言
做AI编程要选择一门语言,在语言的选择上我比较推荐使用Python。原因有以下几点:
Python比较简单,容易学习和掌握,对于没有编程基础的人来说比较容易上手。
Python环境搭建方便,不需要配置复杂的运行环境,更不需要配置分布式集群,下载安装就能做实验了。
Python在AI编程方面的支持库比较强大,比较常见的Numpy、matplotlib等都是非常强大的库,对于AI编程来说有很大的帮助。
学习Python是一个愉快的过程,因为很多工作Python都已经做好了,程序员需要做的就是把这些功能组合起来而已。