0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python如何奠定AI领域的老大地位

OaXG_jingzhengl ? 来源:未知 ? 作者:胡薇 ? 2018-05-20 11:43 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在所有编程语言里,Python并不算萌新,从1991年发布第一个版本,至今已经快30年了。

最近几年,随着人工智能概念的火爆,Python迅速升温,成为众多AI从业者的首选语言。

根据数据平台 Kaggle发布的2017年机器学习及数据科学调查报告,在工具语言使用方面,Python是数据科学家和人工智能从业者使用最多的语言(见下图)。

IEEE综览(IEEE Spectrum)发布的2017最受欢迎编程语言列表中,Python同样位列第一(见下图)。

为什么?

原因1:Python是一种说人话的语言

所谓“说人话”,是指这种语言:

开发者不需要关注底层

语法简单直观

表达形式一致

我们先来看几个代码的例子:

C 语言Hello World 代码:

intmain(){printf("Hello, World!");return0;}

Java 语言Hello World 代码:

publicclassHelloWorld{ publicstaticvoidmain(String[] args){ System.out.println("Hello World!"); }}

Python 语言Hello World代码:

print("Hello World!")

仅仅是一个Hello World程序,就能看出区别了,是不是?

编译 VS 解释

当然,仅仅是一个Hello World的话,C和Java的代码也多不了几行。

可是不要忘了,C和Java的代码要运行,都必须先经过编译的环节。

对于C语言来说,在不同的操作系统上使用什么样的编译器,也是一个需要斟酌的问题。一旦代码被copy到新的机器,运行环境和之前不同,还需要重新编译,而那台机器上有没有编译器还是一个问题,安装上编译器后,也许和之前最初的编译器有所区别,还得修改源代码来满足编译环境的需求……

我到底做错了什么?我只是想运行一个别人写的程序而已[泪目]

而Python则不用编译,直接运行。而且都可以不用写文件,一条条语句可以直接作为命令行运行。不要太方便咯。

语言语法

和Python比,Java的语法更“啰嗦”。

从上面的例子已经可以看出,创建一个链表,Java还需要声明和逐个插入节点,而Python则可一行代码完成从链表创建到插入节点及赋值的全部操作。

这还只是一个例子。在真正的使用中就会发现,对于很多非常简单基础的操作,Java非让你很别扭地写好几行,Python直接一句搞定。

这样的结果就是,Python写起来省事,读起来也方便。可读性远超Java。

表达风格

在10年或者更久远之前,Python经常被用来和Perl相提并论。毕竟在那个时候,C是系统级语言,Java是面向对象语言,而Python & Perl则是脚本语言的双子星。

Python和Perl在设计层面有一个非常大的区别:

Python力求让不同的人在撰写同样功能实现的代码时,所用的表达形式尽量一致;

而Perl则是故意追求表达的千姿百态,让同一个人在不同地方写同样功能时所用具体形式都不同。

从哲学层面讲,Perl的追求更加自由主义,更利于释放人类的多样化天性。也确实有很多Geek范儿程序员因为这一点推崇毫无限制的Perl,鄙视到处设限的Python。

然而,Perl写的程序——那叫一个乱七八糟!

当你想遇到问题,想在网上找点实例代码看看的时候,搜到的Perl example千姿百态,很难找到一种“大众”的解法。而不同写法之间,还很难保证相容。

这个问题其实在Python vs Java上也有,只不过程度要低得多。

Java语言本身并没有想要把自己变成书写代码诗歌的载体。但是因为它长年大量地被应用在企业级软件的后台开发,夹杂进了太多并非语言本身却又与其使用不可分割的东西,进一步加剧了Java的繁杂。

如果不是想成为代码诗人,或者语言大师,只是想用尽量简单直接的方法,把事情做了,首选语言确实是Python。

原因2:强大的AI支持库

矩阵运算

NumPy由数据科学家Travis Oliphant创作,支持维度数组与矩阵运算。结合Python内置的math和random库,堪称AI数据神器!有了它们,就可以放心大胆玩矩阵了!

