过拟合解决方法python_《python深度学习》笔记---4.4、过拟合与欠拟合(解决过拟合常见方法)...
《python深度學(xué)習(xí)》筆記---4.4、過(guò)擬合與欠擬合(解決過(guò)擬合常見(jiàn)方法)
一、總結(jié)
一句話總結(jié):
減小網(wǎng)絡(luò)大小
添加權(quán)重正則化
添加 dropout 正則化
1、機(jī)器學(xué)習(xí)的根本問(wèn)題?
優(yōu)化和泛化之間的對(duì)立:機(jī)器學(xué)習(xí)的根本問(wèn)題是優(yōu)化和泛化之間的對(duì)立。
2、機(jī)器學(xué)習(xí)的根本問(wèn)題是優(yōu)化和泛化之間的對(duì)立:優(yōu)化和泛化分別指什么?
訓(xùn)練數(shù)據(jù)最佳性能:優(yōu)化(optimization)是指調(diào)節(jié)模型以在訓(xùn) 練數(shù)據(jù)上得到最佳性能(即機(jī)器學(xué)習(xí)中的學(xué)習(xí))
測(cè)試數(shù)據(jù)性能好壞:泛化(generalization)是指訓(xùn)練好的模型在 前所未見(jiàn)的數(shù)據(jù)上的性能好壞。
3、訓(xùn)練開(kāi)始時(shí),優(yōu)化和泛化是相關(guān)的?
訓(xùn)練和測(cè)試數(shù)據(jù)損失都小:訓(xùn)練數(shù)據(jù)上的損失越小,測(cè)試數(shù)據(jù)上的損失也越小。 這時(shí)的模型是欠擬合(underfit)的,即仍有改進(jìn)的空間,網(wǎng)絡(luò)還沒(méi)有對(duì)訓(xùn)練數(shù)據(jù)中所有相關(guān)模式建模。
4、解決過(guò)擬合的最好方法?
獲取更多數(shù)據(jù):為了防止模型從訓(xùn)練數(shù)據(jù)中學(xué)到錯(cuò)誤或無(wú)關(guān)緊要的模式,最優(yōu)解決方法是獲取更多的訓(xùn)練 數(shù)據(jù)。模型的訓(xùn)練數(shù)據(jù)越多,泛化能力自然也越好。
【調(diào)節(jié)模型允許存儲(chǔ)的信息量、對(duì)模型允許存儲(chǔ)的信息加以約束】:如果無(wú)法獲取更多數(shù)據(jù),次優(yōu)解決方法是 調(diào)節(jié)模型允許存儲(chǔ)的信息量,或?qū)δP驮试S存儲(chǔ)的信息加以約束。
迫使模型學(xué)習(xí)最重要的模式:如果一個(gè)網(wǎng)絡(luò)只能記住幾個(gè) 模式,那么優(yōu)化過(guò)程會(huì)迫使模型集中學(xué)習(xí)最重要的模式,這樣更可能得到良好的泛化。 這種降低過(guò)擬合的方法叫作正則化(regularization)
5、防止過(guò)擬合的最簡(jiǎn)單的方法就是減小模型大小?
減少模型中可學(xué)習(xí)參數(shù)的個(gè)數(shù):防止過(guò)擬合的最簡(jiǎn)單的方法就是減小模型大小,即減少模型中可學(xué)習(xí)參數(shù)的個(gè)數(shù)(這由層 數(shù)和每層的單元個(gè)數(shù)決定)。
6、網(wǎng)絡(luò)模型的容量 ?
模型中可學(xué)習(xí)參數(shù)的個(gè)數(shù):在深度學(xué)習(xí)中,模型中可學(xué)習(xí)參數(shù)的個(gè)數(shù)通常被稱為模型的容量 (capacity)。
7、深度學(xué)習(xí)模型真正的挑戰(zhàn)在于泛化?
泛化就是你和測(cè)試數(shù)據(jù):深度學(xué)習(xí)模型通常都很擅長(zhǎng)擬合訓(xùn)練數(shù)據(jù),但真正的挑戰(zhàn)在于泛化,而不是擬合。
8、欠擬合和過(guò)擬合的資源解釋?
欠擬合:容量不足
過(guò)擬合:容量過(guò)大
9、越大的網(wǎng)絡(luò)是不是越好(不是,要選擇合適的網(wǎng)絡(luò))?
【小網(wǎng)絡(luò)過(guò)擬合慢,過(guò)擬合增長(zhǎng)慢】:更小的網(wǎng)絡(luò)開(kāi)始過(guò)擬合的時(shí)間要晚于參考網(wǎng)絡(luò),而且開(kāi)始過(guò)擬合之后,它的性能變差的速度也更慢。
【大網(wǎng)絡(luò)過(guò)擬合快,過(guò)擬合更嚴(yán)重】:更大的網(wǎng)絡(luò)只過(guò)了一輪就開(kāi)始過(guò)擬合,過(guò)擬合也更嚴(yán)重。其驗(yàn)證損失的波動(dòng)也更大。 ,更大網(wǎng)絡(luò)的訓(xùn)練損失很快就接近于零。 網(wǎng)絡(luò)的容量越大,它擬合訓(xùn)練數(shù)據(jù)(即得到很小的訓(xùn)練損失)的速度就越快,但也更容易過(guò)擬合 (導(dǎo)致訓(xùn)練損失和驗(yàn)證損失有很大差異)。
10、奧卡姆剃刀(Occam’s razor)原理?
簡(jiǎn)單即好:如果一件事情有兩種解釋,那么最可能正 確的解釋就是最簡(jiǎn)單的那個(gè),即假設(shè)更少的那個(gè)。
【簡(jiǎn)單模型比復(fù)雜模型更不容易過(guò)擬合】:這個(gè)原理也適用于神經(jīng)網(wǎng)絡(luò)學(xué)到的模型:給定一些訓(xùn)練數(shù)據(jù)和一種網(wǎng)絡(luò)架構(gòu),很多組權(quán)重值(即很多模型)都可以解釋這些數(shù)據(jù)。簡(jiǎn)單模 型比復(fù)雜模型更不容易過(guò)擬合。
11、權(quán)重正則化(降低過(guò)擬合)?
熵或參數(shù)更少:這里的簡(jiǎn)單模型(simple model)是指參數(shù)值分布的熵更小的模型(或參數(shù)更少的模型,比 如上一節(jié)的例子)
【強(qiáng)制讓模型權(quán)重只能取較小的值】:因此,一種常見(jiàn)的降低過(guò)擬合的方法就是強(qiáng)制讓模型權(quán)重只能取較小的值, 從而限制模型的復(fù)雜度,這使得權(quán)重值的分布更加規(guī)則(regular)。這種方法叫作權(quán)重正則化 (weight regularization),
l1或l2正則化:這種方法叫作權(quán)重正則化 (weight regularization),其實(shí)現(xiàn)方法是向網(wǎng)絡(luò)損失函數(shù)中添加與較大權(quán)重值相關(guān)的成本(cost)。
12、L1 和 L2 正則化 實(shí)例?
L1正則化:regularizers.l1(0.001)
同時(shí)做L1 和 L2 正則化:regularizers.l1_l2(l1=0.001, l2=0.001)
13、由于這個(gè)懲罰項(xiàng)只在訓(xùn)練時(shí)添加,所以這個(gè)網(wǎng)絡(luò)的訓(xùn)練損失會(huì) 比測(cè)試損失大很多?
【懲罰項(xiàng)只在訓(xùn)練時(shí)添加】:l2(0.001) 的意思是該層權(quán)重矩陣的每個(gè)系數(shù)都會(huì)使網(wǎng)絡(luò)總損失增加 0.001 * weight_ coefficient_value。注意,由于這個(gè)懲罰項(xiàng)只在訓(xùn)練時(shí)添加,所以這個(gè)網(wǎng)絡(luò)的訓(xùn)練損失會(huì) 比測(cè)試損失大很多。
14、Hinton dropout靈感之一來(lái)自于銀行的防欺詐機(jī)制?
成功欺詐銀行需要相互合作:我去銀行辦理業(yè)務(wù)。柜員不停地?fù)Q人,于是我 問(wèn)其中一人這是為什么。他說(shuō)他不知道,但他們經(jīng)常換來(lái)?yè)Q去。我猜想,銀行工作人員要想成 功欺詐銀行,他們之間要互相合作才行。這讓我意識(shí)到,在每個(gè)樣本中隨機(jī)刪除不同的部分神 經(jīng)元,可以阻止它們的陰謀,因此可以降低過(guò)擬合。
15、dropout核心思想?
【在層的輸出值中引入噪聲】:其核心思想是在層的輸出值中引入噪聲, 打破不顯著的偶然模式(Hinton 稱之為陰謀)。
【記住偶然模式】:如果沒(méi)有噪聲的話,網(wǎng)絡(luò)將會(huì)記住這些偶然模式。
二、內(nèi)容在總結(jié)中
博客對(duì)應(yīng)課程的視頻位置:
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的过拟合解决方法python_《python深度学习》笔记---4.4、过拟合与欠拟合(解决过拟合常见方法)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: centos非root用户创建用户_Ce
- 下一篇: websocket python爬虫_p