人工智能为什么要用Python? - 乐杨俊

首先说下现阶段python的地位:

     Python语言的学习已经上升到了国家战略的层面上。国家相关教育部门对于“人工智能普及,非常重视,不仅将Python列入到小学、中学和高中等传统教育体系中,并借此为未来国家和社会发展奠定了人工智能的人才培养基础,从而进一步实现人工智能技术的推动和社会人才结构的更迭,正在逐步推行“全民学习python”。甚至流传 - 不懂Python语言,人工智能时代,你将成为新“文盲”。

    现有互联网企业招聘的时候你会发现有个条件:熟悉使用Java,PHP,C/C++ 或者 python,都会带上python这一附带要求,“甚至有的企业HR为了招聘python程序员进而打着Java,PHP ,C。。。。。。等语言的旗号招聘,进来的时候你会发现你愿意转python吗”,咦?什么套路,没听错就是这样的套路,因为市场没有背景好的python开发人员(各大公司像BAT等一线互联网公司对于python语言还不是主要开发语言开,也还没用python来做相应的核心业务开发),背景好的难找,所以变向招聘。一首“凉凉”送给自己。

   厂长(百度CEO李彦宏)在第三届互联网大会中曾表述:靠移动互联网的风口已经没有可能再出现独角兽了,因为市场已经进入了一个相对平稳的发展阶段,互联网人口渗透率已经超过了50%。而未来的机会在“人工智能”。大家都会发现厂长又在带头搞事情,推从“人工智能”,放弃了之前狼厂的O2O战略。然而在百度的吹鼓下“人工智能”不声不响的就这么火起来了,做什么产品都要带上“人工智能”的标签。

AI结合python的背景:

 

    1:人工智能的核心算法是完全依赖于C/C++的,而且Python历史上也一直都是科学计算和数据分析的重要工具。Python虽然是脚本语言,但是因为容易学,迅速成为科学家的工具(MATLAB等也能搞科学计算,但是软件要钱,且很贵),从而积累了大量的工具库、架构,人工智能涉及大量的数据计算,用Python是很自然的,简单高效。
 

    2:对于编程只是副业的AI科学家们来说,没那么多时间去学习和使用C++,还是把大量时间用来研究研究算法比较实在。

    3: Python虽然慢但是它只是调用AI接口,真正的计算全是C/C++写好的数据底层,用Python只是写相应的逻辑,几行代码就出来了。换成C++的话,不仅代码量太大,而且开发效率太低,不是说用C++写不了上层逻辑,,而是换来总体速度提升1%,得不偿失。

    4:Python在拥有简洁的语法和丰富的生态环境从而提高开发速度的同时,对C的支持也很好,python结合了语言的优点,又通过对C的高度兼容弥补了速度慢的缺点,自然受到数据科学研究者与机器学习程序员的青睐。

 

Python的优势:

 

对于 AI 项目的每个需求,Python 都有很多相应的库。比如用于科学计算的 Numpy,用于高级计算的 Scipy 以及用于机器学习的 Pybrain。而 AIMA(来自 Russell 和 Norvig 的 Artificial Intelligence: A Modern Approach)则是迄今为止人工智能领域最好的库之一。这样的专用程序库大大节省了开发人员在基本级别项目上编码所花费的时间

 

一、Python是解释语言,程序写起来非常方便,即使转语言的同学也能很快上手

二、Python的开发生态成熟,有很多有用的库可以用

三、Python效率超高,支持很多高效C接口

四:江湖流传:

      1:学习周期而言:容易学代码可读性高。Python入门时间按天计算,C++入门时间按年计算;
  


      python善长用十八般兵器,但十八般兵器多数都是C系列

                     

 

 

用于通用AI:

AIMA —— Python 实现 Russell 和 Norvig 的‘Artificial Intelligence: A Modern Approach’库。

pyDatalog —— Python 中的逻辑编程引擎

SimpleAI —— Python 实现了“AIMA”一书中描述的许多人工智能算法。它侧重于提供易于使用,有据可查的测试库。

EasyAI —— 简单的 Python 引擎,用于 AI 的双人游戏,如 Negamax, transposition tables, game solving。

 

用于机器学习:

PyBrain —— 灵活、简单,但对于机器算法任务非常高效,它是 Python 的一个机器学习模块化库。它还提供了各种预定义的环境来测试和比较你的算法。

PyML —— 一款以 Python 编写的侧重于 SVM 和其他内核方法的双边框架。它支持在 Linux 和 Mac OS X 上运行。

scikit-learn —— 旨在提供在各种环境下可重复使用的简单而强大的解决方案:机器学习作为科学和工程的多功能工具。它是一个 Python 模块,它将经典的经典机器学习算法集成在如紧密结合的科学世界的 Python 软件包中(如 numpy,scipy,matplotlib)。


 

  

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页