2015-11-15 56 views
2

我想訓練迴歸模型(未分類)的輸出是連續號碼。如何培養在機器的連續輸出(迴歸)學習

比方說,我已經輸入變量X,其範圍-70 70之間 我有輸出變量,Y,這-5範圍爲5 X具有39周的特點和Y有16個功能以及它們每個都有50,000個示例。然後我想用python中的深層信念網絡(DBN)來訓練它們。

我使用哪個描述DBN與MNIST數據(分類)在theano主頁的腳本。 http://deeplearning.net/tutorial/DBN.html

你能告訴我具體是什麼,我在爲了改變行申請回歸問題我在上面解釋呢?

比如我必須要改變......

  1. S形函數來正切函數。 :我聽說tanh激活函數在迴歸中比sigmoid更好。對?
  2. 而不是使用負對數的可能性,我不得不使用最小平方誤差....?
  3. 通過zscore輸入和輸出數據規範化?

請讓我知道,如果你有任何想法解決這個問題... 大多數的機器學習的例子是基於MNIST手數分類。如果你向我推薦一些漂亮的博客或主頁,我可以得到有關回歸的有用信息,我會很高興。

謝謝提前。

+1

只是一般的想法 - **不要**開始學習機由深模型學習。這就像從量子力學開始學習物理。包括深入學習新手教程的每個人都不知道他們在做什麼(可能是新來的人)。總之 - 如果你問這樣的問題,那麼深層模型並不是一個好主意,從線性reggresion開始,然後使用非線性類型,如內核迴歸,knn迴歸,rf迴歸等等。否則,你會失敗,我保證。 – lejlot

回答

0
@hyungwon yang: 

我還沒有見過Python代碼,但我認爲下面將是有益的:

S形函數來正切函數:沒有必要,許多出版物使用非線性迴歸乙狀結腸。坦率地說,選擇是根據您擁有的數據類型來決定的。我對許多非線性模型使用sigmoid,並且它爲我工作。

最小均方誤差:您可以通過內置的MATLAB函數迴歸,而不是有這麼多的參數混淆它的執行此。

Normalisations:你可以做一個最小 - 最大規範化(參考由Charu阿加瓦爾數據挖掘),我在Matlab實現如下:

%inputData: Is your N samples * of first feature, you have to iteratively do %this process for each and every feature. 
function normOut = NormaliseAnyData (inputData) 
denominator = (max(inputData) - min (inputData)); 
numerator = (inputData - min(inputData)); 
normOut = numerator/denominator; 
end 

希望它能幫助。如果您還有其他問題,請告訴我。

+0

非常感謝。我知道我在那裏做什麼,但我想聽更多的啓發式評論。你給了我一些! –