摘要:機(jī)器學(xué)習(xí)也是這個(gè)大筐中的一個(gè)組成部分。我們目前的發(fā)展階段是機(jī)器學(xué)習(xí)正處在第二級(jí)和第三級(jí)交界處。機(jī)器學(xué)習(xí)工程師的職位是怎樣的機(jī)器學(xué)習(xí)工程師的位置更具有技術(shù)性。換句話說,機(jī)器學(xué)習(xí)工程師與傳統(tǒng)的軟件工程有著比數(shù)據(jù)科學(xué)更多的相同點(diǎn)。
翻譯:瘋狂的技術(shù)宅
https://towardsdatascience.co...
有些人認(rèn)為 AI 和 ML 被過分夸大了,認(rèn)為它們只不過是寫一些 if 語句,或者僅僅是和編程有關(guān)的玩意兒,但我建議你對(duì)這些觀點(diǎn)進(jìn)行仔細(xì)的思考和分辨。在本文中,我將對(duì)它們涉及到的術(shù)語進(jìn)行比較,并展示這兩個(gè)領(lǐng)域的專家之間的區(qū)別:他們究竟是做什么的?軟件工程師、軟件開發(fā)人員、機(jī)器學(xué)習(xí)專家、數(shù)據(jù)科學(xué)家......有些人甚至用程序員或碼農(nóng)稱呼他們,有些人甚至可以成為大佬、大師或明星!但是他們真的一樣嗎?如果是這樣的話,那機(jī)器學(xué)習(xí)和傳統(tǒng)編程之間究竟有什么區(qū)別?
首先,什么是機(jī)器學(xué)習(xí)?盡管說起來很容易,AI 和 ML 只不過是 if 編程,或者更深入一點(diǎn),它只是簡(jiǎn)單的統(tǒng)計(jì)數(shù)據(jù)。我們還能知道些什么呢? ML 只是一個(gè)描述數(shù)學(xué) + 算法的新詞嗎?盡管有時(shí)這種簡(jiǎn)化似乎很有趣,但很明顯,ML更復(fù)雜。
但是讓我們來看一個(gè)更合適的解釋。
因此,簡(jiǎn)單來說,人工智能是一個(gè)包含其他領(lǐng)域的大筐,如圖像處理、認(rèn)知科學(xué)、神經(jīng)網(wǎng)絡(luò)等等。機(jī)器學(xué)習(xí)也是這個(gè)大筐中的一個(gè)組成部分。它的核心思想是:計(jì)算機(jī)不只是使用了預(yù)先編寫的算法,還學(xué)習(xí)如何解決問題本身。或者,換句話說,Arthur Samuel 給出了一個(gè)很好的定義(他實(shí)際上創(chuàng)造了ML的術(shù)語):
機(jī)器學(xué)習(xí)是一個(gè)研究領(lǐng)域,使計(jì)算機(jī)無需明確編程即可學(xué)習(xí)。
是的,ML 教一臺(tái)機(jī)器來解決難以通過算法解決的各種復(fù)雜任務(wù)。那些任務(wù)是什么?好吧,你可能已經(jīng)在實(shí)踐中偶然發(fā)現(xiàn)了它們。例如它可以是你的手機(jī)上的面部識(shí)別或語音識(shí)別,駕駛汽車(Google自動(dòng)駕駛汽車),按癥狀診斷疾病(Watson),推薦商品(如:書籍(亞馬遜),電影(Netflix),音樂(Spotify) ),個(gè)人助理(Siri,Cortana)的功能......這個(gè)列表可以列的很長(zhǎng)很長(zhǎng)。
我希望說得已經(jīng)足夠清楚了,接下來繼續(xù)談?wù)撽P(guān)于 ML 的另一個(gè)重要的問題。
任何有效的 ML 技術(shù)都可以有條件地歸于三個(gè)級(jí)別的可訪問性。這是什么意思?嗯,第一個(gè)層面是 Google 或 IBM 等這種科技巨頭的特殊用例。第二個(gè)層次是,比方說,具有一定知識(shí)的學(xué)生可以使用它。而最后一個(gè)也就是 ML 可訪問性的第三個(gè)層次是甚至一個(gè)老奶奶能夠應(yīng)對(duì)它。
我們目前的發(fā)展階段是機(jī)器學(xué)習(xí)正處在第二級(jí)和第三級(jí)交界處。因此借助這項(xiàng)技術(shù),世界的變化將會(huì)日新月異。
關(guān)于 ML 最后還有一點(diǎn)點(diǎn)說明:大多數(shù) ML 任務(wù)可以分為跟著老師學(xué)(監(jiān)督學(xué)習(xí))和沒有老師去教(無監(jiān)督學(xué)習(xí))。如果你想象一個(gè)程序員一只手拿鞭子,另一只手拿著糖,那就有點(diǎn)誤會(huì)了。
“老師”這個(gè)名字意味著人為干預(yù)數(shù)據(jù)處理的想法。在有老師參與培訓(xùn)時(shí),這是監(jiān)督學(xué)習(xí),我們有數(shù)據(jù),需要在其基礎(chǔ)上預(yù)測(cè)一些事情。另一方面,當(dāng)沒有老師進(jìn)行教學(xué)時(shí),這是無監(jiān)督學(xué)習(xí)時(shí),我們?nèi)匀挥袛?shù)據(jù),但需要自己去找到它的屬性。
好的,那么它與編程有什么不同?在傳統(tǒng)編程中,你需要對(duì)程序的行為進(jìn)行硬編碼。在機(jī)器學(xué)習(xí)中,你將大量?jī)?nèi)容留給機(jī)器去學(xué)習(xí)數(shù)據(jù)。
所以這些工作內(nèi)容無法互換:數(shù)據(jù)工程師無法取代傳統(tǒng)編程的工作,反之亦然。盡管每個(gè)數(shù)據(jù)工程師都必須使用至少一種編程語言,但傳統(tǒng)編程只是他所做的一小部分。另一方面,我們不能說軟件開發(fā)人員正在用 ML 算法來啟動(dòng)網(wǎng)站。
ML 不是替代品,而是傳統(tǒng)編程方法的補(bǔ)充。例如,ML 可用于為在線交易平臺(tái)構(gòu)建預(yù)測(cè)算法,而平臺(tái)的 UI、數(shù)據(jù)可視化和其他元素仍然用主流編程語言(如Ruby或Java)編寫。
所以最主要的是:ML 被用在傳統(tǒng)編程策略無法滿足的場(chǎng)景,而且它不足以獨(dú)立完全完成某項(xiàng)任務(wù)。
那么這在實(shí)施中意味著什么呢?我們用一個(gè)匯率預(yù)測(cè)的經(jīng)典 ML 問題的需求來進(jìn)行解釋:
傳統(tǒng)的編程方法
對(duì)于任何解決方案,第一個(gè)任務(wù)是創(chuàng)建最合適的算法并編寫代碼。之后必須設(shè)置輸入?yún)?shù),如果實(shí)現(xiàn)的算法沒問題,將會(huì)產(chǎn)生預(yù)期的結(jié)果。
軟件開發(fā)人員如何制定解決方案
但是當(dāng)我們要對(duì)某些東西進(jìn)行預(yù)測(cè)時(shí),需要用到有各種輸入?yún)?shù)的算法。若要預(yù)測(cè)匯率,必須添加昨天的匯率的詳細(xì)信息,以及發(fā)行貨幣的國(guó)家的外部和內(nèi)部經(jīng)濟(jì)變化等數(shù)據(jù)。
因此,我們需要設(shè)計(jì)一個(gè)能夠接受一組參數(shù)的解決方案,并能夠根據(jù)輸入的數(shù)據(jù)預(yù)測(cè)新的匯率。
我們需要添加成百上千個(gè)參數(shù),用它們的有限集去構(gòu)建一個(gè)非常基本同時(shí)不可擴(kuò)展的模型。是的,任何人都很難處理如此龐大的數(shù)據(jù)陣列。
對(duì)于這個(gè)任務(wù),我們可以用機(jī)器學(xué)習(xí)方法,那么它是怎么做的呢?
為了用 ML 方法解決相同的問題,數(shù)據(jù)工程師使用完全不同的過程。他們需要收集一系列歷史數(shù)據(jù)用于半自動(dòng)模型的構(gòu)建,而不是自己去開發(fā)算法。
在得到一組令人滿意的數(shù)據(jù)之后,數(shù)據(jù)工程師將其加載到已定制的 ML 算法中。結(jié)果會(huì)得到一個(gè)模型,這個(gè)模型可以接收新數(shù)據(jù)作為輸入并預(yù)測(cè)新結(jié)果。
數(shù)據(jù)工程師如何用機(jī)器學(xué)習(xí)設(shè)計(jì)解決方案
ML 的一個(gè)顯著的特點(diǎn)是不需要建立模型。這種復(fù)雜但有意義的事由 ML 算法完成。 ML 專家只會(huì)對(duì)其做一個(gè)小小的編輯。
ML 與編程的另一個(gè)明顯差異取決于模型能夠處理的輸入?yún)?shù)的數(shù)量。為了能夠準(zhǔn)確預(yù)測(cè),你必須添加數(shù)千個(gè)參數(shù)并以高精度執(zhí)行,因?yàn)槊總€(gè)參數(shù)都會(huì)影響最終結(jié)果。人類很難以合理的方式使用所有這些細(xì)節(jié)去構(gòu)建一種算法。
但是對(duì)于 ML 沒有這樣的限制。只要你有足夠的處理能力和內(nèi)存,就可以根據(jù)需要使用盡可能多的輸入?yún)?shù)。毫無疑問,這一事實(shí)使得 ML 現(xiàn)在變得如此強(qiáng)大和廣泛。
總結(jié)一下:ML專家,數(shù)據(jù)科學(xué)家,程序員和軟件工程師......究竟誰是誰?根據(jù) Wiki 上的定義,Data Science 是一個(gè)多學(xué)科領(lǐng)域,它使用科學(xué)方法、流程、算法和系統(tǒng)從結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)中提取知識(shí)和見解。
看上去并不是那么酷。
但接下來還有一些有趣的東西:
使用最強(qiáng)大的硬件,最強(qiáng)大的編程系統(tǒng),以及解決問題的最有效算法。
后面還有更有趣的部分:
2012年,“哈佛商業(yè)評(píng)論”稱其為“21世紀(jì)最性感的工作”。
因此數(shù)據(jù)科學(xué)是另一個(gè)筐,就像計(jì)算機(jī)科學(xué)一樣,數(shù)據(jù)科學(xué)旨在處理數(shù)據(jù)并從中提取有用的信息。
那么編程呢?現(xiàn)在的數(shù)據(jù)科學(xué)家為了研究的目的而而需要掌握這種技能。他們不僅是程序員,也應(yīng)該具有應(yīng)用統(tǒng)計(jì)或研究背景。有些人還從事軟件工程,特別是在他們的產(chǎn)品中提供數(shù)據(jù)科學(xué)或機(jī)器學(xué)習(xí)技術(shù)的公司。最有趣的是,數(shù)據(jù)科學(xué)可以不必編程,但是會(huì)被限定在 Matlab、SPSS、SAS等工具上。
機(jī)器學(xué)習(xí)工程師的職位是怎樣的?
機(jī)器學(xué)習(xí)工程師的位置更具有“技術(shù)性”。換句話說,機(jī)器學(xué)習(xí)工程師與傳統(tǒng)的軟件工程有著比數(shù)據(jù)科學(xué)更多的相同點(diǎn)。
ML 工程師的標(biāo)準(zhǔn)任務(wù)通常和數(shù)據(jù)科學(xué)家類似,但是你還需要處理數(shù)據(jù),嘗試用不同的機(jī)器學(xué)習(xí)算法來解決問題、創(chuàng)建原型和現(xiàn)成的解決方案。
我要強(qiáng)調(diào)一下關(guān)鍵的區(qū)別:
一種或多種語言(通常是Python)的強(qiáng)大編程技能;
不太重視在數(shù)據(jù)分析過程中工作的能力,而是更加重視機(jī)器學(xué)習(xí)算法;
能夠基于現(xiàn)成的庫使用不同的技術(shù),例如,NumPy 或 SciPy;
使用 Hadoop 創(chuàng)建分布式應(yīng)用的能力等。
現(xiàn)在讓我們回到編程并仔細(xì)研究分配給程序員的任務(wù)。
程序員實(shí)際上就像數(shù)據(jù)分析師或業(yè)務(wù)系統(tǒng)開發(fā)人員。他們不必自己構(gòu)建系統(tǒng),只需針對(duì)現(xiàn)有系統(tǒng)編寫松散結(jié)構(gòu)的代碼。是的,我們可以將數(shù)據(jù)科學(xué)稱為新的編程浪潮,但編碼只是其中的一小部分。所以不要誤會(huì)。
但如果深入挖掘,我們會(huì)發(fā)現(xiàn)還有其他術(shù)語,如 Software Engineer 和 Software Developer,兩者并不相同。例如軟件工程師必須設(shè)計(jì)工程。它們涉及生產(chǎn)應(yīng)用程序、分布式系統(tǒng)、并發(fā)、構(gòu)建系統(tǒng)、微服務(wù)等。而軟件開發(fā)人員需要了解軟件開發(fā)的所有周期,而不僅僅是實(shí)現(xiàn)(有時(shí)甚至不需要任何編程或編碼)。
那么,你現(xiàn)在感受到編程和機(jī)器學(xué)習(xí)的不同了嗎?我希望本文可以幫你避免對(duì)這些術(shù)語產(chǎn)生混淆。毫無疑問,這些人都有一些共同點(diǎn),那就是技術(shù),但之間的差異要大得多。因此機(jī)器學(xué)習(xí)工程師、軟件工程師和軟件開發(fā)人員完全不可互換。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/20026.html
摘要:密碼學(xué)家,智能合約之父。本文正是在第三屆區(qū)塊鏈全球峰會(huì)年月日上的演講內(nèi)容,從智能合約的發(fā)展著手,用通俗易懂的語言為我們解釋了智能合約與傳統(tǒng)合約的區(qū)別及其用途。我們制定智能合約,其實(shí)理由和傳統(tǒng)合約是一樣的,希望創(chuàng)建雙贏的交易。 Nick Szabo:密碼學(xué)家,智能合約之父。 智能合約理念可追溯至1993年,為密碼學(xué)家Nick Szabo所發(fā)明。自從以太坊引入智能合約之后,其在區(qū)塊鏈領(lǐng)域被...
摘要:眾多面向?qū)ο蟮木幊趟枷腚m不盡一致,但是無論哪種面向?qū)ο缶幊陶Z言都具有以下的共通功能。原型編程以類為中心的傳統(tǒng)面向?qū)ο缶幊蹋且灶悶榛A(chǔ)生成新對(duì)象。而原型模式的面向?qū)ο缶幊陶Z言沒有類這樣一個(gè)概念。 什么是面向?qū)ο螅窟@個(gè)問題往往會(huì)問到剛畢業(yè)的新手or實(shí)習(xí)生上,也是往往作為一個(gè)技術(shù)面試的開頭題。在這里我們不去談如何答(fu)好(yan)問(guo)題(qu),僅談?wù)勎宜斫獾拿嫦驅(qū)ο蟆?從歷...
閱讀 1299·2021-11-24 09:39
閱讀 2669·2021-09-30 09:47
閱讀 1332·2021-09-22 15:15
閱讀 2418·2021-09-10 10:51
閱讀 1968·2019-08-30 15:55
閱讀 2982·2019-08-30 11:06
閱讀 902·2019-08-30 10:53
閱讀 839·2019-08-29 17:26