(一)編碼器
自編碼:一種神經(jīng)網(wǎng)絡(luò)的形式
自編碼就是把信息壓縮再把信息解壓肩狂,完成這種形式的神經(jīng)網(wǎng)絡(luò)。
例如捞附,圖片經(jīng)過壓縮,再解壓的這一道工序. 當壓縮的時候, 原有的圖片質(zhì)量被縮減, 解壓時用信息量小卻包含了所有關(guān)鍵信息的文件恢復(fù)出原本的圖片.?
當神經(jīng)網(wǎng)絡(luò)要接受大量的輸入信息纳寂,我們就可以使用這種神經(jīng)網(wǎng)絡(luò)形式衫哥。我們先進行壓縮汛蝙,提取最具代表性的信息烈涮,縮減輸入信息量朴肺。這樣再把壓縮過的信息放進神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)窖剑,這樣學(xué)習(xí)就更加輕松了坚洽。所以, 自編碼就能在這時發(fā)揮作用. 通過將原數(shù)據(jù)白色的X 壓縮, 解壓 成黑色的X, 然后通過對比黑白 X ,求出預(yù)測誤差, 進行反向傳遞, 逐步提升自編碼的準確性. 訓(xùn)練好的自編碼中間這一部分就是能總結(jié)原數(shù)據(jù)的精髓. 也就是說,自編碼的作用是壓縮數(shù)據(jù)西土,提取原數(shù)據(jù)的精髓讶舰。
(1)編碼器
到了真正使用自編碼的時候. 通常只會用到自編碼前半部分.這一部分也被稱作encoder 編碼器。編碼器能得到原數(shù)據(jù)的精髓, 然后我們只需要再創(chuàng)建一個小的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)這個精髓的數(shù)據(jù),不僅減少了神經(jīng)網(wǎng)絡(luò)的負擔, 而且同樣能達到很好的效果.
通過自編碼整理出來的數(shù)據(jù), 他能從原數(shù)據(jù)中總結(jié)出每種類型數(shù)據(jù)的特征需了,如果把這些特征類型都放在一張二維的圖片上, 每種類型都已經(jīng)被很好的用原數(shù)據(jù)的精髓區(qū)分開來跳昼,?自編碼 可以像 PCA 一樣 給特征屬性降維.
(2)解碼器
簡單來說,解碼器就是把精髓信息解壓成原始信息肋乍。
(二)生成對抗網(wǎng)絡(luò)(GAN)
GAN, 又稱生成對抗網(wǎng)絡(luò), 也是 Generative Adversarial Nets 的簡稱.
卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)都是需要提供數(shù)據(jù)的鹅颊,然后得到自己想要的結(jié)果。像圖片識別墓造,語音識別堪伍。
而GAN是通過一些隨機數(shù)字生成一些有意義的東西。
Generator 會根據(jù)隨機數(shù)來生成有意義的數(shù)據(jù) , Discriminator 會學(xué)習(xí)如何判斷哪些是真實數(shù)據(jù) , 哪些是生成數(shù)據(jù), 然后將學(xué)習(xí)的經(jīng)驗反向傳遞給 Generator, 讓 Generator 能根據(jù)隨機數(shù)生成更像真實數(shù)據(jù)的數(shù)據(jù)觅闽。
也就是說帝雇,機器在創(chuàng)作有意義事物時,會把事物穿給鑒別部分進行鑒別蛉拙,但是操作者要對鑒別機器進行管理尸闸,告訴鑒別機器哪個是有意義的事物。鑒別機器通過不斷學(xué)習(xí)孕锄,終于會鑒別有意義的事物吮廉,并且會把學(xué)習(xí)經(jīng)驗反饋給創(chuàng)作機器,讓創(chuàng)作機器生成更多的有意義的
(三)如何檢測神經(jīng)網(wǎng)絡(luò)
(1)在檢驗神經(jīng)網(wǎng)絡(luò)誤差時畸肆,我們把數(shù)據(jù)分成70%的訓(xùn)練數(shù)據(jù)和30%的測試數(shù)據(jù)宦芦,對神經(jīng)網(wǎng)絡(luò)的評價一般基于測試數(shù)據(jù)
(2)關(guān)于回歸問題,, 我們可以引用 R2 分數(shù)在測量回歸問題的精度 . R2給出的最大精度也是100%, 所以分類和回歸就都有的統(tǒng)一的精度標準. 除了這些評分標準, 我們還有很多其他的標準, 比如 F1 分數(shù) , 用于測量不均衡數(shù)據(jù)的精度.
(3)我們的神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時表現(xiàn)非常好恼除,但是測試時發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)的誤差又十分大,我們把這種成做為過擬合踪旷。在機器學(xué)習(xí)中, 解決過擬合也有很多方法 , 比如 l1, l2 正規(guī)化, dropout 方法.
(4)神經(jīng)網(wǎng)絡(luò)也有很多參數(shù), 需要調(diào)參時,?交叉驗證 就是最好的途徑了. 交叉驗證不僅僅可以用于神經(jīng)網(wǎng)絡(luò)的調(diào)參, 還能用于其他機器學(xué)習(xí)方法的調(diào)參. 同樣是選擇你想觀看的誤差值或者是精確度豁辉。
【參考文獻】https://mofanpy.com/tutorials/machine-learning/ML-intro/Evaluate-NN/