编译 :AI科技大本营(公众号ID:rgznai100)
那么,为什么 Python 语言在机器学习领域会如此受欢迎?Python 领域资深专家 Mike Driscoll 组织了一次访谈会,邀请了五位 Python 专家和机器学习社区人士,共同分析 Python 语言受欢迎的原因。营长将五位人士的观点罗列如下。
▌ “编程是一项社交活动 - Python社区已经意识到了这一点”
第一位:Python Twisted 网络编程框架创始人 Glyph Lefkowitz ( @glyph ) ,曾在 2017 年荣获 PSF 社区服务奖
人工智能是一个大而全的术语,通常代表着当前计算机科学研究中最先进的领域。
有一段时间,我们理所当然地认为那种用于基本的图遍历技术就是所谓的 AI 技术。那时候, Lisp 还是门强大的人工智能语言,它的使用频率高于其他语言很多,使用这门语言能让研究人员更容易地解决相关的 AI / 机器学习问题。
在更具体的机器学习层面,也就是大家最近谈论的 AI ,我认为两种语言的差别就更加明显了。Python 中的 NumPy 库及其强大的处理机制的存在,使得研究人员可以对高级别的内容进行研究,并进行高性能的数据处理。如果不能拥有强大的数字处理功能,那机器学习系统是没有任何意义的。
由于机器学习是一个集成度特别高的学科,任何AI / 机器学习系统都需要从现实世界中提取大量的源数据并作为训练数据或系统输入,因此 Python 自带的丰富的依赖库能够帮助用户更好地访问和转换数据。
▌“Python允许使用者专注于解决现实问题”
第二位:PSF 社区的联合创始人及 eGenix 的首席执行官 Marc-Andre Lemburg ( @malemburg )
对于没有受过计算机科学专业学习的科学家来说,Python 也是非常容易理解。当你尝试驱动所需要研究的依赖库时,Python 能帮助你消除了许多必须处理的复杂性问题。
在 Numeric (现在是 NumPy ) 开始开发之后,增加了 IPython notebook (现在是 Jupyter notebook )功能, matplotlib 和其他的可视化工具能够让我们更直观地了解数据分布。
与其他领域一样,Python 也是一门理想的集成语言,它将各种技术绑定在一起,Python 允许用户关注问题的本身,而不是把时间花在实现细节上。
▌“Python对于数学及统计学专业的人员来说是非常容易使用的”
第三位:研究者;《 Python Machine Learning 》一书的作者 Sebastian Raschka ( @rasbt )
我认为在 AI / 机器学习领域,Python 语言受欢迎主要有两个原因,且这两个原因是非常相关的。
首先,Python 代码非常容易阅读和学习。
我认为,大多数从事机器学习和人工智能的研究人员都希望以最方便的方式来实现自己的想法。他们的重点是研究和应用程序的开发,编程只是实现这个想法的工具。
第二个主要原因是, Python 本身是一种非常易于访问的语言,而且开发者还在 Python 中封装了很多优秀的依赖库,这也使得我们的工作变得更容易。没有人愿意花时间从头开始重新实现基本算法 ( 除非是研究机器学习和人工智能的专业人士 ) 。
此外,Python 也是用于实现更高效的 C / C ++ 算法及 CUDA / cuDNN 的最好的“胶水”语言,这就是为什么现有的机器学习 / 深度学习库能够在 Python 中高效运行的原因,这对于机器学习 / AI 领域的工作也是非常重要的。
▌“Python更专注于科学计算”
第四位:ThoughtWorks 的首席技术官及PSF社区会员 Luciano Ramalho ( @ramalhoorg )
在我看来,Python 之所以能够如此受欢迎的最重要和最直接原因是其 NumPy 和 SciPy 库能够支持 scikit-learn 这样的项目,这几乎是目前解决机器学习问题所需的标准配置。
首先,创建 NumPy,SciPy,scikit-learn 和其他库的原因是因为 Python 的一些功能使其更专注于科学计算。此外,Python 有一个简单而一致的语法,可以让非软件工程师人员更容易使用这门编程工具。
另一个原因是 Python 的运算符重载功能,能使代码可读性更好,简洁性更高。此外,Python 的缓冲协议 ( PEP 3118 ) ,是外部库在处理类似数组的数据结构时与 Python 进行高效交互的标准。最后,Python 为科学计算提供了丰富的依赖库和全面的操作系统,这也促进了更多的数据科学家使用。
▌“Python 有着严格而一致的风格”
第五位:Red Hat 的高级软件工程师;SQLAlchemy 的开发者 Mike Bayer (@zzzeek)
在 AI / 机器学习领域,我们正尝试开发我们的数学和算法。我们将希望保留和优化的算法封装打包成依赖库,如 scikit-learn 。然后我们继续重复这个过程,并分享一些关于如何组织和思考数据的笔记。
像 Python 这样的脚本语言更适合 AI / 机器学习的工作,因为它严格而一致的语法风格。每个 Python 使用者都可以更好地理解对方的 Python 代码,而其他语言的语法有可能会导致混淆和不一致的编程范例,这就是 Python 较其他编程语言的优势所在。
此外,IPython notebook 等工具的可用性使得我们可以在全新的平台上重复并分享我们的数学和算法工作。
未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。
未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。
如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”