大家知道,不管是Machine Learning,还是Deep Learning,模型、算法、网络结构都可以用现成的,但数据是要自己负责I/O并传递给算法的。

而各种算法,实际上处理的都是矩阵和向量。

使用NumPy,矩阵的转置、求逆、求和、叉乘、点乘……都可以轻松地用一行代码搞定,行、列可以轻易抽取,矩阵分解也不过是几行代码的问题。

而且,NumPy在实现层对矩阵运算做了大量的并行化处理,通过数学运算的精巧,而不是让用户自己写多线程程序,来提升程序效率。

有了Python这种:语法简洁明了、风格统一;不需要关注底层实现;连矩阵元素都可以像在纸上写公式一样;写完公式还能自动计算出结果的编程语言,开发者就可以把工作重心放在模型和算法上了。

ML模型

用Python实现大多数经典模型,几十上百行代码就够了。

当然,对于普通用户,也可以连算法都不用管,只是调用Scikit-Learn的接口就可以了。

比如,训练和使用一个logistic Regression模型,只需要下面几行代码就可以了:

#import the LogisticRegression from sklearn.linear_model import LogisticRegression #Use default parametersclassifier = LogisticRegression() #train modelclassifier.fit(train_set, target) #dotesty_hat = classifier.predict(test_set) #printouttestresultsprint y_hat

支持图表

Python还有许多图标方面的支持库。用来生成dashboard上的各种图形表格,是非常简单的事情。

比如使用Plotly图形库,下面这些炫彩的图形,就随便用啦:

原因3:规模效应

语言简单易学,支持库丰富强大,这两大支柱从早期就奠定了Python的江湖地位。

根据以高收入国家Stack Overflow问题阅读量为基础的主要编程语言趋势统计,可以看出,近年来,Python已然力压Java和Javascript,成为目前发达国家增长最快的编程语言(见下图)。

由图可见,2012年之后,对于Python相关问题的浏览量迅速增长,从时间上看,这一趋势正好和近几年人工智能的发展重合。

技术的普及推广就像滚雪球,早期的积累相对缓慢,一旦过了临界点,就是大爆发。

别的不说,就说现在tensorflow,caffe之类的深度学习框架,主体都是用Python来实现,提供的原生接口也是Python。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    88

    文章

    35945

    浏览量

    283239
  • 编程语言
    +关注

    关注

    10

    文章

    1957

    浏览量

    37056
  • python
    +关注

    关注

    56

    文章

    4834

    浏览量

    87889

原文标题:为什么Python是入行人工智能的首选语言?

