自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

自動化機器學(xué)習(xí)將成為下一個AI研究主流?聽聽數(shù)據(jù)科學(xué)家怎么說

開發(fā) 機器學(xué)習(xí) 人工智能 自動化
本篇文章的作者 Matthew Mayo 將會對自動化學(xué)習(xí)進(jìn)行簡單的介紹,探討下一下它的合理性、采用情況,介紹下它現(xiàn)在使用的工具,討論下它預(yù)期的未來發(fā)展方向。

在過去的一年當(dāng)中,自動化機器學(xué)習(xí)已經(jīng)成為一個眾人感興趣的話題。KDnuggets舉辦了一個關(guān)于該話題的博客大賽。結(jié)果喜人,有很多有意思的想法與項目被提出來了。一些自動化學(xué)習(xí)工具也引起了大家的興趣,受到了大家的追捧。

本篇文章的作者 Matthew Mayo 將會對自動化學(xué)習(xí)進(jìn)行簡單的介紹,探討下一下它的合理性、采用情況,介紹下它現(xiàn)在使用的工具,討論下它預(yù)期的未來發(fā)展方向。

[[184171]]

什么是自動化機器學(xué)習(xí)呢?

接下來我們要探討的是自動化機器學(xué)習(xí)屬于哪一類科學(xué),以及它不屬于哪一類科學(xué)。

自動化機器學(xué)習(xí)并不屬于自動化數(shù)據(jù)科學(xué)。毫無疑問的是它與自動化數(shù)據(jù)科學(xué)有重復(fù)的部分。盡管如此,機器學(xué)習(xí)只是數(shù)據(jù)科學(xué)工具包中的一個工具。它無法對所有的數(shù)據(jù)科學(xué)任務(wù)起作用。例如,機器學(xué)習(xí)雖然適用于預(yù)測性的數(shù)據(jù)科學(xué)任務(wù)。但它并不適用于描述性分析的數(shù)據(jù)科學(xué)任務(wù)。

即使是那些預(yù)測性的數(shù)據(jù)科學(xué)任務(wù),也不僅僅只包含預(yù)測。我們對自動化機器學(xué)習(xí)與自動化數(shù)據(jù)科學(xué)會產(chǎn)生了混淆,對此,數(shù)據(jù)科學(xué)家Sandro Saitta認(rèn)為:

這種誤解來源于我們對完整的數(shù)據(jù)科學(xué)過程(例如:CRISP-DM)、準(zhǔn)備數(shù)據(jù)的子過程(特征提取等等)以及建模(建模也被我們我們稱為機器學(xué)習(xí))的混淆。

在讀到關(guān)于自動化數(shù)據(jù)科學(xué)與數(shù)據(jù)科學(xué)競賽的工具新聞的時候,沒有行業(yè)經(jīng)驗的人會很困惑,他們可能認(rèn)為數(shù)據(jù)科學(xué)就是建模,這樣就可以完全自動化運行了。

他是完全正確的,不僅僅是詞義的問題。假如你想要對機器學(xué)習(xí)與數(shù)據(jù)科學(xué)有一個更加清晰的認(rèn)識,那就讀讀這個。

此外,數(shù)據(jù)科學(xué)家、自動化機器學(xué)習(xí)的領(lǐng)軍人物Randy Olson認(rèn)為我們要想得到高效的機器學(xué)習(xí)設(shè)計方案,我們必須做到以下幾點:

  • 始終調(diào)整我們模型的超參數(shù)
  • 始終嘗試不同的模型
  • 始終對我們的數(shù)據(jù)進(jìn)行大量的特征探索

假如我們將以上所說的東西都考慮進(jìn)去,那么我們可以認(rèn)為自動化機器學(xué)習(xí)的任務(wù)是選擇算法、超參調(diào)整、迭代建模以及模型評價,這樣的話,我們就可以以此來定義自動化機器學(xué)習(xí)了。自動化機器學(xué)習(xí)的定義是多種多樣的(對比一下數(shù)據(jù)科學(xué),當(dāng)你向十個人詢問什么是數(shù)據(jù)科學(xué)的時候,你會得到是十一種不同的回答。),但是我們卻可以說,這開了個好頭兒。

