熱線電話:13121318867

登錄
首頁精彩閱讀機器學習的道、法、術、勢、器
機器學習的道、法、術、勢、器
2017-05-13
收藏

機器學習的道、法、術、勢、器

“道、法、術、器”出于老子的《道德經》,后人又加了一個“勢”,并且也有了不同的排列。很多人習慣用“道、法、術、勢、器”的順序,原因很簡單:道以明向、法以立本、術以立策、勢以立人、器以成事。所謂道不易,法簡易,術變易。

下面我們就從道、法、術、勢、器這五個層面上看看究竟什么是機器學習。


1、道以明向


道,是放在最上層的東西,是戰略思想,是指引,是客觀存在的東西。說白了就是不管你愿意不愿意、知道不知道,它就在那里。雖然人們對客觀現象的認識不斷加強,但背后的本質從來不曾改變,這就是所謂的真理吧。所謂以不變應萬變,就是這個道理。


“道”解決的是什么是正確的事,“法、術、勢、器”解決的是如何將事情做正確。很多時候,判斷什么是正確的事最為困難。

舉個例子,機器學習工程師可以分成三個檔次:

初級:熟悉常用的機器學習模型和算法,針對不同的數據會選擇對應模型,并進行比較,即操作型;

中級:會改造已有的模型,甚至設計新的模型,并對新的模型進行最優化,即優化型;

高級:給出一個實際問題,可以恰當的從數學角度定義這個問題,正確的給出量化的目標函數,即目標型。


其中,目標型是最高境界,是從“道”的層面確定正確的事情。有了問題模型和目標函數,其他一切都是時間和成本的問題。大多數情況下,大家面對機器學習的問題,一般都是一通亂試,也不知道目標函數是什么,完全是沒有目的Ad Hoc方式,很難有好的結果。

對于機器學習來說,里面的道包含如下幾個方面:

正確的認識機器學習的定義;

正確的認識機器學習的范圍;

正確的認識機器學習的發展歷史與啟示;


(1)定義


機器學習這個詞是讓人疑惑的,首先它是英文名稱Machine Learning的直譯,在計算界Machine一般指計算機。這個名字使用了擬人的手法,說明了這門技術是讓機器“學習”的技術。但是計算機是死的,怎么可能像人類一樣“學習”呢?


傳統上如果我們想讓計算機工作,我們給它一串指令,然后它遵照這個指令一步步執行下去。有因有果,非常明確。但這樣的方式在機器學習中行不通。機器學習根本不接受你輸入的指令,相反,它接受你輸入的數據!也就是說,機器學習是一種讓計算機利用數據而不是指令來進行各種工作的方法。這聽起來非常不可思議,但結果上卻是非??尚械??!敖y計”思想將在你學習“機器學習”相關理念時無時無刻不伴隨,相關而不是因果的概念將是支撐機器學習能夠工作的核心概念。你會顛覆對你以前所有程序中建立的因果無處不在的根本理念。


從廣義上來說,機器學習是一種能夠賦予機器學習的能力以此讓它完成直接編程無法完成的功能的方法。但從實踐的意義上來說,機器學習是一種通過利用數據,訓練出模型,然后使用模型預測的一種方法。


(2)范圍


有了定義,再來看看機器學習的范圍。


實際上,機器學習跟模式識別,統計學習,數據挖掘,計算機視覺,語音識別,自然語言處理等領域有著很深的聯系。


從范圍上來說,機器學習跟模式識別,統計學習,數據挖掘是類似的,同時,機器學習與其他領域的處理技術的結合,形成了計算機視覺、語音識別、自然語言處理等交叉學科。因此,一般說數據挖掘時,可以等同于說機器學習。同時,我們平常所說的機器學習應用,應該是通用的,不僅僅局限在結構化數據,還有圖像,音頻等應用。


(3)歷史


回顧機器學習發展歷史的動機主要是為了警示我們注意那些本質不能做的事情,以避免重復歷史上已經發生過的錯誤。另外,提示我們關注那些前人研究中的某些動機,在當時,它們可能受到技術條件的限制而不可行,但是,在當前技術條件下,可能獲得新生。


