Page 36 - 高中 信息技术 选择性必修4 人工智能初步
P. 36

第二章  人工智能基础算法及应用







                      的程序任务,还具备面向对象编程等各式各样的强大功能。不同于C语言等编译型语言,
                      Python作为一门解释型语言,也非常便于调试代码。同时,Python免费使用和跨平台的特
                      性,也使这门编程语言吸引了越来越多开源库的贡献者和使用者。使用Python编程至少有

                      以下四项优势:
                           1.  方便调试的解释型语言
                           Python是一门解释型编程语言,源代码都要通过解释器(Interpreter)转换为独特的字
                      节码,这个过程不需要保证全部代码一次性通过编译。相反,Python解释器会逐行处理这

                      些代码,这样方便了程序调试,也特别适合于使用不同机器学习模型进行增量式开发。
                           2.  跨平台执行作业

                           通过在不同的平台安装用于运行上述字节码的虚拟机,Python便可以执行跨平台作
                                             广东教育出版社
                      业。由于机器学习任务通常会在多种平台执行,因此以Python这类解释型语言作为编码媒
                      介不失为一种好的选择。
                           3.  丰富的应用程序编程接口

                           除了编程人员所使用的第三方程序库以外,许多著名公司用于科研和商业的云平
                      台都为互联网用户提供了支持机器学习功能的Python应用程序编程接口(Application
                      Programming Interface,简称API)。许多平台的机器学习功能模块不需要由用户来编写,

                      用户只需要像搭积木一样,通过Python语言并且遵照云平台的编写协议与规则,把各个模
                      块串接起来即可实现不同的功能。
                           4.  丰富完备的开源工具包

                           软件工程中有一个非常重要的理念,便是代码与程序的重复利用性。为了构建功能强
                      大的机器学习系统,如果没有特殊的开发需求,通常情况下,我们都不会从零开始编程。
                      比如,机器学习算法中经常会使用的向量计算,如果Python中没有直接提供用于向量计算

                      的工具,我们还需要自己花时间编写这样的基础功能吗?答案是否定的。Python自身免费
                      开源的特性使得大量专业的编程人员参与到Python第三方开源工具包(程序库)的构建
                      中。更为可喜的是,大多数的工具包都允许个人免费使用,乃至商用。这其中就包括便于
                      向量、矩阵和复杂科学计算的NumPy与SciPy,便于绘图的Matplotlib,包含大量经典机器学

                      习模型的Scikit-learn,对数据进行快捷分析与处理的Pandas,以及集成了上述所有第三方
                      程序库的综合实践平台Anaconda。
                           下面介绍几种常用的Python第三方开源工具包。

                           (1)NumPy与SciPy。
                           NumPy是最基础的Python工具包,除了提供高级数学运算机制以外,还具备非常高效
                      的向量和矩阵运算功能,这些功能对于机器学习的计算任务尤为重要。而NumPy更为突出

                      的是它内部独到的设计,使得矩阵和向量计算的处理效率比Python自带程序库的运行效率
                      高出许多。SciPy则是在NumPy的基础上构建的更为强大,应用领域也更为广泛的科学计算
                      包,SciPy需要依赖NumPy的支持运行。

                           (2)Matplotlib。
                           Matplotlib是Python编程环境下的开源2D绘图工具包,可以在跨平台的交互式环境中生


              28  28







          21Y3228.indd   28                                                                                        2019/10/10   14:23:27
   31   32   33   34   35   36   37   38   39   40   41