我們?yōu)槭裁葱枰?/strong>

盡管我們知道了自動化機器學(xué)習(xí)的概念,自動化機器學(xué)習(xí)對我們可能有好處,但是我們?nèi)孕枰罏槭裁礄C器學(xué)習(xí)會很難。

AI研究人員、斯坦福大學(xué)博士生S. Zayd Enam最近寫了一篇奇特的博客,博客的標(biāo)題是《為什么機器學(xué)習(xí)這么“硬”?》,在這篇文章中,他寫道(注意粗體字):

數(shù)據(jù)科學(xué)家
機器學(xué)習(xí)仍然是相對很困難的問題。毫無疑問,通過研究來推進(jìn)機器學(xué)習(xí)算法的進(jìn)步會很困難。這需要創(chuàng)造力、實驗以及堅持。 由于現(xiàn)成的算法、模型可以很好的為你提供服務(wù),這就阻礙了機器學(xué)習(xí)的發(fā)展。

請注意,盡管Enam主要提及的是機器學(xué)習(xí)的研究,但是他也提到了現(xiàn)成的算法在用例中的實現(xiàn)(見粗體字)。

緊接著Enam詳細(xì)闡述了機器學(xué)習(xí)的難題,并著重敘述了算法的特性(見粗體字):

機器學(xué)習(xí)的難題之一就是建立直覺。建立直覺的意思是采用某種工具來應(yīng)對問題。 這就需要知道可用的算法、模型、風(fēng)險權(quán)衡以及每一個限制條件。

……

困難在于機器學(xué)習(xí)基本上很難進(jìn)行調(diào)試。對于機器學(xué)習(xí)來說,調(diào)試會在兩種情況下發(fā)生:1)你的算法不起作用了;2)你的算法效用不是很好。…… 算法一開始就起作用的情況很少,因此我們大部分時間都在用來創(chuàng)建算法。

Enam緊接著從算法研究層面闡述了框架問題。再次強調(diào)下,他所說的是應(yīng)用算法。假如一個算法不起作用,或者性能不是很好,那么我們就需要對算法進(jìn)行迭代,即再選擇與再定義。這就產(chǎn)生了自動化,因此也就有了自動化算法。

我以前對于自動化機器學(xué)習(xí)算法本質(zhì)的理解是這樣的:

正如Sebastian Raschka描述的那樣,假如說計算機程序關(guān)于自動化的,那么機器學(xué)習(xí)可以看做是“關(guān)于自動化的自動化”。那么自動化機器學(xué)習(xí)就是關(guān)于自動化的自動化的自動化。程序通過管理重復(fù)的任務(wù)來減輕我們的壓力;機器學(xué)習(xí)幫助計算機如何***的處理這些重復(fù)的任務(wù);自動化機器學(xué)習(xí)幫助計算機學(xué)習(xí)如何優(yōu)化上面的結(jié)果。

這種思想很有用處;盡管我們之前會擔(dān)心調(diào)參數(shù)、調(diào)超參數(shù)。自動化機器學(xué)習(xí)通過嘗試一些列不同的方法,最終會采用***的方式來調(diào)參,從而得到***的結(jié)果。

自動化機器學(xué)的理論基礎(chǔ)來源于這個想法:假如我們必須創(chuàng)建海量的機器學(xué)習(xí)模型、使用大量的算法、使用不同的超參數(shù)配置,那么我們就可以使用自動化的方式進(jìn)行建模。同時也可以比較性能與準(zhǔn)確度。

很簡單,對不對?

對自動化機器學(xué)習(xí)工具進(jìn)行比較

現(xiàn)在我們知道了自動化機器學(xué)習(xí)到底是什么了,以及我們要用它的原因。那我們我們該如何才能創(chuàng)造出一個自動化機器學(xué)習(xí)模型來?接下來要講解的是兩個自動機器學(xué)習(xí)工具包的概述,以及二者之間比較。這些工具包是使用python編寫而成的。這兩個工具使用不同的方式來達(dá)到相同的目的,也就是是機器學(xué)習(xí)過程的自動化。

Auto-sklearn

Auto-sklearn是自動化機器學(xué)習(xí)的工具包,我們用它來替換scikit-learn中的estimator。在最近由KDnuggets舉辦的機器學(xué)習(xí)博客大賽中,它取得了冠軍頭銜。