實際上,圖靈在1950年關于圖靈測試的文章中,就已經提到了機器學習的可能性。20世紀50年代,已經開始有機器學習相關的研究工作,主要集中在基于神經網絡的連接主義學習方面。


在20世紀70年代,多種學習技術得到了初步發展,例如以決策理論為基礎的統計學習技術和強化學習技術等。20多年后紅極一時的統計學習理論的一些重要結果也是在這個時期取得的。在這一時期,基于邏輯或圖結構表示的符號學習技術也開始出現。20世紀80年代是機器學習成為一個獨立的學科領域并開始快速發展、各種機器學習技術百花齊放的時期。


20世紀90年代中期,統計學習粉墨登場并迅速獨占鰲頭。其實早在20世紀60~70年代就已經有統計學習方面的研究工作,統計學習理論在那個時期也已經打下了基礎,例如,早在1963年就提出了“支持向量”的概念,并隨后在1968年提出了VC維,在1974年提出了結構風險最小化原則等。但直到90年代中期,統計學習才開始成為機器學習的主流技術。在支持向量機被普遍接受后,支持向量機中用到的核(Kernel)技巧幾乎被人們用到了機器學習的每一個角落,“核方法”也逐漸成為機器學習的一種基本技巧。


現在,計算機界戲稱機器學習為“全能學科”,它無所不在。除了有其自身的學科體系外,機器學習還有兩個重要的輻射功能。一是為應用學科提供解決問題的方法與途徑。對于一個應用學科來說,機器學習的目的就是把一些難懂的數學翻譯成讓工程師能夠寫出程序的偽代碼。二是為一些傳統學科,比如統計、理論計算機科學、運籌優化等找到新的研究問題。因此,大多數世界著名大學的計算機學科把機器學習或人工智能列為核心方向,擴大機器學習領域的教師規模,而且至少要保持兩三個機器學習研究方向具有一流競爭力。


(4)啟示


機器學習的發展歷程告訴我們:發展一個學科需要一個務實的態度。時髦的概念和名字無疑對學科的普及有一定的推動作用,但學科的根本還是所研究的問題、方法、技術和支撐的基礎等,以及為社會產生的價值。


機器學習”是個很酷的名字,簡單地按照字面理解,它的目的是讓機器能像人一樣具有學習能力。但在其十年的黃金發展期,機器學習界并沒有過多地炒作“智能”或者“認知”,而是關注于引入統計學等來建立學科的理論基礎,面向數據分析與處理,以無監督學習和有監督學習為兩大主要的研究問題,提出和開發了一系列模型、方法和計算算法等,切實地解決了工業界所面臨的一些實際問題。近幾年,因為大數據的驅動和計算能力的極大提升,一批面向機器學習的底層架構先后被開發出來。神經網絡其實在20世紀80年代末或90年代初就被廣泛研究,但后來沉寂了。近幾年,基于深度學習神經網絡強勢崛起,給工業界帶來了深刻的變革和機遇。深度學習的成功不是源自腦科學或認知科學的進展,而是因為大數據的驅動和計算能力的極大提升。


2、法以立本


法是實現道的最根本的戰略、方法、指導方針、思路。具體來說就是規則、流程、步驟,是將“道”從理論層面落實到實踐層面的關鍵。


機器學習的流程與步驟可以歸納如下:

首先,我們需要在計算機中存儲歷史的數據;

接著,我們將這些數據通過機器學習算法進行處理,這個過程在機器學習中叫做“訓練”,處理的結果可以被我們用來對新的數據進行預測,這個結果一般稱之為“模型”;

最后,對新的數據進行預測。

“訓練”與“預測”是機器學習的兩個部分,“模型”則是過程的中間輸出結果,“訓練”產生“模型”,“模型”指導“預測”。


讓我們把機器學習的過程與人類對歷史經驗歸納的過程做個比對。

人類在成長、生活過程中積累了很多的歷史與經驗。人類定期地對這些經驗進行“歸納”,獲得了生活的“規律”。當人類遇到未知的問題或者需要對未來進行“推測”的時候,人類使用這些“規律”,對未知問題與未來進行“推測”,從而指導自己的生活和工作。


機器學習中的“訓練”與“預測”過程可以對應到人類的“歸納”和“推測”過程。通過這樣的對應,我們可以發現,機器學習的思想并不復雜,僅僅是對人類在生活中學習成長的一個模擬。由于機器學習不是基于編程形成的結果,因此它的處理過程不是因果的邏輯,而是通過歸納思想得出的相關性結論。


這也可以聯想到人類為什么要學習歷史,歷史實際上是人類過往經驗的總結。有句話說得很好,“歷史往往不一樣,但歷史總是驚人的相似”。通過學習歷史,我們從歷史中歸納出人生與國家的規律,從而指導我們的下一步工作,這是具有莫大價值的。當代一些人忽視了歷史的本來價值,而是把其作為一種宣揚功績的手段,這其實是對歷史真實價值的一種誤用。


在大數據時代,機器學習領域還有一個熱點是把系統與算法結合,設計大規模分布式的機器學習算法與系統,使得機器學習算法可以在多處理器和多機器的集群環境下作業,處理更大量級的數據。毫無疑問, AlphaGo是近年來機器學習、系統和高效搜索算法結合成功的典范,谷歌AlphaGo成功給機器學習的“法”帶來了新的啟示:

正確的選題。谷歌選擇了可以量化、規則明確的計算機圍棋領域,其主要負責人David Silver 和Aja Huang的博士論文均是計算機圍棋,有著超過10年的經驗。

恰當的方法與時機。在計算機性能大幅度提升的大背景下,谷歌通過訓練大規模深度學習網絡,結合高效的傳統蒙特卡洛搜索樹,成功地控制了圍棋的復雜度。

精密的工程實現。在數十名谷歌工程師的努力下,AlphaGo有了單機和分布式2個版本,針對時間限制,設計了快速落子和仔細斟酌的策略,對時間采取毫秒級別的估計。這些工程上的細節,無疑是決定成敗的關鍵之一。


谷歌AlphaGo的成功,告訴我們結合機器學習與傳統符號搜索方法可以解決人工智能里相對復雜的推理問題,把機器學習與高效的搜索方法的結合開辟了機器學習的新“法”。


3、術以立策


術是方式與技巧,是策略,是具體的方法。機器學習的術就是我們目前講的最多的內容。


總的來說,按照訓練的數據有無標簽,可以將機器學習算法分為監督學習算法和無監督學習算法,同時還有一類推薦算法較為特殊,既不屬于監督學習,也不屬于非監督學習,是單獨的一類。

監督學習算法:線性回歸,邏輯回歸,神經網絡,SVM

無監督學習算法:聚類算法,降維算法

特殊算法:推薦算法


下面簡單看看這些方法的內涵思想。


(1)回歸算法


在大部分機器學習課程中,回歸算法都是介紹的第一個算法。原因有兩個:回歸算法比較簡單,介紹它可以讓人平滑地從統計學遷移到機器學習中;回歸算法是后面若干強大算法的基石,如果不理解回歸算法,無法學習那些強大的算法?;貧w算法有兩個重要的子類:即線性回歸邏輯回歸。


線性回歸就是我們前面說過的房價求解問題。如何擬合出一條直線最佳匹配我所有的數據?一般使用“最小二乘法”來求解?!?a href='/map/zuixiaoercheng/' style='color:#000;font-size:inherit;'>最小二乘法”的思想是這樣的,假設我們擬合出的直線代表數據的真實值,而觀測到的數據代表擁有誤差的值。為了盡可能減小誤差的影響,需要求解一條直線使所有誤差的平方和最小。最小二乘法將最優問題轉化為求函數極值問題。函數極值在數學上我們一般會采用求導數為0的方法。但這種做法并不適合計算機,可能求解不出來,也可能計算量太大。


邏輯回歸是一種與線性回歸非常類似的算法,但是,從本質上講,線型回歸處理的問題類型與邏輯回歸不一致。線性回歸處理的是數值問題,也就是最后預測出的結果是數字,例如房價。而邏輯回歸屬于分類算法,也就是說,邏輯回歸預測結果是離散的分類,例如判斷這封郵件是否是垃圾郵件,以及用戶是否會點擊此廣告等等。


