語音合成學(xué)習(xí)(五)學(xué)習(xí)筆記
我們先要清楚什么是模型。
模型是指一種數(shù)學(xué)函數(shù),它能夠?qū)⑤斎霐?shù)據(jù)映射到預(yù)測輸出
可以表示為y=f(x) y為預(yù)期結(jié)果 ,f(x) 的f為模型,x為數(shù)據(jù)內(nèi)容
模型的評(píng)估與選擇
經(jīng)驗(yàn)誤差與過擬合
誤差
錯(cuò)誤率:分類錯(cuò)誤的樣本占樣本總數(shù)的比例:E = a m
m 個(gè)樣本中有 a 個(gè)樣本分類錯(cuò)誤
誤差:學(xué)習(xí)器的實(shí)際預(yù)測輸出值與樣本真實(shí)輸出值之間的差異。
訓(xùn)練誤差:學(xué)習(xí)器在訓(xùn)練集上的誤差,也叫經(jīng)驗(yàn)誤差。
泛化誤差:在新樣本上的誤差。
機(jī)器學(xué)習(xí)上,我們希望得到泛化誤差小的學(xué)習(xí)器。比如我有一個(gè)區(qū)分性別的分類器,它不僅可以區(qū)分動(dòng)物的性別,把它用到單性花上也能很好的區(qū)分出雌雄株。然而我們并不知道新樣本長啥樣,所以我們努力做到訓(xùn)練誤差最小化。很多情況下,我們可以做到經(jīng)驗(yàn)誤差很小,對(duì)多有的訓(xùn)練樣本分類全部正確,這是不是我們想要的學(xué)習(xí)器呢?不幸的是:這種學(xué)習(xí)器的泛化能力一般很小,對(duì)待新樣本多數(shù)情況下都不好。
泛化能力: 對(duì)沒有見過的數(shù)據(jù)的預(yù)測能力
過擬合與欠擬合
過擬合: 學(xué)習(xí)樣本學(xué)得太好了,很可能已經(jīng)把訓(xùn)練樣本自身的一些特點(diǎn)當(dāng)做了所有樣本都具有的一般性質(zhì),這樣會(huì)導(dǎo)致泛化能力的下降,就是偏科的同學(xué)
欠擬合: 對(duì)訓(xùn)練樣本的一般性質(zhì)都沒有學(xué)好,就是差生,一樣的不行。
代價(jià)曲線
1.明確參數(shù): p = m+/m
2.解釋(基本思路)
代價(jià)曲線目的: 對(duì)于一個(gè)模型,根據(jù)p(正樣例,反樣例)不同 找到使得代價(jià)總期望最小的模型的閾值
(我們每個(gè)模型的算法是固定的,但是每個(gè)算法算完之后給的閾值是不固定的,我們要找到這個(gè)閾值,把模型確定下來,模型確認(rèn)下來之后,比例就出來了,指標(biāo)就出來了。根據(jù)總代價(jià)期望來確定模型的性能指標(biāo),這樣就能夠去對(duì)比模型,否則無法去對(duì)比不同模型)
橫軸: 歸一化的正概率代價(jià)期望

分母用來做歸一化
cost 01-> 是不是固定的值 我們知道 p變得時(shí)候求期望的最小值 為什么要用p乘這個(gè)值呢?
p變動(dòng) 選擇不同的閾值
縱軸:歸一化的總代價(jià)期望

