0

據說不同的算法有不同的參數。我真的不認爲這是真的,比如說如果它是樹決策算法和樸素貝葉斯算法,那麼每個參數是什麼?有人能給我一個例子..分類器算法的參數優化

如果是這樣的話,那麼對於將要使用決策樹算法運行的數據做5倍交叉驗證與貝葉斯是不同的嗎?

另外爲了參數優化,我會做5倍交叉驗證。有沒有辦法自動做到這一點,以確定使用weka參數的設定值鍵?

回答

1

由於您使用的是Weka,您可以通過打開Explorer中的數據集,選擇算法,然後單擊算法框,查看每個算法的參數。因此,例如Naive Bayes分類器具有影響連續數據處理方式的參數(離散化或使用內核估計器)

+0

所以如果我要在weka中編寫一個5-fold交叉驗證代碼來進行參數優化......我需要爲每個算法編寫一個驗證代碼?我怎樣才能做到這一點 – aherlambang 2011-02-24 18:01:32

+0

是的,每個算法都有自己的元參數,你需要分別優化它們。你確定你需要交叉驗證嗎? Weka中的默認參數通常相當不錯 – 2011-02-24 20:23:12

+0

是的,我需要進行交叉驗證以找到最佳置信度......什麼是最簡單的方法? – aherlambang 2011-02-28 23:59:44

0

決策算法的參數可能會隨着時間的推移而發生變化,當然還有算法之間的差異。

比方說,你有一個人工智能決策樹來確定戰場上的移動士兵。你可能有一個防守算法,它會尋求一個最大化自己生命的決定。你可能有一個積極的算法,它會對其他士兵尋求最大的傷害。你可能有拆除算法,尋求結構損壞的牆壁。其中每個參數都有不同的參數來決定做出哪個決定。

而決策參數可能隨着仿真的進行而改變。例如,攻擊性算法可以以2:1的方式權衡對損害所做的損害。假設AI願意在未來看100個模擬週期來做出決定。它可能會發現,即使它正在權衡2:1,它做出的決策模擬與實際發生的事件並不匹配。如果計算它會造成100點傷害,但是造成200點傷害,但實際上造成了150點傷害,在它幾乎沒有造成70點傷害之前殺死它(假設它的設計目的)可以考慮到這一點。同樣,它可能會發現,當它選擇在某些條件下重新定位時,它可以避免在蜱T + 10期間受到傷害,獲得一個有利位置,並且在蜱T + 40到T + 80期間會比正常情況下造成更多傷害。這將導致它考慮比以前更安全的情況。

+0

因此,如果我要實現5倍交叉驗證,那麼每個算法都會有所不同?你可以把它放入決策樹和貝葉斯算法嗎? – aherlambang 2011-02-24 05:32:48

+0

是的,每個算法將有不同的參數。您當然可以應用貝葉斯原理來改變中間模擬中的參數,就像我在最後一段中所描述的那樣。 – corsiKa 2011-02-24 05:39:17