邏輯回歸算法劃出的分類線基本都是線性的,這意味著當兩類之間的界線不是線性時,邏輯回歸的表達能力就不足。下面的兩個算法是機器學習界最強大且重要的算法,都可以擬合出非線性的分類線。


(2)神經網絡


神經網絡(也稱之為人工神經網絡,ANN)算法是80年代機器學習界非常流行的算法,不過在90年代中途衰落?,F在,攜著“深度學習”之勢,神經網絡重裝歸來,重新成為最強大的機器學習算法之一。


神經網絡的誕生起源于對大腦工作機理的研究。早期生物界學者們使用神經網絡來模擬大腦。機器學習的學者們使用神經網絡進行機器學習的實驗,發現在視覺與語音的識別上效果都相當好。在BP算法(加速神經網絡訓練過程的數值算法)誕生以后,神經網絡的發展進入了一個熱潮。BP算法的發明人之一是機器學習大牛Geoffrey Hinton。神經網絡的學習機理具體說來就是分解與整合。


(3)SVM支持向量機


支持向量機算法是誕生于統計學習界,同時在機器學習界大放光彩的經典算法。支持向量機算法從某種意義上來說是邏輯回歸算法的強化:通過給予邏輯回歸算法更嚴格的優化條件,支持向量機算法可以獲得比邏輯回歸更好的分類界線。但是如果沒有某類函數技術,則支持向量機算法最多算是一種更好的線性分類技術。


但是,通過跟高斯“核”的結合,支持向量機可以表達出非常復雜的分類界線,從而達成很好的的分類效果?!昂恕笔聦嵣暇褪且环N特殊的函數,最典型的特征就是可以將低維的空間映射到高維的空間。


支持向量機是一種數學成分很濃的機器學習算法(相對的,神經網絡則有生物科學成分)。在算法的核心步驟中,有一步證明,即將數據從低維映射到高維不會帶來最后計算復雜性的提升。于是,通過支持向量機算法,既可以保持計算效率,又可以獲得非常好的分類效果。因此支持向量機在90年代后期一直占據著機器學習中最核心的地位,基本取代了神經網絡算法。直到現在神經網絡借著深度學習重新興起,兩者之間才又發生了微妙的平衡轉變。


(4)聚類算法


前面的算法中的一個顯著特征就是訓練數據中包含了標簽,訓練出的模型可以對其他未知數據預測標簽。在下面的算法中,訓練數據都是不含標簽的,而算法的目的則是通過訓練,推測出這些數據的標簽。這類算法有一個統稱,即無監督算法。無監督算法中最典型的代表就是聚類算法。


讓我們還是拿一個二維的數據來說,某一個數據包含兩個特征。我希望通過聚類算法,給他們中不同的種類打上標簽,我該怎么做呢?簡單來說,聚類算法就是計算種群中的距離,根據距離的遠近將數據劃分為多個族群。聚類算法中最典型的代表就是K-Means算法。


(5)降維算法


降維算法也是一種無監督學習算法,其主要特征是將數據從高維降低到低維層次。在這里,維度其實表示的是數據的特征量的大小,例如,房價包含房子的長、寬、面積與房間數量四個特征,也就是維度為4維的數據??梢钥闯鰜?,長與寬事實上與面積表示的信息重疊了,例如面積= 長× 寬。通過降維算法我們就可以去除冗余信息,將特征減少為面積與房間數量兩個特征,即從4維的數據壓縮到2維。于是我們將數據從高維降低到低維,不僅利于表示,同時在計算上也能帶來加速。


剛才說的降維過程中減少的維度屬于肉眼可視的層次,同時壓縮也不會帶來信息的損失(因為信息冗余了)。如果肉眼不可視,或者沒有冗余的特征,降維算法也能工作,不過這樣會帶來一些信息的損失。但是,降維算法可以從數學上證明,從高維壓縮到的低維中最大程度地保留了數據的信息。因此,使用降維算法仍然有很多的好處。


降維算法的主要作用是壓縮數據與提升機器學習其他算法的效率。通過降維算法,可以將具有幾千個特征的數據壓縮至若干個特征。另外,降維算法的另一個好處是數據的可視化,例如將5維的數據壓縮至2維,然后可以用二維平面來可視。降維算法的主要代表是PCA算法(主成分分析算法)。


(6)推薦算法


推薦算法是目前業界非?;鸬囊环N算法,在電商界,如亞馬遜,天貓,京東等得到了廣泛的運用。推薦算法的主要特征就是可以自動向用戶推薦他們最感興趣的東西,從而增加購買率,提升效益。推薦算法有兩個主要的類別:

一類是基于物品內容的推薦,是將與用戶購買的內容近似的物品推薦給用戶,這樣的前提是每個物品都得有若干個標簽,因此才可以找出與用戶購買物品類似的物品,這樣推薦的好處是關聯程度較大,但是由于每個物品都需要貼標簽,因此工作量較大。

另一類是基于用戶相似度的推薦,則是將與目標用戶興趣相同的其他用戶購買的東西推薦給目標用戶,例如小A歷史上買了物品B和C,經過算法分析,發現另一個與小A近似的用戶小D購買了物品E,于是將物品E推薦給小A。


兩類推薦都有各自的優缺點,在一般的電商應用中,一般是兩類混合使用。推薦算法中最有名的算法就是協同過濾算法。


(7)其他

除了以上算法之外,機器學習界還有其他的如高斯判別,樸素貝葉斯,決策樹等等算法。但是上面列的六個算法是使用最多,影響最廣,種類最全的典型。機器學習界的一個特色就是算法眾多,發展百花齊放。


4、勢以立人


勢是氣場,是權威,是當下所處的時間和空間位置的運動方向,是“道、法、術”得以施行的保障,可以理解為一種執行力。老子在《道德經》中沒有提到這個概念,可能他老人家沒有預測到當今社會的風云變幻。老子的思想強調順勢、無為,是樸素的辨證法,但在如今的大環境中,強調的思想是“逆天”,沒有機會就創造機會,因為我們要永遠站在變革的最前沿,所以“勢”就變得很重要,它可以讓事情變得主動,成為前進的動力。


人工智能是機器學習的父類。深度學習則是機器學習的子類。如果把三者的關系用圖來表明的話,則是下圖:

毫無疑問,人工智能是人類所能想象的科技界最突破性的發明了,某種意義上來說,人工智能就像游戲最終幻想的名字一樣,是人類對于科技界的最終夢想。從50年代提出人工智能的理念以后,科技界,產業界不斷在探索,研究。這段時間各種小說、電影都在以各種方式展現對于人工智能的想象。人類可以發明類似于人類的機器,這是多么偉大的一種理念!但事實上,自從50年代以后,人工智能的發展就磕磕碰碰,未有見到足夠震撼的科學技術的進步。


總結起來,人工智能的發展經歷了如下若干階段,從早期的邏輯推理,到中期的專家系統,這些科研進步確實使我們離機器的智能有點接近了,但還有一大段距離。直到機器學習誕生以后,人工智能界感覺終于找對了方向?;?a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機器學習的圖像識別和語音識別在某些垂直領域達到了跟人相媲美的程度。機器學習使人類第一次如此接近人工智能的夢想。


事實上,如果我們把人工智能相關的技術以及其他業界的技術做一個類比,就可以發現機器學習在人工智能中的重要地位不是沒有理由的。


而另一方面,機器學習近年來發展產生了一個新的方向,即“深度學習”。雖然深度學習這四字聽起來頗為高大上,但其理念卻非常簡單,就是傳統的神經網絡發展到了多隱藏層的情況。


自從90年代以后,神經網絡已經消寂了一段時間。但是BP算法的發明人Geoffrey Hinton一直沒有放棄對神經網絡的研究。由于神經網絡在隱藏層擴大到兩個以上,其訓練速度就會非常慢,因此實用性一直低于支持向量機。2006年,Geoffrey Hinton在科學雜志《Science》上發表了一篇文章,論證了兩個觀點:

多隱層的神經網絡具有優異的特征學習能力,學習得到的特征對數據有更本質的刻畫,從而有利于可視化或分類;

深度神經網絡在訓練上的難度,可以通過“逐層初始化”來有效克服。


通過這樣的發現,不僅解決了神經網絡在計算上的難度,同時也說明了深層神經網絡在學習上的優異性。從此,神經網絡重新成為了機器學習界中的主流強大學習技術。同時,具有多個隱藏層的神經網絡被稱為深度神經網絡,基于深度神經網絡的學習研究稱之為深度學習。


由于深度學習的重要性質,在各方面都取得極大的關注,按照時間軸排序,有以下四個標志性事件值得一說:

2012年6月,《紐約時報》披露了Google Brain項目,這個項目是由Andrew Ng和Map-Reduce發明人Jeff Dean共同主導,用16000個CPU Core的并行計算平臺訓練一種稱為“深層神經網絡”的機器學習模型,在語音識別和圖像識別等領域獲得了巨大的成功。Andrew Ng就是文章開始所介紹的機器學習的大牛。

2012年11月,微軟在中國天津的一次活動上公開演示了一個全自動的同聲傳譯系統,講演者用英文演講,后臺的計算機一氣呵成自動完成語音識別、英中機器翻譯,以及中文語音合成,效果非常流暢,其中支撐的關鍵技術是深度學習;

2013年1月,在百度的年會上,創始人兼CEO李彥宏高調宣布要成立百度研究院,其中第一個重點方向就是深度學習,并為此而成立深度學習研究院(IDL)。

2013年4月,《麻省理工學院技術評論》雜志將深度學習列為2013年十大突破性技術(Breakthrough Technology)之首。


深度學習屬于機器學習的子類?;?a href='/map/shenduxuexi/' style='color:#000;font-size:inherit;'>深度學習的發展極大的促進了機器學習的地位提高,更進一步地,推動了業界對機器學習父類人工智能夢想的再次重視。


5、器以成事


器是讓工作變得簡單的工具。工具的作用是提高效率,把復雜問題簡單化。就像工業時代的各種機器,極大的提高了人們的生產效率。今天,隨著人工智能的炙手可熱,機器學習本身就已經被作為一個大殺器而獲得了普遍的認識。


為什么要使用工具?因為機器學習工具使得應用機器學習更快,更簡單,更有趣。

更快:好工具可以自動化應用機器學習過程中的每一步。這意味著,從提出創意到得到結果的時間大大縮短。如果你從頭開始自己實現每一個功能,這花的時間要比選擇現有工具要長的多。

更簡單:你可以花時間來選擇合適的工具,而不是研究、實現技術來完成任務。如果你自己實現,你必須對每一個過程都十分精通。這需要研究,資深經驗來理解技術,以及高水平的工程技能來確保有效執行。

有趣:對于初學者得到良好結果的門檻低。你可以花費額外的時間來得到更好的結果,或者進行更多的項目實踐。如果不使用這些工具,你將會花費大部分時間來構建你自己的工具,而沒將時間集中在獲取結果上。


機器學習工具有許多。谷歌搜索到的結果就足以讓你頭暈目眩了。

一種有用的機器學習工具分類方式是將它們分成平臺和庫。平臺為你運行一個項目所需的全部功能,而庫只為你完成一個項目提供部分功能。這么區分并不完美,因為有些機器學習平臺同時也是庫,有些庫也提供了圖形化用戶界面。然而,這提供了很好的比較方式,從特定目的工具中區分具體使用情形。


(1)機器學習平臺


機器學習平臺提供了從頭到尾完成一個機器學習項目的功能。也就是,數據分析,數據準備,建模和算法評估及選擇。機器學習平臺的特征有:

它們提供了機器學習項目中每一個過程所需要的功能。

界面可以是圖形化的,也可以是命令行,平臺將所有的或部分界面結合起來。

它們提供功能的松耦合,你可以在特定項目中將各個部件結合起來。

它們是為通用目的用途和探索而量身定制的,而不是為了速度,可擴展性和準確性。


