1.3 Python和人工智能
要想认识Python和人工智能之间的关系,首先要明确人工智能和机器学习及深度学习之间的关系。图1-1从时间角度展示了三者之间的关系。
图1-1 人工智能与机器学习及深度学习的关系
从图1-1可以看出,人工智能最早出现;而机器学习(Machine Learning)是1990年前后兴起的,它主要使用归纳、综合法,即主要基于数据,寻找数据内在规律,并把这个内在规律应用到业务上,通过让机器模拟人类的学习行为,使其获取新的知识或技能,并可以通过重新组织已有的知识结构,不断改善自身的性能。机器学习可以说是当前人工智能的核心,也是使计算机具有人类智能的根本途径。
深度学习的概念由Hinton等人于2006年提出,是机器学习研究中的一个新的领域,它源于人工神经网络的研究,目的在于建立模拟人脑进行分析学习的神经网络,例如模仿人脑的机制来解释图像、声音、文本等数据。深度学习通过组合低层特征,形成更加抽象的高层表示,以发现数据的分布式特征。
综上所述,机器学习,包括深度学习,是实现人工智能应用的必由之路。而机器学习的实现是依靠算法来完成的,可用于机器学习算法的语言有很多,其中Python、java、C/C++、JavaScript、R排在前五名,而Python高居榜首。
Python语言具有简单而不失严谨、易用而不失专业的特点,是开发人工智能应用的首选语言。目前支持Python的机器学习框架众多,包括Scikit-Learn(sklearn)、keras、Statsmodels、PyMC、Shogun、Gensim、Orange、PyMVPA、Theano、PyLearn、Decaf、Nolearn、OverFeat、Hebel、Neurolab等,另外谷歌的TensoFlow也有Python库,可以供Python开发者直接调用,充分发挥TensorFlow的威力。