Svm

有哪些方法可用於調整圖內核 SVM 超參數?

  • September 11, 2015

我有一些數據存在於圖表上. 頂點屬於兩個類之一,並且我有興趣訓練 SVM 以區分這兩個類。一個合適的內核是擴散內核,在哪裡是拉普拉斯算子和是一個調整參數。

調整 SVM 需要選擇超參數,所以我必須調整傳統上,我們對這個問題使用交叉驗證,但這在這裡似乎不合適,因為省略了一個頂點從改變整個圖,甚至可能增加連接組件的數量!如果連接組件的數量發生變化,則某些頂點變得無法從其他頂點訪問,並且我們將面臨與開始時截然不同的一組數據。也就是說,我們不僅缺少刪除的頂點,但我們也缺少有關所有其他頂點的信息在與該頂點相鄰的圖中。

交叉驗證的基本概念是,我們希望估計模型在呈現新數據時的表現。在標準問題中,省略一些用於測試的數據不會改變剩餘訓練數據的值。但是,在圖形數據的情況下,尚不清楚模型在 CV 設置中看到“新”數據意味著什麼。省略頂點或邊有可能完全改變數據。例如,想像一個圖表這是一個-星圖,其中一個頂點有邊緣到頂點,所有其他頂點都有 1 條邊。省略中心頂點來構建訓練數據將完全斷開圖形,並且內核矩陣將是對角線!但是,當然,可以在提供的訓練數據上訓練模型. 不太清楚的是,然後測試結果模型的樣本外性能意味著什麼。是否重新計算內核矩陣,並提供預測?

或者,或者,是否從計算核矩陣開始整體並根據需要省略行和列以生成用於估計 SVM 的內核矩陣?這提出了它自己的概念問題,因為將中心節點包含在意味著每個頂點都可以從其他每個頂點到達,並且核矩陣是密集的。這種包含是否意味著跨折疊存在信息洩漏,並偏向交叉驗證輸出?一方面,關於省略的中心節點的數據仍然存在,因為省略的中心節點使圖連接起來。另一方面,我們對標籤一無所知 被省略的節點,所以我們可能會很舒服,我們從以這種方式執行 CV 得到合理無偏的樣本外估計。

如何為此類問題選擇超參數?CV 是不完美但可以接受的,還是我們需要專門的方法?在我的上下文中,超參數調整是否可行?

免責聲明:我對圖內核不是很熟悉,所以這個答案可能是基於錯誤的假設。我同意在計算內核矩陣時省略頂點是次優的。也就是說,我不確定交叉驗證是否一定有問題。你的學習環境是轉導還是歸納?

總的來說,我不相信計算給定的核矩陣基於所有數據(即訓練和測試)必然會造成信息洩漏。如果基於所有數據計算內核結果沒問題,那麼您可以在典型的 cv 設置中訓練模型,使用(預先計算的)完整內核矩陣的相關塊進行訓練/測試。

這種方法將使您能夠共同優化和,例如通過像Optunity這樣的庫,其中用於基於所有數據計算內核,並且專門用於在訓練折疊上訓練模型。

引用自:https://stats.stackexchange.com/questions/172126

comments powered by Disqus