99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀為什么說(shuō)Python更適合做AI/機(jī)器學(xué)習(xí)
為什么說(shuō)Python更適合做AI/機(jī)器學(xué)習(xí)
2018-03-21
收藏

為什么說(shuō)Python更適合做AI/機(jī)器學(xué)習(xí)

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)槌祟愃频母邔哟喂δ苤猓€擁有出色的第三方庫(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)槿魏蜛I/機(jī)器學(xué)習(xí)系統(tǒng)都需要從現(xiàn)實(shí)世界中提取大量數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)或系統(tǒng)輸入,因此Python的框架庫(kù)生態(tài)系統(tǒng)意味著它通常可以很好地訪問(wèn)和轉(zhuǎn)換數(shù)據(jù)。

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)開(kāi)始開(kāi)發(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還可以作為開(kāi)發(fā)與外部庫(kù)進(jìn)行低級(jí)集成的理想平臺(tái)。這主要是由于Python可以提供一個(gè)非常完整的API訪問(wèn)。

研究人員和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í)間從頭開(kāi)始重新實(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ǔ)言更少分心。

ThoughtWorks的技術(shù)負(fù)責(zé)人Luciano Ramalho(@ramalhoorg):

Python對(duì)科學(xué)計(jì)算有吸引力。

最重要和最直接的原因是NumPy和SciPy庫(kù)支持scikit-learn這樣的項(xiàng)目,因?yàn)樗壳皫缀跏撬?a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)任務(wù)的標(biāo)準(zhǔn)工具。

創(chuàng)建NumPy,SciPy,scikit-learn和其他許多庫(kù)的原因是因?yàn)镻ython有一些功能使其對(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)。

Mike Bayer,Red Hat的高級(jí)軟件工程師和SQLAlchemy的創(chuàng)建者:

Python是嚴(yán)格和高度一致性的。

我們正在Python這個(gè)領(lǐng)域中開(kāi)發(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ù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }