我需要在大量訓練樣本上訓練一個迴歸模型,可能包含任意特徵。我應該考慮什麼樣的 學習算法?爲什麼?我應該考慮哪些學習算法來訓練對數線性迴歸模型?
問題的快速摘要:
- 約500萬個訓練例子
- 在2-4萬元,每年的速度增加訓練例子
- 訓練實例當前包含每10個功能
- 大約400k的人口特徵(出自更大的總特徵空間)
- 隨時間增加的附加功能
- 再培訓或調整模型(至少)每天把新實例
- 優化標準:最小平方誤差百分比
- 輸出:單實值的數
我有一些經驗的培訓對數線性模型在類似大小的分類問題上(使用SVM,Averaged和Voted Perceptrons等)添加任意特徵的能力很重要,但在這種情況下,訓練時間也很有價值。例如,到目前爲止,我對SVMLight的一個實驗花了幾個星期的時間來聚合這些數據的一個子集。我們可以跨多核機器或(可能)集羣進行並行處理,但是我們需要在幾分鐘內對模型進行訓練。在線培訓會更好。
我成功(並迅速)訓練了一個平均感知器模型。但是,據我所知,AP通常不適用於迴歸。美聯社是否爲迴歸模型提供任何收斂保證?有沒有其他正式的理由不適用?或者是我的要求合理匹配?
我應該研究哪些其他選項? SVM可能會提供更高的準確性,但二次訓練時間不可接受。如果線性時間SVM算法是可訪問的,那可以很好地工作。
潛在的長處:
- 在線培訓
- 開放源代碼實現提供(最好在Java中)。如有必要,我們可以推出我們自己的實現,但如果可能的話,我會盡量避免。
感謝您的輸入。
對於分類,我已經在隨機梯度下降SVM(http://leon.bottou.org/projects/sgd#)方面取得了很大的成功 - 您可能需要考慮使其適應迴歸。 – etarion 2012-04-25 00:56:18