[英]Support Vector Regression with High Dimensional Output using python's libsvm
我想問一下是否有人有想法或示例如何使用libsvm的python綁定在python中使用高維輸出(多個)進行支持向量回歸? 我查看了示例,他們都假設輸出是一維的。
libsvm可能不是執行此任務的最佳工具。
您描述的問題稱為多元回歸,通常對於回歸問題,SVM不一定是最佳選擇。
你可以試試像集團套索(http://www.di.ens.fr/~fbach/grouplasso/index.htm - matlab)或稀疏組套索(http://spams-devel.gforge.inria.fr/ - 似乎有一個python接口),它解決了不同類型正則化的多元回歸問題。
支持向量機作為數學框架是根據單個預測變量制定的。 因此,實現它們的大多數庫會將其反映為在其API中使用單個目標變量。
您可以做的是為數據中的每個目標維度訓練單個SVM模型。
在正面,您可以在群集中訓練它們,因為每個模型彼此獨立
在負面,子模型將不會共享任何內容,也不會從輸入數據結構中單獨發現的內容中獲益,並且可能需要大量內存來存儲模型,因為它們沒有共享的中間表示
可以在多任務學習設置中設計SVM的變體以學習一些適合於重用以預測多維目標的基於內核的基本中間表示,但是這在libsvm AFAIK中沒有實現。 如果您想了解更多信息,可以使用Google進行多任務學習SVM 。
或者,多層感知器(一種前饋神經網絡)可以自然地處理多維結果,因此應該更好地共享跨目標重用的數據的中間表示,特別是如果它們足夠深,第一層預先 - 使用自動編碼器目標函數以無監督的方式訓練。
您可能需要查看http://deeplearning.net/tutorial/,以便對各種神經網絡體系結構以及實用工具和示例進行詳細介紹,以便有效地實現它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.