分子 :
FNR R就是橫向比 N 就是Negative predictions 里錯(cuò)的
FPR R就是橫向比 P就是Positive predictions里面錯(cuò)的
various thresholds : 總損失期望
大致過程:給定p,給定模型。根據(jù)歸一化代價(jià)期望的最小值
確定FPR FNR 的橫向比 的比例。
閾值決定了這個(gè)比例。 反過來說這個(gè)比例確定了,閾值也就 確定了, 所以這時(shí)模型的閾值也對(duì)應(yīng)確定下來了
假設(shè)檢驗(yàn)?zāi)康?/h3>
例: 一個(gè)數(shù)據(jù) x , 有一個(gè)訓(xùn)練集train 驗(yàn)證集val 測試集 test
有一個(gè)模型 f 在訓(xùn)練集通過訓(xùn)練得到一個(gè) y' 驗(yàn)證集得到一個(gè) y' 測試集得到一個(gè) y'
通過和真實(shí)的y 對(duì)比 得到一個(gè)錯(cuò)誤率 E 訓(xùn)練 驗(yàn)證 測試 都會(huì)得到一個(gè)錯(cuò)誤率
真實(shí)去使用時(shí)候 很多的數(shù)據(jù) 已知了我在測試的錯(cuò)誤率是 ε 有多大的程度上能保證我在真實(shí)數(shù)據(jù)情況下錯(cuò)誤率是一個(gè)什么程度。這個(gè)保證程度就是比較檢驗(yàn)的目的。
第一個(gè)程度指標(biāo)
在測試集test上得到了一個(gè)泛化性能 比如錯(cuò)誤率ε
在真實(shí)數(shù)據(jù)test_all得到了一個(gè)ε 0
不同的測試集 錯(cuò)誤率不同 同一個(gè)模型在t上測試了很多次 得到的結(jié)果也不同這樣的情況下 怎樣去評(píng)估真實(shí)數(shù)據(jù)的泛化能力 尤其是在真實(shí)數(shù)據(jù)上多大程度上去保證這個(gè)真實(shí)數(shù)據(jù)的泛化能力
Test test——all
m 共有m個(gè)樣本
m‘ 判斷錯(cuò)誤的個(gè)數(shù)
錯(cuò)誤率ε 就是 m' /m 假設(shè)錯(cuò)誤率是ε = 0.3
假設(shè)m 是10 已經(jīng)錯(cuò)誤率 查出出現(xiàn)這種情況的錯(cuò)誤率是多少個(gè) m'
評(píng)估方法:
1. 留出法:
直接將數(shù)據(jù)集D分為兩個(gè)互斥集合,其中一個(gè)集合做為訓(xùn)練集合S,另一個(gè)測試集合T, D = S U T ,S ∩ T = ?;學(xué)習(xí)器在S集合行訓(xùn)練出模型,然后再用集合T來評(píng)估其測試誤差,作為泛化誤差的估計(jì)。
常見的做法是將大約2/3~4/5的樣本用于訓(xùn)練,剩余樣本用于測試
煮個(gè)栗子:100個(gè)樣本,分給訓(xùn)練集有 60 個(gè)樣本,測試集30個(gè)樣本。我們訓(xùn)練60個(gè)樣本中,分類正確的有56個(gè),錯(cuò)誤分類4個(gè)。
錯(cuò)誤率 = 錯(cuò)誤分類/ 訓(xùn)樣本數(shù)(4/60=0.067) 精度 = 0.933
- 注意:
訓(xùn)練集和測試集的劃分要盡量保持和原數(shù)據(jù)一致性.你不能這樣,訓(xùn)練集中的數(shù)據(jù)基本都是單一的數(shù)據(jù),特征也基本一致,而測試集的數(shù)據(jù)則稀奇古怪,三類四類的都有。這種劃分就不合理,最后就會(huì)導(dǎo)致,訓(xùn)練誤差很小,測試出來的泛化誤差就很大。
單次使用留出法得到的估計(jì)結(jié)果往往不穩(wěn)定不可靠。我們一般要采用若干次隨機(jī)劃分、重復(fù)進(jìn)行實(shí)驗(yàn)評(píng)估后取平均值作為留出法的評(píng)估結(jié)果。 比如進(jìn)行 100 次隨機(jī)劃分,每次產(chǎn)生一個(gè) 訓(xùn)練集 / 測試集 用于實(shí)驗(yàn)評(píng)估,就有100 個(gè)結(jié)果,我們返回這 100 個(gè)結(jié)果的平均值。
但是哪個(gè)比列才更好呢?如果訓(xùn)練集 S 包含絕大多數(shù)樣本,則訓(xùn)練出的模型可能更接近于總集合D訓(xùn)練出的模型,但是測試集T就少了,評(píng)估結(jié)果可能不夠穩(wěn)定準(zhǔn)確;反過來測試集T多包含樣本,訓(xùn)練集S訓(xùn)練度可能不夠,與總集合D差別更大了,降低了評(píng)估結(jié)果的保真性。這個(gè)問題沒有完美的解決方案,我們一般將 的數(shù)據(jù)用于訓(xùn)練,其他的部分用來測試
2. 交叉驗(yàn)證法
例: 一個(gè)數(shù)據(jù) x , 有一個(gè)訓(xùn)練集train 驗(yàn)證集val 測試集 test
有一個(gè)模型 f 在訓(xùn)練集通過訓(xùn)練得到一個(gè) y' 驗(yàn)證集得到一個(gè) y' 測試集得到一個(gè) y'
通過和真實(shí)的y 對(duì)比 得到一個(gè)錯(cuò)誤率 E 訓(xùn)練 驗(yàn)證 測試 都會(huì)得到一個(gè)錯(cuò)誤率
真實(shí)去使用時(shí)候 很多的數(shù)據(jù) 已知了我在測試的錯(cuò)誤率是 ε 有多大的程度上能保證我在真實(shí)數(shù)據(jù)情況下錯(cuò)誤率是一個(gè)什么程度。這個(gè)保證程度就是比較檢驗(yàn)的目的。
第一個(gè)程度指標(biāo)
在測試集test上得到了一個(gè)泛化性能 比如錯(cuò)誤率ε
在真實(shí)數(shù)據(jù)test_all得到了一個(gè)ε 0
不同的測試集 錯(cuò)誤率不同 同一個(gè)模型在t上測試了很多次 得到的結(jié)果也不同這樣的情況下 怎樣去評(píng)估真實(shí)數(shù)據(jù)的泛化能力 尤其是在真實(shí)數(shù)據(jù)上多大程度上去保證這個(gè)真實(shí)數(shù)據(jù)的泛化能力
Test test——all
m 共有m個(gè)樣本
m‘ 判斷錯(cuò)誤的個(gè)數(shù)
錯(cuò)誤率ε 就是 m' /m 假設(shè)錯(cuò)誤率是ε = 0.3
假設(shè)m 是10 已經(jīng)錯(cuò)誤率 查出出現(xiàn)這種情況的錯(cuò)誤率是多少個(gè) m'
直接將數(shù)據(jù)集D分為兩個(gè)互斥集合,其中一個(gè)集合做為訓(xùn)練集合S,另一個(gè)測試集合T, D = S U T ,S ∩ T = ?;學(xué)習(xí)器在S集合行訓(xùn)練出模型,然后再用集合T來評(píng)估其測試誤差,作為泛化誤差的估計(jì)。
常見的做法是將大約2/3~4/5的樣本用于訓(xùn)練,剩余樣本用于測試
煮個(gè)栗子:100個(gè)樣本,分給訓(xùn)練集有 60 個(gè)樣本,測試集30個(gè)樣本。我們訓(xùn)練60個(gè)樣本中,分類正確的有56個(gè),錯(cuò)誤分類4個(gè)。
錯(cuò)誤率 = 錯(cuò)誤分類/ 訓(xùn)樣本數(shù)(4/60=0.067) 精度 = 0.933
訓(xùn)練集和測試集的劃分要盡量保持和原數(shù)據(jù)一致性.你不能這樣,訓(xùn)練集中的數(shù)據(jù)基本都是單一的數(shù)據(jù),特征也基本一致,而測試集的數(shù)據(jù)則稀奇古怪,三類四類的都有。這種劃分就不合理,最后就會(huì)導(dǎo)致,訓(xùn)練誤差很小,測試出來的泛化誤差就很大。
單次使用留出法得到的估計(jì)結(jié)果往往不穩(wěn)定不可靠。我們一般要采用若干次隨機(jī)劃分、重復(fù)進(jìn)行實(shí)驗(yàn)評(píng)估后取平均值作為留出法的評(píng)估結(jié)果。 比如進(jìn)行 100 次隨機(jī)劃分,每次產(chǎn)生一個(gè) 訓(xùn)練集 / 測試集 用于實(shí)驗(yàn)評(píng)估,就有100 個(gè)結(jié)果,我們返回這 100 個(gè)結(jié)果的平均值。
但是哪個(gè)比列才更好呢?如果訓(xùn)練集 S 包含絕大多數(shù)樣本,則訓(xùn)練出的模型可能更接近于總集合D訓(xùn)練出的模型,但是測試集T就少了,評(píng)估結(jié)果可能不夠穩(wěn)定準(zhǔn)確;反過來測試集T多包含樣本,訓(xùn)練集S訓(xùn)練度可能不夠,與總集合D差別更大了,降低了評(píng)估結(jié)果的保真性。這個(gè)問題沒有完美的解決方案,我們一般將 的數(shù)據(jù)用于訓(xùn)練,其他的部分用來測試
交叉驗(yàn)證法(cross validation)先將數(shù)據(jù)集D劃分為K個(gè)大小相似的互斥子集,即:

每個(gè)子集都是通過分層采樣得到,以盡可能保持?jǐn)?shù)據(jù)分布的一致性;即從D中通過層次采樣得到。然后每次使用k-1個(gè)子集的并集做訓(xùn)練集,余下的子集作為測試集,這樣一共可以得到k組訓(xùn)練集/測試集,從而可以進(jìn)行k次訓(xùn)練和測試,最終返回k次訓(xùn)練的均值。
通常把交叉驗(yàn)證又叫做k折交叉驗(yàn)證,如k取10,則是10折交叉驗(yàn)證;
留一法(leave-One-Out):特殊的,當(dāng)數(shù)據(jù)集D中有m個(gè)樣本,令k=m,即每個(gè)子集只有一個(gè)樣本,也即每次只留出一個(gè)做為測試集,這樣的方法叫做留一法。
交叉驗(yàn)證法評(píng)估結(jié)果的穩(wěn)定性和保真性在很大程度上取決于 k 值,為了強(qiáng)調(diào)這一點(diǎn),我們又稱“k折交叉驗(yàn)證” k 的最常用取值是10,也有用5,20的。來看一張圖把,助于理解。

如果我們數(shù)據(jù)集D包含m個(gè)樣本,又 k = m,就得到了交叉驗(yàn)證法的一個(gè)特例:留一法(Leave-One-Out,簡稱LOO)
- 優(yōu)點(diǎn):
由于m個(gè)樣本只有唯一的方式劃分為m個(gè)子集——每個(gè)子集只有一個(gè)樣本,劃分就沒有影響了。留一法使用的訓(xùn)練集與原始數(shù)據(jù)相比至少了一個(gè)樣本,在絕大多數(shù)情況下,實(shí)際評(píng)估的模型和用D評(píng)估出來的模型很相似,結(jié)果往往比較準(zhǔn)確。
- 缺點(diǎn):
我們處在大數(shù)據(jù)階段呢,數(shù)據(jù)是爆炸式的增長。在數(shù)據(jù)集比較大時(shí),訓(xùn)練m個(gè)模型的計(jì)算機(jī)開銷可能難以承受的。1000萬的數(shù)據(jù)就要訓(xùn)練1000萬次,如果加上神經(jīng)網(wǎng)絡(luò)里算法面的參數(shù),直接gg。
3.自助法
直接以自助采樣為基礎(chǔ)。
給定 m 個(gè)樣本的數(shù)據(jù)集 D,我們對(duì)其進(jìn)行采樣產(chǎn)生數(shù)據(jù)集 D’:每次隨機(jī)從D中選取一個(gè)樣本,將其拷貝放入D’,然后再將樣本放回?cái)?shù)據(jù)集D中,使得該樣本在下次采樣中仍可能被采到;重復(fù) m 次,就收集到了 m 個(gè)數(shù)據(jù)集 D’,這就是自助采樣的結(jié)果。
D中有一部分?jǐn)?shù)據(jù)會(huì)多次出現(xiàn),而另一部分?jǐn)?shù)據(jù)則不會(huì)出現(xiàn)。我們可以做一個(gè)簡單的估計(jì)。樣本在 m 次采樣中始終不會(huì)采到的概率是 (1-1/m)的m次方,取極限:

通過自助采樣,初始數(shù)據(jù)集D中有36.8%的樣本未出現(xiàn)在采集數(shù)據(jù)集 D’ 中。我們將D’用來訓(xùn)練,D \ D’用作測試集。
- 優(yōu)點(diǎn):
實(shí)際評(píng)估的模型與期望評(píng)估的模型都使用了 m 個(gè)訓(xùn)練樣本,而我們?nèi)匀挥袛?shù)據(jù)總量的 1/3 沒在訓(xùn)練集出現(xiàn)的樣本用于測試。這個(gè)結(jié)果也叫“包外估計(jì)”,在訓(xùn)練集較小,難以劃分 訓(xùn)練集 / 測試集時(shí)很常用,并且能從初始數(shù)據(jù)集D中產(chǎn)生多個(gè)不同的數(shù)據(jù)集,對(duì)集成學(xué)習(xí)等方法有很大的好處。
- 缺點(diǎn) :
改變了初始數(shù)據(jù)集的分布,引入估計(jì)偏差,數(shù)據(jù)集較大時(shí),留出法和交叉驗(yàn)證法更常用。
- 性能量度
性能量度也是衡量模型泛化能力的評(píng)價(jià)標(biāo)準(zhǔn)。 它反應(yīng)了任務(wù)需求,在對(duì)比不同模型能力時(shí),使用不同的性能量度往往會(huì)導(dǎo)致不同的批判結(jié)果。模型的好壞是相對(duì)的,什么樣的模型什么時(shí)候是好的,不僅取決于算法和數(shù)據(jù),還決定于任務(wù)需求。
????????在預(yù)測任務(wù)中,給定樣例集 D={(x1,y1),(x2,y2),...,(xm,ym)}
其中 y i 的真實(shí)標(biāo)記。要評(píng)估學(xué)習(xí)器 f 的性能,就要把學(xué)習(xí)器預(yù)測的結(jié)果 f ( x ) f(x)f(x) 與真實(shí) y yy 進(jìn)行比較。
回歸任務(wù)最常用的性能量度是“均方誤差”

對(duì)于數(shù)據(jù)分布 D 和概率密度函數(shù) p ( ? ) p(·)p(?),均方誤差可描述為:

這里是常用的性能量度。
對(duì)于分類算法還有其他的評(píng)價(jià)指標(biāo),如運(yùn)行速度,擴(kuò)展性等。這些也是衡量算法性能的一部分。
以上主要是對(duì)機(jī)器學(xué)習(xí)有關(guān)的基礎(chǔ)理論知識(shí)模型的評(píng)估與選擇方法的簡單介紹。