文章出处:【微信号:jingzhenglizixun,微信公众号:机器人博览】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AI 芯片浪潮下,职场晋升新契机?

    职场、渴望在专业领域更进一步的人来说,AI 芯片与职称评审之间,实则有着千丝万缕的联系,为职业晋升开辟了新的路径。 AI 芯片领域细分与职称对应 目前,
    发表于 08-19 08:58

    【书籍评测活动NO.64】AI芯片,从过去走向未来:《AI芯片:科技探索与AGI愿景》

    、频繁升级,这让作者意识到有必要撰写一本新的AI芯片图书,以紧跟时代步伐、介绍新兴领域和最新动向。 这就是《AI芯片:前沿技术与创新未来》的姊妹篇——《AI 芯片:科技探索与 AGI
    发表于 07-28 13:54

    任正非说 AI已经确定是第四次工业革命 那么如何从容地加入进来呢?

    ,TensorFlow、PyTorch用于构建和训练神经网络。以Python为例,通过编写简单的程序来处理数据,如读取数据集、进行数据清洗和预处理,这是进入AI领域的基本技能。 学习机器学习和深度学习
    发表于 07-08 17:44

    中软国际在大型银行AI项目领域实现重大突破

    近日,中软国际成功中标某全国性股份制银行2025年大模型算力扩容项目,标志着中软国际在大型银行AI项目领域实现重大突破,进一步巩固了其在金融科技领域的领先地位
    的头像 发表于 05-06 11:46 ?593次阅读
    中软国际在大型银行<b class='flag-5'>AI</b>项目<b class='flag-5'>领域</b>实现重大突破

    华芯智造在半导体封装测试领域的领先地位

    作为专精特新企业,华芯智造在半导体封装测试领域占据领先地位
    的头像 发表于 03-04 17:40 ?502次阅读
    华芯智造在半导体封装测试<b class='flag-5'>领域</b>的领先<b class='flag-5'>地位</b>

    AI赋能边缘网关:开启智能时代的新蓝海

    ,准确率达到99.9%。 这一技术革新正在创造巨大的商业价值。在智慧城市领域AI边缘网关可以实现交通流量实时分析、违章行为智能识别;在工业互联网中,能够实现设备预测性维护、生产工艺优化;在智慧能源领域
    发表于 02-15 11:41

    AI主导下科技领域的蓬勃发展与变革

    24 位行业领袖的深度访谈,为我们揭示了 2025 年极具影响力的科技趋势,展现出 AI 主导下科技领域的蓬勃发展与变革。 一、AI 驱动的科技变革核心地位
    的头像 发表于 01-23 13:58 ?811次阅读

    RISC-V在AI领域的发展前景怎么样?

    随着人工智能的不断发展,现在的视觉机器人,无人驾驶等智能产品的不断更新迭代,发现ARM占用很大的市场份额,推出的ARM Cortex M85性能也是杠杠的,不知道RISC-V在AI领域有哪些参考方案?
    发表于 10-25 19:13

    不同领域AI大模型的应用实例

    AI大模型在不同领域有着广泛的应用实例,以下是一些具体领域的应用案例: 一、金融领域 智能投顾助手 :某券商龙头以智能投顾助手为切入点,构建证券领域
    的头像 发表于 10-23 15:13 ?4319次阅读

    AI for Science:人工智能驱动科学创新》第4章-AI与生命科学读后感

    很幸运社区给我一个阅读此书的机会,感谢平台。 《AI for Science:人工智能驱动科学创新》第4章关于AI与生命科学的部分,为我们揭示了人工智能技术在生命科学领域中的广泛应用和深远影响。在
    发表于 10-14 09:21

    AI for Science:人工智能驱动科学创新》第二章AI for Science的技术支撑学习心得

    的训练和推理提供了强大的算力支持,使得AI在科学研究中的应用更加广泛和深入。 3. 数据驱动的研究范式 第二章还强调了数据在AI for Science中的核心地位。数据是AI模型的输
    发表于 10-14 09:16

    AI for Science:人工智能驱动科学创新》第一章人工智能驱动的科学创新学习心得

    ,无疑为读者铺设了一条探索人工智能(AI)如何深刻影响并推动科学创新的道路。在阅读这一章后,我深刻感受到了人工智能技术在科学领域的广泛应用潜力以及其带来的革命性变化,以下是我个人的学习心得: 1.
    发表于 10-14 09:12

    国产AI出海加速,IT领域投资激增

    随着AI技术的飞速发展,国产AI应用正加速走向世界舞台。据统计,目前已有超过百款国产AI应用成功出海,展现出强大的国际竞争力。同时,AI技术的广泛应用也极
    的头像 发表于 09-25 14:26 ?635次阅读

    微软与阿联酋G42合作,力推阿联酋AI全球领导地位

    微软公司与阿联酋领先的人工智能企业G42宣布了一项重要合作,计划在阿布扎比建立两个核心中心,专注于推动“负责任的人工智能”(Responsible AI)计划。此举标志着阿联酋在加速其从石油经济向多元化、高科技经济转型的过程中,又迈出了坚实的一步,旨在巩固其在全球AI
    的头像 发表于 09-19 17:30 ?1385次阅读

    SK海力士下半年扩招加码,巩固AI半导体技术领军地位

    全球半导体巨头SK海力士近日宣布了一项重大人才招募计划,旨在通过下半年的大规模新员工及资深行业人才招聘活动,进一步强化其在高带宽存储器(HBM)领域的领导地位,并积极拥抱人工智能(AI)半导体市场的迅猛增长浪潮。
    的头像 发表于 09-03 16:08 ?1354次阅读