常用的機器學習演算法比較?
1.演算法性能比較
JMLR 2014 10月刊有一篇神文:Do we Need Hundreds of Classifiers to Solve Real World Classification Problems? 測試了179種分類模型在UCI所有的121個數據上的性能,發現Random Forests 和 SVM (高斯核,用LibSVM版本)性能最好。Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?
這個東西是前段時間在 @劉知遠微博上看到的Sina Visitor System,JMLR是機器學習領域的頂級期刊。
2.演算法的review
這篇東西對一些監督學習演算法做了review.
https://s3-us-west-2.amazonaws.com/mlsurveys/54.pdf
文末有張表格。比較了各種演算法的性質。
3.演算法選擇
除此之外,給你貼張圖,供你選擇機器學習演算法用。
可參考:機器學習演算法比較
這個問題取決於使用的data的性質,我這裡假設你有足夠的數據量&>10k.
LR: 給定數據集的feature是1或者0的binary values,其實logistic regression足夠用了。 LR還可以測算數據中屬於某個class的概率。但是Linear的LR model其實就是在高緯空間中畫了一條線。
SVM: 所以碰到linearly不能seperate的classification problem, 可以嘗試用SVM解決。其實Linear kernal在很多現實情況中足夠用了.在大數據的前提下,你畫直線跟畫曲線沒有什麼太大的區別。
Random Forest:這是個神器,基本上可以解決所有的classification問題,但是,train一個不那麼容易overfit的模型對數據量要求很大。
k-NN:這個在大數據時代很不實用,耗時太久,結果不一定更好。但是好處是基本不存在overfitting的問題。
轉一篇 用少量樣本建模的方法。
這種方法背後是已經建立起某些模型了。
研究人員採用了貝葉斯程序學習(BPL,BayesianProgram Learning)框架進行研究。從本質上將,軟體可使用虛擬筆畫針對每個字母建立唯一的程序,然後使用概率變成技術對程序和相應的字母進行匹配,或為陌生的字母建立新程序。
該軟體並非模仿兒童習得閱讀和寫字能力的方式,而是已經有閱讀和寫字能力的成人採用的識別和再現新文字的方式。
特南鮑姆說:「概率編程的關鍵點(有別於大部分深度學習軟體)在於它是從描述各種因果過程的程序入手。」「我們努力習得的不是特徵書寫或特徵模式,而是產生那些字母的程序」。
AI領域年度重磅 - 麻省理工科技評論 - 知乎專欄
作者:趙安琪
可以參考馬克威演算法交易平台
推薦閱讀:
※不同激活函數(activation function)的神經網路的表達能力是否一致?
※實驗室原型到產品,距離、差距有多遠?
※基於深度學習的自然語言處理在 2016 年有哪些值得期待的發展?
※如何評價Yann LeCun 說的「要研究機器學習,本科應盡量多學物理和數學課」?
※如何評價 ICLR 2017 中關於 Rethinking Generalization 的那篇文章?
TAG:機器學習 |