tensorflow中的正則化及數據增強


正則化:

一般可以通過減少特征或者懲罰不重要特征的權重來緩解過擬合,但是我們通常不知道該懲罰那些特征的權重,而正則化就是幫助我們懲罰特征權重的,即特征的權重也會成為模型的損失函數一部分。可以理解為, 為了使用某個特征,我們需要付出loss的代價(loss為給權重weight加的一個loss,正則化),除非這個特征非常有效,否賊就會被loss上的增加覆蓋效果。這樣我們就能篩選出最有效的特征,減少特征權重防止過擬合。

一般來說,L1正則會制造稀疏的特征,大部分無用特征的權重會被至為0,

L2正則會讓特征的權重不過大,使得特征的權重比較平均。       tensorflow.nn.l2_loss(weight) 就是計算weight的L2 loss。

數據增強:

tf.image.random_flip_left_right(): 照片的隨機水平翻轉        //這里沒寫參數列表,下同

tf.random_crop():從照片中隨機剪切一塊照片

tf.image.random_brightness():設置隨機的亮度

tf.image.random_contrast():設置隨機的對比度

tf.image.per_image_whitening():對數據進行標准化(對數據減去均值,除去方差,保證數據0平均, 方差為1)


免責聲明!

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



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