以下是一些機器學習平臺:

WEKA Machine Learning Workbench。

R Platform。

Python SciPy的子集(比如 Pandas和 scikit-learn)。


(2)機器學習


機器學習庫提供了完成一個機器學習項目部分模塊的功能。比如,一個庫可能提供了一系列建模算法。機器學習庫的特征有:

它們為一個機器學習項目中一個或多個步驟提供了特定的功能。

它們的接口通常是需要編程的應用程序編程接口。

它們為特定用例,問題類型或環境量身定制。


以下是一些機器學習庫:

Python中的 scikit-learn。

Java中的 JSAT。

.Net中的 Accord Framework。


另一種區分機器學習工具的方式是根據它們提供的界面。


(3)圖形化用戶界面


機器學習工具提供了圖形用戶界面,包括窗口,得分,點擊,專注于可視化。圖形化用戶界面的好處有:

允許掌握較少技術的用戶完成機器學習工作。

專注于處理過程,以及如何最大限度地利用機器學習技術。

用戶可以使用界面進行結構化處理。

更注重于信息的圖形化展示,比如可視化。


以下是一些有圖形化界面的機器學習工具:

KNIME

RapidMiner

Orange


(4)命令行界面


機器學習工具提供了命令行界面,包括命令行程序,命令行參數,注重于輸入和輸出。命令行用戶界面的好處有:

允許不是程序員的技術用戶完成機器學習項目。

提供了許多專門的程序或機器學習項目特定子任務的編程模型。

根據需要的輸入和將會得到的輸出分解機器學習任務。

通過記錄或腳本命令和命令行參數來促進有復驗性的結果。


以下是一些提供命令行界面的機器學習工具:

Waffles

WEKA Machine Learning Workbench


(5)應用程序編程接口


機器學習工具提供了應用程序編程接口,可以讓你自由決定在你的程序中使用什么元素以及如何使用。應用程序編程接口的好處有:

你可以將機器學習算法合并到自己的軟件項目當中。

你可以創建自己的機器學習工具。

你可以在機器學習項目中靈活使用自己的處理流程和自動操作。

你可以將自己的方法與庫提供的方法以及擴展提供的方法結合。


以下是一些帶有應用程序編程接口的機器學習工具:

面向Python的 Pylearn 2

面向Java的Deeplearning4j

面向C的 LIBSVM


比較機器學習工具最后一個方法是這個工具是本地工具還是遠程工具。本地工具是你下載并安裝的,在本地使用,而遠程工具運行在第三方服務器上。


(6)本地工具


本地工具是下載、安裝并運行在本地環境的。包括如下特點:

專為內存中數據和算法設計。

由運行配置和參數控制。

集成到你自己的系統,以滿足你的需求。


以下是一些本地工具:

面向C++的 ShogunLibrary

面向Go的 GoLearn


(7)遠程工具


遠程工具托管在服務器上,并且可以從本地環境調用。這些工具通常被稱為將機器學習作為服務(MLaaS)。其特點包括:

專為運行更大規模數據設計。

在多系統,多核心和共享內存上運行。

為適應大規模系統,所以服務提供的算法更少。

更簡單的接口,在運行配置和算法參數上提供較少的控制。

通過遠程過程調用集成到你本地環境中。


以下是一些遠程工具:

Google Prediction API

AWS Machine Learning

Microsoft Azure Machine Learning


當然,實際上還有很多很多非常著名以及不那么著名的例子,學無止境了。

6、總結


機器學習是目前業界最為火熱的一項技術,從網上的每一次淘寶的購買東西,到自動駕駛汽車技術,以及網絡攻擊抵御系統等等,都有機器學習的因子在內,同時機器學習也是最有可能使人類完成AI dream的一項技術,各種人工智能目前的應用,從聊天機器人,到計算機視覺技術的進步,都有機器學習努力的成分。在大數據和數據科學這個大背景下,大家最好都應該了解一些機器學習的相關知識與概念,因為這可以幫你更好的理解為你帶來莫大便利技術的背后原理,以及讓你更好的理解當代科技的進程。


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