2013-01-05 34 views
6

對於給定問題,比如多類別分類,您如何找到最優學習規則?爲ANN找到最佳學習規則

我正在考慮使用遺傳算法,但我知道有圍繞性能的問題。我正在尋找真實世界的例子,你沒有使用教科書的學習規則,以及你如何找到這些學習規則。

回答

9

不錯的問題BTW

分類算法可以使用多種特性等分類:

  1. 什麼是算法強烈希望(或者說是最適合這個算法是什麼類型的數據)。
  2. 培訓開銷。 (是否需要很長時間才能接受培訓)
  3. 何時有效。 (大數據 - 中等數據 - 少量數據)。
  4. 它可以提供的分析的複雜性。

因此,對於您的問題分類多個類別我會用在線Logistic迴歸(FROM SGD),因爲它是完美的有小到中數據的大小(小於數以千萬計的訓練例子)和它真的很快。

又如:

讓我們說,你有大量的文本數據進行分類。那麼樸素貝葉斯是你的寶貝。因爲它強烈偏好文本分析。即使這SVMSGD更快,並且我經歷更容易培訓。但是這些規則「SVM和SGD」可以在數據大小被視爲中等或小而不大時應用。

一般來說任何數據挖掘的人會問他自己四個afomentioned點當他想要啓動任何ML或簡單開採項目。

之後,您必須測量其AUC,或任何相關的,看看你做了什麼。因爲你可能在一個項目中使用的不止是一個分類器。或者有時當你認爲你已經找到了完美的分類器時,使用某些測量技術的結果似乎並不好。所以你會開始再次檢查你的問題,找出你出錯的地方。

希望我幫忙。

5

當您向網絡輸入一個向量x時,網絡將根據所有權重給出一個輸出(向量w)。輸出和真實答案之間會有錯誤。平均錯誤(e)是w的函數,比如說e = F(w)。假設你有1層二維網絡,那麼F圖像可能是這樣的:

enter image description here

當我們談論的培訓,我們實際上是在談論尋找w這使得最小e 。換句話說,我們正在搜索一個函數的最小值。 要訓練的是搜索

所以,你的問題是如何選擇搜索的方法。我的建議是:這取決於F(w)的外觀如何看起來像。越大越好,應該使用更隨機化的方法,因爲基於梯度下降的簡單方法將有更大的機會引導您陷入局部最小值 - 因此您失去了找到全局最小值的機會。另一方面,如果F(w)的表面看起來像一個大坑,那麼忘記遺傳算法。在這種情況下,簡單的後向傳播或基於漸變下降的任何東西都是非常好的。

您可能會問,我怎麼知道表面看起來像?這是一種經驗技巧。或者您可能想要隨機抽樣一些w,並計算F(w)以獲得表面的直觀視圖。