數(shù)據(jù)科學(xué)家
auto-sklearn使機器學(xué)習(xí)的使用者可以很輕松的進(jìn)行算法選擇以及超參數(shù)的調(diào)整。它的優(yōu)勢就是在于使用貝葉斯優(yōu)化、元數(shù)據(jù)學(xué)習(xí)以及集合建設(shè)。要想了解更多關(guān)于auto-sklearn的背后技術(shù),你可以閱讀這篇2015年發(fā)表在NIPS論文。

上面的信息是摘自項目的文檔說明,Auto-sklearn可以通過貝葉斯優(yōu)化方式將超參數(shù)***化,就是通過不斷迭代以下幾個步驟:

  1. 創(chuàng)建一個概率模型,來找到超參數(shù)設(shè)置與機器學(xué)習(xí)的表現(xiàn)之間的關(guān)系
  2. 使用這個模型來挑選出有用的超參數(shù)設(shè)置,通過權(quán)衡探索與開發(fā),進(jìn)而繼續(xù)嘗試。探索指的是探索模型的未知領(lǐng)域;開發(fā)指的是重點從已知的空間中找到表現(xiàn)良好的部分。
  3. 設(shè)置好超參數(shù),然后運行機器學(xué)習(xí)算法。

下面將進(jìn)一步闡明這個過程是如何進(jìn)行的:

這個過程可以概括為聯(lián)合選擇算法、預(yù)處理方法以及超參數(shù)。具體如下:分類/回歸的選擇、預(yù)處理方法是***優(yōu)先級、分類超參數(shù)、被選擇方法的超參數(shù)會被激活。我們將使用貝葉斯優(yōu)化方法來搜索組合空間。貝葉斯優(yōu)化方法適用于處理高維條件空間。我們使用SMAC,SMAC是的基礎(chǔ)是隨機森林,它是解決這類問題的***方式。

就實用性而言,由于Auto-sklearn直接替代scikit-learn的estimator,因此scikt-learn需要安裝這個功能,我們才能利用到這個優(yōu)勢。Auto-sklearn同樣也支持在分布式文件系統(tǒng)中進(jìn)行并行計算,同時它也可以利用scikit-learn模型的持續(xù)特性。要想高效的使用Auto-sklearn替代estimator只需要4行代碼就可以了。作者這樣寫道:

數(shù)據(jù)科學(xué)家
有一個更具魯棒性的示例(該示例使用了Auto-sklearn,并以MNIST數(shù)據(jù)集作為數(shù)據(jù)來源),如下:

數(shù)據(jù)科學(xué)家

需要注意的是,Auto-sklearn是ChaLearn AutoML challenge競賽中,auto單元與tweakathon tracks單元的雙料冠軍。

最近Kdnuggets舉辦了自動化數(shù)據(jù)科學(xué)與機器學(xué)習(xí)博客大賽,Auto-sklearn研發(fā)團(tuán)隊提交的一篇博文在本次大賽中獲獎,你可以 點擊這里 進(jìn)行閱讀,同樣也可以 點擊這里 來閱讀對他們的的采訪。Auto-sklearn是由Freiburg大學(xué)研發(fā)出來的。

Auto-sklearn已經(jīng)被托管到GitHub上了,你可以找到相關(guān)文檔以及API。

TPOT

TPOT被認(rèn)為是“你的數(shù)據(jù)科學(xué)助手”(要注意,不是“你的數(shù)據(jù)科學(xué)替代品”)。它是一個Python的工具。通過使用“遺傳編程來自動的創(chuàng)建與優(yōu)化機器學(xué)習(xí)管道”。TPOT與Auto-sklearn類似,與scikit-learn協(xié)同工作。就像是scikit-learn的包裝器。

在本文中,我們曾提到過,這兩個工具使用不同的方式,達(dá)到相似的目標(biāo)。二者都是開源的,都是使用python編寫而成的,都宣稱通過使用自動化機器學(xué)習(xí)的方式簡化了機器學(xué)習(xí)的過程。然而Auto-sklearn使用的是貝葉斯優(yōu)化,TPOT使用的卻是遺傳編程。

盡管兩者使用的方法不同,但是二者的最終結(jié)果卻是相同的:自動化超參數(shù)選擇,用一系列算進(jìn)行建模,對大量特征的探索,這些都導(dǎo)致了迭代建模以及模型進(jìn)化。

數(shù)據(jù)科學(xué)家
TPOT的真正好處之一就是使用scikit-learn的管道,產(chǎn)生可以準(zhǔn)備運行的、獨立的Python代碼。這個代碼代表著所有備選模型中表現(xiàn)***的模型。我們就可以修改與審查這份代碼。這份代碼并不會是最終的模型,而是可以當(dāng)做是我們尋找***模型的有效起點。

下面是一個關(guān)于TPOT的例子,該案例使用MNIST數(shù)據(jù)集:

數(shù)據(jù)科學(xué)家
這次運行的結(jié)果正確率達(dá)到了98%,同時pyhton代碼也就是我們所說的管道也會被導(dǎo)入到tpot-mnist-pipeline.py文件當(dāng)中,如下所示:

數(shù)據(jù)科學(xué)家
我們可以 在GitHub上找到TPOT的源代碼 ,以及說明文檔。

TPOT的領(lǐng)軍人物Randy Olson在Kdnuggets上寫過一篇關(guān)于TPOT 與AutoML(自動化機器學(xué)習(xí))的文章,你可以 點擊這里 找到該文章。也會在這里找到對Randy的采訪。

TPOT是由賓夕法尼亞大學(xué)生物醫(yī)學(xué)信息學(xué)研究所研究出來的,由NIH資助。

當(dāng)然,自動化機器學(xué)習(xí)不僅僅只有這兩個工具。還有其他的工具,像Hyperopt (Hyperopt-sklearn)、 Auto-WEKA,以及Spearmint等等。我打賭在未來幾年,大量相關(guān)的額外項目將會出現(xiàn),這些項目中既會包含研究項目,也會包含工業(yè)項目。

自動化機器學(xué)習(xí)的未來

自動化機器學(xué)習(xí)的未來在哪里?

我最近公開地進(jìn)行過以下陳述(根據(jù)我的文章《2017年機器學(xué)習(xí)預(yù)測》):

自動化機器學(xué)習(xí)將變成重要的技術(shù)。在外人看來,它可能不如深度神經(jīng)網(wǎng)絡(luò)。但是自動化機器學(xué)習(xí)對于機器學(xué)習(xí)、人工智能以及數(shù)據(jù)科學(xué)都產(chǎn)生了深遠(yuǎn)的影響。這種影響極有可能在2017年顯示出來。

在同一篇文章當(dāng)中,Randy Olson也表達(dá)了在2017年他對自動化機器學(xué)習(xí)的期望。此外Randy在最近的采訪中有更加詳細(xì)地闡述了他的預(yù)測:

在不久的將來,我認(rèn)為自動化機器學(xué)習(xí)將會替代機器學(xué)習(xí)的建模過程:一旦數(shù)據(jù)集擁有相對清晰的格式,那么自動化機器學(xué)習(xí)將會比99%的人類更快地設(shè)計與優(yōu)化機器學(xué)習(xí)管道。

……

我可以很確定地認(rèn)為自動化機器學(xué)習(xí)系統(tǒng)將會成為機器學(xué)習(xí)的主流。

但是自動化機器學(xué)習(xí)是否會替代數(shù)據(jù)科學(xué)家?Randy繼續(xù)說道:

我并不認(rèn)為自動化機器學(xué)習(xí)的目標(biāo)是為了替代數(shù)據(jù)科學(xué)家,就像是智能代碼自動完成工具的目標(biāo)并不是來替代程序員一樣。相反,對于我來說,自動化機器學(xué)習(xí)的的目標(biāo)是為了減輕數(shù)據(jù)科學(xué)家的壓力,使他們不必將大量的精力耗費在重復(fù)與耗時的任務(wù)上(比如說機器學(xué)習(xí)的管道設(shè)計與超參數(shù)的***化)。這樣他們就可以將時間投入到無法進(jìn)行自動化的任務(wù)當(dāng)中去。

這種思想十分好。auto-sklearn的開發(fā)人員也同樣認(rèn)同他的觀點:

我們發(fā)展自動化機器學(xué)習(xí)方法是為了向數(shù)據(jù)科學(xué)家提供幫助,而不是代替他們。這些方法使數(shù)據(jù)科學(xué)家擺脫了討厭復(fù)雜的任務(wù)(比如說超參數(shù)優(yōu)化),機器可以很好地解決這些任務(wù)。然而數(shù)據(jù)分析與結(jié)論獲取的工作仍然需要人類專家來完成。在未來,理解應(yīng)用程序領(lǐng)域的數(shù)據(jù)科學(xué)家仍然極其的重要。

這聽起來十分的鼓舞人心:數(shù)據(jù)科學(xué)家不會被大量替換,自動化機器學(xué)習(xí)是為了幫助他們更好的工作。這并不是說自動化機器學(xué)習(xí)已經(jīng)很***了。在我們提到自動機器學(xué)習(xí)是否還有進(jìn)步空間的時候,Auto-sklearn團(tuán)隊如是說:

盡管有一些方法可以用來調(diào)試機器學(xué)習(xí)管道的超參數(shù),但是目前為止很少有工作能發(fā)現(xiàn)新管道。Auto-sklearn以固定的順序使用一系列的預(yù)定義的預(yù)處理器與分類器。假如一個方法對于找到新管道很有效,那么這個方法將會很有用處。當(dāng)然,人們可以繼續(xù)這種思路,并嘗試自動尋找新的算法。最近,已經(jīng)有幾篇論文這樣做了。比如說Learning to learn by gradient descent by gradient descent.(雷鋒網(wǎng)此前也有提及這篇論文,它獲得了RedditML小組評選的“年度***論文標(biāo)題獎”)

自動化機器學(xué)習(xí)的發(fā)展方向在哪里?很難說清楚。毋庸置疑的是,遲早會出現(xiàn)。盡管不是所有的數(shù)據(jù)科學(xué)家都熟知自動化機器學(xué)習(xí),但是熟知自動化機器學(xué)習(xí)將會使你獲益匪淺。別忘了,假如你能夠在大多數(shù)人意識到之前就去學(xué)習(xí)自動化機器學(xué)習(xí),駕馭科技浪潮,你就不會因未來的不確定性而擔(dān)心你的工作了。你對于這些技術(shù)的駕馭利用將會幫助你在未來更好的工作。而我也再想不出比這個更好的理由來學(xué)習(xí)自動化機器學(xué)習(xí)了。

責(zé)任編輯:張燕妮 來源: 雷鋒網(wǎng)
相關(guān)推薦

2015-09-14 13:57:22

大數(shù)據(jù)科技革命

2014-07-03 09:38:19

2020-12-18 07:42:30

機器學(xué)習(xí)數(shù)據(jù)科學(xué)

2012-08-03 16:28:35

2018-10-18 09:00:00

機器學(xué)習(xí)機器學(xué)習(xí)算法數(shù)據(jù)科學(xué)家

2012-01-13 09:58:27

2018-03-12 12:44:59

數(shù)據(jù)科學(xué)家人工智能數(shù)據(jù)科學(xué)

2024-08-07 14:57:00

2021-12-07 09:56:12

機器人人工智能技術(shù)

2021-12-27 14:12:52

元宇宙VR平行時空

2014-11-27 14:47:23

互聯(lián)網(wǎng)企業(yè)玩具行業(yè)Google

2023-07-24 10:58:51

CIO自動化

2020-04-10 11:58:56

AI咨詢數(shù)據(jù)科學(xué)

2016-10-21 19:59:43

數(shù)據(jù)科學(xué)家數(shù)據(jù)科學(xué)

2023-11-09 23:51:32

2014-01-14 09:45:03

Android 5.0谷歌Android 4.4

2010-09-16 09:49:48

2023-05-23 09:34:16

科學(xué)家AI

2017-08-04 15:53:10

大數(shù)據(jù)真?zhèn)螖?shù)據(jù)科學(xué)家

2018-02-28 15:03:03

數(shù)據(jù)科學(xué)家數(shù)據(jù)分析職業(yè)
點贊
收藏

51CTO技術(shù)棧公眾號