機器學習算法那么多,一個問題的解決往往可能有好多算法的選擇。
這些算法有什么特點呢?特定的場景需要選擇哪一算法呢?
我們為大家翻譯了Quora上大牛們最喜歡的機器學習算法,一起欣賞。
Carlos Guestrin,亞馬遜計算機科學機器學習教授,Dato公司ceo及創始人 (Dato原名GraphLab,大數據分析云服務平臺)
我并沒有最喜歡的機器學習算法,但有一些比較青睞的,比如:
最簡潔的算法:感知器算法(Perceptron)。這種算法是Rosenblatt和他的同事們在20世紀50年代創造的。這個算法非常簡單,但它是現在一些最成功的分類器的基礎,包括支持SVM和邏輯回歸,它們都使用了隨機梯度下降法。感知器算法的收斂性證明是我在ML中見過的最優雅的數學過程之一。
最有用的算法: Boosting,特別是提升決策樹。這種方法比較直觀,可以結合許多簡單模型來構建高精度機器學習模型。Boosting是機器學習中最具實踐性的方法,在工業中得到了廣泛的引用,可以用它處理相當廣泛的數據類型,在數據規模上也沒有太多限制。在實際過程中的提高樹的可伸縮性應用上,我建議考慮XGBoost。Boosting的證明過程也是非常優雅的。
卷土重來的算法:卷積神經網絡深度學習。這種神經網絡算法在20世紀80年代早期開始流行。從90年代后期到2000年代后期,大家對這種算法的興趣逐漸減弱,但在過去的5年里,這種算法出人意料的卷土重來。特別是,卷積神經網絡建立了深度學習模型的核心,在計算機視覺和語音識別方面有巨大影響力。
最優美的算法:動態規劃(Dynamic programming)(比如維特比, forward-backward, 變量消除以及belief propagation算法)。
在計算機科學中動態規劃是最優雅的一種算法,是通過搜索一個指數型大的空間來找到可選的解決方案。這種方法在機器學習中已經得到了各種應用,特別是圖形模型,如隱馬爾可夫模型、貝葉斯網絡和馬爾可夫網絡。
無與倫比的基準:鄰近算法。當我們想顯示我們的曲線比別人好時,一個辦法就是引入一個基準來證明自己的方法更加準確。鄰近算法實現起來非常簡單。我們總是覺得自己的算法可以輕易的超過鄰近算法,但實際上很難!如果我們有足夠的數據,鄰近算法非常有效果,在實踐中也是非常有用的。
Fran?ois Chollet,谷歌深度學習研究專家,Keras作者
矩陣分解——一個簡單而美麗的降維方法,而降維是認知的本質。
矩陣分解在推薦系統得到了很大應用。另一個應用是分解特征的互信息對的矩陣,或更為常見的逐點互信息。我從2010年開始處理視頻數據的時候就開始用了。可用于特征提取、計算單詞嵌入、計算標簽嵌入(我最近的論文的主題就是這個),等等。
在卷積中,矩陣分解是圖像、視頻的無監督特征的優秀的提取器。但有個問題,它從根本上來說是比較淺的算法。一旦監督標簽可用,深度神經網絡將很快超越它。
Yann LeCun,Facebook人工智能研究院主管,紐約大學教授
Backprop,反向傳播算法。
Ian Goodfellow,谷歌大腦高級研究員
我喜歡dropout,在一個簡單模型中構建一個指數型的大集成是非常優雅的。在近似集成預測結果時,權重除以2的技巧效果很好。我不太理解在深度非線性模型中其效果如此好的理論原因,但它的效果真的很好。
Claudia Perlich,Dstillery首席科學家,紐約大學客座教授
毫無疑問,我最喜歡邏輯回歸,包括隨機梯度下降、特征散列以及懲罰。
在深度學習如此火爆的時代,我的這個回答肯定讓人費解,來告訴你們原因:
1995年到1998年,我使用神經網絡;1998年到2002年,我一般使用基于方法的樹;從2002年以后,就開始慢慢使用邏輯回歸了,還包括線性回歸、分量回歸、泊松回歸等。2003年,我在Machine Learning上發表了一篇文章,使用 35個數據集(在那時這樣的數據量還是比較大的)上,對比基于方法的樹、基于邏輯回歸分別得到的結果。
簡要結論——如果信號噪聲比較高,那么決策樹效果更好。但如果有非常雜亂的問題,最好的模型的AUC小于0.8,那么邏輯回歸的效果總是比決策樹好。最終結果在意料之中,如果信號太弱,高方差模型就會失效。
所以這個試驗說明了什么?我需要處理的問題類型是比較雜亂的,并且可預測性低。一般都是處于隨機確定性(象棋??)的條件下,像所謂的股票市場。根據數據不同,不同問題的可預測性也不同。這已經不簡單是算法問題,而是對世界的概念表述。
我感興趣的大多數問題非常類似于股市的某一個極端。深度學習在另一端效果非常好——比如判斷圖片中是否是一只貓。在不確定的問題中,偏差權衡仍然經常結束了更多的偏差,也就是,你希望得到一個簡單的、非常受限的模型。這里就用到邏輯回歸了。我發現,添加復雜特征來加強簡單線性模型,比限制一個強大的高方差模型更容易。而每一次我贏過的數據挖掘比賽,我都使用了線性模型。
除了性能比較好,線性模型還比較可靠、需要的控制更少,不過還要用隨機梯度下降法和懲罰。這些是很重要的,因為在工業上,我們根本不可能花3個月的時間來建立一個完美的模型。
最后,在線性模型上,我可以更好的理解一切如何運行。
Alex Smola,卡內基梅隆大學教授,1-Page首席科學家
可能大家都最喜歡感知器算法,由它發展出其他很多重要的算法,比如:
核函數方法(只是轉換預處理)
深度網絡(只是增加了更多的層)
隨機梯度下降法(只改變目標函數)
學習理論(保證了更新)
感知器算法如下:
假設一個線性函數f(x)=?w,x?+b,我們要估計向量w和常數b,當得到分類1時,f為正數,得到分類?1時,f為負數。然后我們可以做如下步驟:
初始化w和b為零(或其他可能更好的值);
繼續遍歷(x,y),直到沒有錯誤;
如果 yf(x)<0,那么更新 w+=yx,b+=y。
該算法是收斂的,所花時間長短取決于問題有多難,從技術上來講就是將正數和負數集合分開的困難程度。但是解決所有的錯誤更重要。
Xavier Amatriain,前ML研究人員,目前在Quora帶領工程師
我喜歡簡單而靈活的算法。如果一定要選一個,我最喜歡集成(Ensemble)算法,我個人認為它是“大師級別”。無論我們從哪個算法開始,總可以用集成算法來提高它。集成算法獲得了Netflix獎,經常表現優異,也相對容易理解、優化和檢查。
但如果要選一個“超級算法”,我選另一個——邏輯回歸。邏輯回歸很簡單,但很有效并且有彈性,可以用在很多地方,包括分類、排序。
Thorsten Joachims,康奈爾大學教授,主要研究人類行為的機器學習
我目前使用的學習算法并不是我最喜歡的,因為它們都有一個缺陷。這些優異又重要的機器學習算法中,都有個巨大的帕累托邊界。
事實上,基本的機器學習理論告訴我們,沒有一個單獨的機器學習算法可以很好的解決所有問題。如果訓練樣本相對比較少,又有非常高維的稀疏數據(例如按主題分類的文本),可以使用一個正規化的線性模型,比如SVM或邏輯回歸。但如果有大量的訓練樣本與低維的稠密數據(如語音識別、視覺),可以使用深度網絡。
Ricardo Vladimiro,Miniclip 游戲分析和數據科學負責人
注:Miniclip,瑞士在線游戲公司,2015年被騰訊控股。
隨機森林。學習隨機森林對我來說是個非常享受的過程。最后的總體效果也很有意義。我覺得決策樹實在是很可愛。對特征進行Bootstrap經常會讓我驚嘆。這真的很神奇。我覺得我對于隨機森林已經有感情了,因為我在如此短短的時間內學到了很多東西。
Ps:我知道我對決策樹的看法有點極端。
-
算法
+關注
關注
23文章
4626瀏覽量
93161 -
計算機
+關注
關注
19文章
7529瀏覽量
88408 -
機器學習
+關注
關注
66文章
8435瀏覽量
132885
原文標題:Quora上的大牛們最喜歡哪種機器學習算法?
文章出處:【微信號:BigDataDigest,微信公眾號:大數據文摘】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論