五位专家跟你讲讲为啥Python更适合做AI/机器学习
摘要:?為什么Python會(huì)在這股深度學(xué)習(xí)浪潮中成為編程語(yǔ)言的頭牌?聽聽大牛如何解釋吧!
原文地址:http://click.aliyun.com/m/43988/
1.Python網(wǎng)絡(luò)編程框架Twisted的創(chuàng)始人Glyph Lefkowitz(glyph):
編程是一項(xiàng)社交活動(dòng)——Python社區(qū)已經(jīng)認(rèn)識(shí)到了這一點(diǎn)!
人工智能是一個(gè)全面的技術(shù)術(shù)語(yǔ),通常意味著當(dāng)前計(jì)算機(jī)科學(xué)研究中最先進(jìn)的領(lǐng)域。
有一段時(shí)間,我們理所當(dāng)然的認(rèn)為基本圖遍歷是AI。那時(shí)候,Lisp是人工智能的專屬語(yǔ)言,僅僅是因?yàn)檠芯咳藛T更容易用它來(lái)做快速原型。我認(rèn)為Python已經(jīng)在很大程度上取代了它,因?yàn)槌祟愃频母邔哟喂δ苤?#xff0c;它還擁有出色的第三方庫(kù)生態(tài)庫(kù)和框架以及操作系統(tǒng)設(shè)施的完美集成。
Lispers可能會(huì)反對(duì)我的看法,所以我應(yīng)該說(shuō)清楚,我沒(méi)有對(duì)Python在應(yīng)用層次中的位置做出精確的陳述,只是說(shuō)Python和Lisp都處于相同的語(yǔ)言類別中,像內(nèi)存安全、模塊、名稱空間和高級(jí)數(shù)據(jù)結(jié)構(gòu)。
在更具體的機(jī)器學(xué)習(xí)意義上,這是人們最近說(shuō)的關(guān)于AI的最多的領(lǐng)域,我認(rèn)為還有更具體的答案。NumPy及其相應(yīng)的生態(tài)系統(tǒng)的存在使得研究人員可以對(duì)高級(jí)別內(nèi)容進(jìn)行研究,并進(jìn)行高性能的數(shù)字處理。如果不是有非常強(qiáng)的數(shù)字處理需求,機(jī)器學(xué)習(xí)是沒(méi)有任何意義的。
Python社區(qū)致力于為非程序員提供友好的介紹和生態(tài)系統(tǒng)支持,這確實(shí)增加了其在數(shù)據(jù)科學(xué)和計(jì)算科學(xué)的應(yīng)用。無(wú)數(shù)的統(tǒng)計(jì)工作人員、天文學(xué)家、生物學(xué)家和商業(yè)分析師已經(jīng)成為Python程序員,并且他們對(duì)自己的工具也做了些許的改進(jìn)。編程基本上成為了一種社交活動(dòng),Python社區(qū)比JavaScript以外的任何其他語(yǔ)言都承認(rèn)這一點(diǎn)。
機(jī)器學(xué)習(xí)是一個(gè)特別集成度很高的學(xué)科,因?yàn)槿魏?/span>AI/機(jī)器學(xué)習(xí)系統(tǒng)都需要從現(xiàn)實(shí)世界中提取大量數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)或系統(tǒng)輸入,因此Python的框架庫(kù)生態(tài)系統(tǒng)意味著它通??梢院芎玫卦L問(wèn)和轉(zhuǎn)換數(shù)據(jù)。
2.PSF聯(lián)合創(chuàng)始人兼eGenix首席執(zhí)行官Marc-Andre Lemburg(@malemburg)
Python允許用戶關(guān)注真正的問(wèn)題
對(duì)于沒(méi)有受過(guò)計(jì)算機(jī)科學(xué)培訓(xùn)的科學(xué)家來(lái)說(shuō),Python非常容易理解。當(dāng)你嘗試驅(qū)動(dòng)你需要執(zhí)行研究的外部庫(kù)時(shí),它可以幫助你消除許多必須處理的事項(xiàng)。
在Numeric(現(xiàn)在是NumPy)開始開發(fā)之后,增加了IPython筆記本(現(xiàn)在是Jupyter筆記本)、matplotlib和許多其他工具以使事情更加直觀,Python讓科學(xué)家主要考慮解決問(wèn)題的方法,而不是去考慮那么多推動(dòng)這些解決方案所需的技術(shù)。
與其他領(lǐng)域一樣,Python是一種理想的集成語(yǔ)言,它將技術(shù)輕松綁定在一起。Python允許用戶關(guān)注真正的問(wèn)題,而不是花時(shí)間在實(shí)現(xiàn)細(xì)節(jié)上。除了為用戶提供更方便的功能之外,Python還可以作為開發(fā)與外部庫(kù)進(jìn)行低級(jí)集成的理想平臺(tái)。這主要是由于Python可以提供一個(gè)非常完整的API訪問(wèn)。
3.研究人員和Python機(jī)器學(xué)習(xí)的作者Sebastian Raschka(@rasbt):
對(duì)于數(shù)學(xué)和面向數(shù)據(jù)的人來(lái)說(shuō),Python非常容易使用。
我認(rèn)為Python更適合做AI有兩個(gè)主要原因。第一個(gè)原因是Python非常容易理解和學(xué)習(xí)。
我認(rèn)為大多數(shù)從事機(jī)器學(xué)習(xí)和人工智能的人員都希望以最快捷的方式實(shí)現(xiàn)自己的想法。人工智能的重點(diǎn)是研究和應(yīng)用程序,編程只是一個(gè)讓你到達(dá)那里的工具。對(duì)于需要更多的數(shù)學(xué)和以數(shù)據(jù)為導(dǎo)向的人來(lái)說(shuō),編程語(yǔ)言學(xué)習(xí)起來(lái)越舒服,進(jìn)入壁壘越低。Python也是非常容易理解的,這有助于保持最新的機(jī)器學(xué)習(xí)和AI的現(xiàn)狀,例如,閱讀算法的代碼實(shí)現(xiàn)時(shí)。嘗試人工智能和機(jī)器學(xué)習(xí)的新思路往往需要實(shí)現(xiàn)相對(duì)復(fù)雜的算法,語(yǔ)言越簡(jiǎn)單,調(diào)試就越容易。
第二個(gè)主要原因是,雖然Python本身就是一種非常易于訪問(wèn)的語(yǔ)言,但我們?cè)谄渲嫌泻芏鄡?yōu)秀的庫(kù),這使得我們的工作變得更容易。沒(méi)有人愿意花時(shí)間從頭開始重新實(shí)現(xiàn)基本算法(除了研究機(jī)器學(xué)習(xí)和人工智能)。大量已經(jīng)存在的Python庫(kù)幫助我們專注于更令人興奮的事情。
Python也可以用于處理高效的C/C ++算法和CUDA/cuDNN實(shí)現(xiàn)的優(yōu)秀包裝語(yǔ)言,這就是為什么現(xiàn)有的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)庫(kù)在Python中高效運(yùn)行的原因。這對(duì)于機(jī)器學(xué)習(xí)和AI領(lǐng)域的工作是非常重要的。
總而言之,我會(huì)說(shuō)Python是一種偉大的語(yǔ)言,它可以讓研究人員和從業(yè)者專注于機(jī)器學(xué)習(xí)和AI,并且比其他語(yǔ)言更少分心。
4.ThoughtWorks的技術(shù)負(fù)責(zé)人Luciano Ramalho(@ramalhoorg):
Python對(duì)科學(xué)計(jì)算有吸引力。
最重要和最直接的原因是NumPy和SciPy庫(kù)支持scikit-learn這樣的項(xiàng)目,因?yàn)樗壳皫缀跏撬袡C(jī)器學(xué)習(xí)任務(wù)的標(biāo)準(zhǔn)工具。
創(chuàng)建NumPy,SciPy,scikit-learn和其他許多庫(kù)的原因是因?yàn)?/span>Python有一些功能使其對(duì)科學(xué)計(jì)算非常有吸引力。Python有其簡(jiǎn)單而一致的語(yǔ)法,可以讓軟件工程師以外的人更易于使用編程。
另一個(gè)原因是運(yùn)算符重載,它使代碼可讀和簡(jiǎn)潔。然后就是Python的緩沖協(xié)議(PEP 3118),這是外部庫(kù)在處理類似數(shù)組的數(shù)據(jù)結(jié)構(gòu)時(shí)與Python高效互操作的標(biāo)準(zhǔn)。最后,Python為科學(xué)計(jì)算提供了豐富的庫(kù)生態(tài)系統(tǒng),吸引了更多的科學(xué)家并創(chuàng)造了良性循環(huán)。
5.Mike Bayer,Red Hat的高級(jí)軟件工程師和SQLAlchemy的創(chuàng)建者:
Python是嚴(yán)格和高度一致性的。
我們正在Python這個(gè)領(lǐng)域中開發(fā)我們的庫(kù)。我們將有一定希望保留和優(yōu)化的算法放入一個(gè)庫(kù)中,如scikit-learn。然后我們繼續(xù)迭代并分享關(guān)于我們?nèi)绾谓M織和思考數(shù)據(jù)的筆記。
高級(jí)腳本語(yǔ)言非常適合人工智能和機(jī)器學(xué)習(xí),因?yàn)槲覀兛梢钥焖僖苿?dòng)并重試。我們創(chuàng)建的大部分代碼代表的是實(shí)際的數(shù)學(xué)和數(shù)據(jù)結(jié)構(gòu),而不是模板。
像Python這樣的腳本語(yǔ)言更好,因?yàn)樗菄?yán)格的和高度一致性的。每個(gè)人都可以更好地理解彼此的Python代碼。
IPython筆記本等工具的可用性使得我們可以在全新的水平上迭代和分享我們的數(shù)學(xué)和算法。Python強(qiáng)調(diào)了我們正在努力完成的工作的核心,并且完全最小化了我們?nèi)绾谓o計(jì)算機(jī)指令的所有其他內(nèi)容,這就是它應(yīng)該如何實(shí)現(xiàn)的,自動(dòng)完成任何你不需要考慮的事情。
識(shí)別以下二維碼,干貨
總結(jié)
以上是生活随笔為你收集整理的五位专家跟你讲讲为啥Python更适合做AI/机器学习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MaxCompute印尼开服,成为阿里云
- 下一篇: Java并发编程笔记之FutureTas