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

怎麼讓深度學習模型得到更好的效果?這個是一直有人問個人問題,或者能夠這麼問?html

我怎麼提升正確率?或者爲何個人深度神經網絡效果這麼差?我常常這樣回覆「」我給不出確切的答案,可是我能給你一些建議「」python

下面我將列一些我認爲會對提高學習效果有效的一些建議。我將這些想法mark到下面,這些想法不只僅對深度學習有用,並且對機器學習一樣有效。算法

提高學習算法性能的四個建議網絡

1 經過數據dom

2 經過算法機器學習

3 經過微調算法函數

4 採用集成ensembles方式,工具

一 經過數據:性能

 1)獲取更多的數據學習

 2)發明更多的數據

 3)從新調整你的數據

 4)變換你的數據

 5)特徵選擇

獲取更多的數據

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

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

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

發明更多的數據

     深度學習算法在數據量大時效果會更好,可是當咱們沒辦法得到大量的數據,咱們能夠發明更多的數據

   1、若是你的數據是數字向量,依據已有的向量進行隨機修改

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

   上述方法被稱爲數據增廣

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

    

   相關連接:

從新調整你的數據

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

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

    三種歸一化的方式:1、歸一化到(0,1) ;2、歸一化到(-1,1);3、數據標準化,即平均值爲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/

相關文章
相關標籤/搜索