怎樣提高深度學習的效果?


怎么讓深度學習模型獲得更好的效果?這個是一直有人問我的問題,或者可以這么問?

我怎么提高正確率?或者為什么我的深度神經網絡效果這么差?我經常這樣回復“”我給不出確切的答案,但是我能給你一些建議“”

下面我將列一些我認為會對提升學習效果有效的一些建議。我將這些想法mark到下面,這些想法不僅僅對深度學習有用,而且對機器學習同樣有效。

提升學習算法性能的四個建議

1 通過數據

2 通過算法

3 通過微調算法

4 采用集成ensembles方式,

一 通過數據:

 1)獲取更多的數據

 2)發明更多的數據

 3)重新調整你的數據

 4)變換你的數據

 5)特征選擇

獲取更多的數據

    模型的質量取決於你訓練數據的質量。你需要最好的數據去解決你的問題,同時你也需要最多的數據。

深度學習和其他非線性技術的機器學習技術在數據越多時,效果越好。深度學習尤其是這樣。

在圖中可以看出,當數據量超過一定階段,普通的機器學習算法到了精度極限了,但是深度學習不是。

發明更多的數據

     深度學習算法在數據量大時效果會更好,但是當我們沒辦法獲得大量的數據,我們可以發明更多的數據

   一、如果你的數據是數字向量,依據已有的向量進行隨機修改

   二、 如果你的數據是圖片,依據已有的圖像進行隨機修改 例如 尺度縮放、旋轉、平移

   上述方法被稱為數據增廣

    在caffe中的數據層,如下圖所示,中間那個鏡像和crop_size就對應圖像的兩種操作,是數據數據增廣的方式

    

   相關鏈接:

重新調整你的數據

    這是一個速贏的策略,這個策略在神經網絡中是這樣:

    將數據調整到激活函數的邊界范圍內,如果是sigmoid激活函數,將數據調整到0-1之間,如果是tanh激活函數,將數據調整到-1,1之間。這個策略適用於輸入數據X和輸出數據Y,例如在神經網絡輸出層采用sigmoid激活函數進行二值預測,就可以歸一化輸出y到二值數據(0或者1)。如果是采用的softmax方式,即最終輸出的結果代表的是該輸出的概率,你同樣也可以對中間層進行歸一化。

    三種歸一化的方式:一、歸一化到(0,1) ;二、歸一化到(-1,1);三、數據標准化,即平均值為0,方差為1

     在caffe中,對數據進行讀取時,一般需要去均值操作,也就是計算數據的平均值,可以采用tools工具中的compute_image_mean.cpp,實際上這個操作就對應這個策略!

變換你的數據

    除了上面的一些變換方法,還可以嘗試下面的做法:

    將數據可視化進行觀察,對每一列數據(單個特征數據)進行觀察:

    1 每一列的數據是否看着像偏態高斯,可以通過Box-Cox變換調整偏態

    2 每一列的數據是否看着像指數分布,可以嘗試log變換

    3 每一列的數據是否像被擊倒或者切掉,可以嘗試平方或者平方根

    4 一些特征是不是可以進行離散化或者二值化,用來突出某些特征

基於你的直覺,可以嘗試下面的做法:

     數據是不是可以通過投影的方式類似PCA進行預處理?

     能否把多個屬性聚集成一個?

     通過設置bool標志挖掘數據中潛在的信息

    多抽查幾種不同的變化數據的方式

   相關鏈接:

 特征選擇

    分為:

     過濾方式:過濾特征選擇方法運用統計方法將一個分值分配給每個特征.這些特征按照分數排序,然后決定是被保留還是從數據集中刪除.這個方法通常是單變量且獨立的考慮每個特征,或者考慮其依賴變量.一些過濾方法包括Chi squared test(方卡檢驗),information gain(信息增益)和correlation coefficient scores(相關系數得分).

     包裝方式:包裝方法考慮一族特征作為搜索問題,不同的組合被准備,檢驗並和其他組合比較. 我們使用一個預測模型評估特征的組合,然后根據模型精度給每個特征組合一個分數.

這個搜索過程可能有條不紊的例如best-fist搜索算法, 它可能隨機例如random hill-climbing 算法.或者它可能是啟發式的例如前向和后向傳遞增添和刪除特征的.一個例子就是遞歸特征消除算法.

     嵌入方式:嵌入式算法在模型創建的時候,學習哪些特征對於模型精度的貢獻最大.最典型的嵌入式特征選擇方法是正則化方法.正則化方法也被稱為引入附加約束到預測算法(例如回歸算法)的優化,它偏向於較低復雜度的模型.正則規划算法的例子是Lasso,Elastic Net和Ridge Regression.

 

二 通過算法:

http://machinelearningmastery.com/improve-deep-learning-performance/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM