0
雷鋒網(wǎng) AI 科技評(píng)論按:在機(jī)器學(xué)習(xí)和深度強(qiáng)化學(xué)習(xí)研究中,可重復(fù)性成為了最近最為熱門、最常被人詬病的話題之一。復(fù)現(xiàn)一篇基于強(qiáng)化學(xué)習(xí)的文章遠(yuǎn)比想象的難,具體分析可參照《lessons learned from reproducing a deep RL paper》。
事實(shí)上,一般情況下,源代碼庫并不總是被完整發(fā)布的,科學(xué)性的論文中時(shí)常會(huì)省略部分實(shí)現(xiàn)技巧。近期,Herderson 等人對(duì)造成復(fù)現(xiàn)困難的各種參數(shù)進(jìn)行了深入的調(diào)查。他們使用了當(dāng)下熱門的深度強(qiáng)化學(xué)習(xí)的算法,如 DDPG、ACKTR、TRPO 和 PPO 等,并結(jié)合 OpenAI Gym 中的經(jīng)典基準(zhǔn)測試,如 Half-Cheetah, Hopper 和 Swimmer 等,研究代碼庫、網(wǎng)絡(luò)大小、激活函數(shù)、獎(jiǎng)勵(lì)縮放或隨機(jī)種子對(duì)性能產(chǎn)生的影響。結(jié)果中最令人驚訝的是,同樣的算法、用同一組超參數(shù)進(jìn)行訓(xùn)練時(shí),每一次運(yùn)行后的結(jié)果也會(huì)大相徑庭。
也許最令人驚訝的是:使用相同的超參數(shù)和 10 個(gè)不同的隨機(jī)種子運(yùn)行相同的算法 10 次,其中 5 個(gè)種子的表現(xiàn)做平均和另外 5 個(gè)種子做平均,得到的兩條學(xué)習(xí)曲線仿佛是來自兩個(gè)不同的統(tǒng)計(jì)分布的。然后,他們展示了這樣一個(gè)表格:
該表顯示了 Henderson 等人參考的所有深度 RL 論文使用了少于5粒種子。更糟糕的是,一些論文實(shí)際上展現(xiàn)了最佳表現(xiàn)的平均值!正如 Henderson 等人剛才展示的那樣,算法表現(xiàn)的不穩(wěn)定性使得研究者可以通過挑選種子的方式聲稱某個(gè)算法比另一個(gè)算法的表現(xiàn)更好,即便事實(shí)上并不是這樣。這個(gè)問題的解決方案是使用更多隨機(jī)種子,以平均更多不同試驗(yàn)的結(jié)果,最終獲得更穩(wěn)健的算法性能度量。那么,到底使用多少才是合適的呢?應(yīng)該使用 10 個(gè),還是應(yīng)該像 Mania 等人提出的那樣使用 100?答案當(dāng)然是,看情況。
如果您閱讀此博客,我猜您肯定處于以下情況:您希望比較兩種算法的性能,以確定哪種算法在給定環(huán)境中表現(xiàn)最佳。不幸的是,相同算法的兩次運(yùn)行通常會(huì)產(chǎn)生不同的性能數(shù)值。這可能是由于各種因素造成的,例如隨機(jī)發(fā)生器產(chǎn)生的種子(隨機(jī)種子,簡稱種子)、智能體的初始條件、環(huán)境的隨機(jī)性等。
本文中描述的部分統(tǒng)計(jì)過程可以在 Github 上找到。這篇文章可在 ArXiv 上找到。雷鋒網(wǎng) AI 科技評(píng)論對(duì)全文進(jìn)行了編譯。
一段算法的表現(xiàn)可以通過數(shù)學(xué)建模成一個(gè)隨機(jī)的變量并且在環(huán)境中運(yùn)行該算法可以得到實(shí)現(xiàn)
將這個(gè)過程重復(fù)
遍,可以得到統(tǒng)計(jì)樣本
。一個(gè)隨機(jī)變量通常可以用其平均值
和其標(biāo)準(zhǔn)偏差
來表示特征。當(dāng)然了,平均值和偏差都是未知的。但是可以計(jì)算的是它們的期望值和
:
其中,被稱為經(jīng)驗(yàn)平均值,
被稱為經(jīng)驗(yàn)標(biāo)準(zhǔn)偏差。樣本越大,估算結(jié)果的置信度就越高。
比較兩個(gè)表現(xiàn)分別為和
的算法。如果
和
遵循正態(tài)分布。描述它們差值的隨機(jī)變量
也滿足正態(tài)分布,并且
,
。在這種情況下,
平均值的估算值為
,并且
的估算值為
。影響效果可以用兩個(gè)表現(xiàn)的平均差值來表示:
。
測試兩個(gè)算法的性能差在數(shù)學(xué)上等同于測試它們運(yùn)行結(jié)果的差值與
的差。那么,根據(jù)上面的推理,從隨機(jī)變量
和
產(chǎn)生的兩個(gè)樣本
和
相減得到的變量
所得的進(jìn)行計(jì)算即為所需的樣本
。
示例一
為了說明本文中提出的概念,采用兩種算法(Algo1 和 Algo2),并在 OpenAI Gym 框架中的 Half-Cheetah 環(huán)境中進(jìn)行比較。所使用的實(shí)際算法在這里并不那么重要,稍后會(huì)公布。首先,進(jìn)行初步研究,對(duì)每個(gè)算法設(shè)定 N = 5 個(gè)隨機(jī)種子,并在圖2中繪制結(jié)果。該圖顯示了平均學(xué)習(xí)曲線與 95% 置信區(qū)間。學(xué)習(xí)曲線的每個(gè)點(diǎn)是 10 個(gè)評(píng)價(jià)時(shí)段中的獎(jiǎng)勵(lì)的累積值。該算法性能的度量值是過去 10 個(gè)點(diǎn)(即最后 100個(gè)評(píng)價(jià)時(shí)段)的平均性能。從圖中可以看出,Algo1 的表現(xiàn)似乎優(yōu)于 Algo2;而且,越靠近結(jié)尾的位置,置信區(qū)間的重疊也并不多。當(dāng)然,我們需要在得出任何結(jié)論之前進(jìn)行統(tǒng)計(jì)學(xué)的測試。
在差異測試中,統(tǒng)計(jì)學(xué)家首先定義零假設(shè)和替代假設(shè)
。設(shè)定如下:
這些假設(shè)指的是雙尾的情況。如果你有一個(gè)先驗(yàn)的算法表現(xiàn)最好,假設(shè)為Algo1,也可以使用單尾版本:
在一開始,統(tǒng)計(jì)學(xué)家經(jīng)常會(huì)使用零假設(shè)。一旦一個(gè)樣本從
獲得了,可以估算觀測數(shù)據(jù)的概率
為極值。極值的含義是遠(yuǎn)離零假設(shè)的數(shù)值,即
的數(shù)值遠(yuǎn)離0。概率的值可以回答下面的問題:觀測一個(gè)樣本或更加極端的樣本出現(xiàn)的概率,假設(shè)兩個(gè)算法的表現(xiàn)沒有本質(zhì)的不同時(shí)。在數(shù)學(xué)上,可以使用單尾版本的公式來描述這一過程:
同樣的,也可雙尾描述:
當(dāng)這個(gè)概率變得非常低時(shí),這意味著兩個(gè)沒有性能差異的算法產(chǎn)生收集的樣本是非常不可能的。差異明顯可以表現(xiàn)為概率
在單尾情況下比
的值小,并在雙尾情況下比
的數(shù)值小。通常將
的數(shù)值設(shè)置為0.05或者更低。值得注意的是,盡管概率很低,依然是二十分之一的幾率出現(xiàn)誤報(bào),即在聲稱沒有差異時(shí)存在真正地差異。
另一種看待這種情況的方法是考慮置信區(qū)間??梢杂?jì)算兩種置信區(qū)間:
統(tǒng)計(jì)中可以出現(xiàn)兩種類型的錯(cuò)誤:
第一種錯(cuò)誤是在沒有真正差異時(shí)聲稱算法優(yōu)于另一算法的優(yōu)越性。注意,我們稱之為顯著性水平和類型-I 誤差 α 的概率,因?yàn)樗鼈兌贾傅氖窍嗤母拍?。在統(tǒng)計(jì)檢驗(yàn)的假設(shè)下,選擇 α 的顯著性水平強(qiáng)制執(zhí)行I型誤差 α 的概率。
第二種錯(cuò)誤則是在有差異的時(shí)候忽略差異的出現(xiàn),即在實(shí)際算法有性能差異的時(shí)候錯(cuò)過了發(fā)表問斬的機(jī)會(huì)。
為了進(jìn)行性能評(píng)估,必須首先確認(rèn)需要使用的統(tǒng)計(jì)實(shí)驗(yàn)。在 Herderson 的論文中,two-sample t-test 和自舉置信區(qū)間試驗(yàn)可用于此目的。Herderson 等人也同時(shí)推薦了 Kolmogorov-Smirnov 實(shí)驗(yàn),用于測試兩個(gè)樣本是否來自同一個(gè)分布區(qū)間。但這種測試不能用于比較 RL 算法,因?yàn)樗荒茏C明任何順序關(guān)系。
T-test 和 Welch's test
為了驗(yàn)證兩個(gè)種群具有相同的均值的假設(shè)(零假設(shè))。一個(gè) 2-sample t-test 可以在兩個(gè)種群的變量假設(shè)為一致時(shí)進(jìn)行測試。但是,這種假設(shè)在對(duì)比兩個(gè)不同的算法時(shí)并不是每次都成立的(比如 DDPG 和 TRPO 算法)。在這種情況下,2-sample t-test的變種 Welch's test 被提出了。T-test 包含幾個(gè)假設(shè):
數(shù)據(jù)測量的規(guī)模必須是連續(xù)的和有序的,強(qiáng)化學(xué)習(xí)是滿足條件的;
數(shù)據(jù)是通過從種群中收集代表性樣本獲得的,在強(qiáng)化學(xué)習(xí)中,是合理的;
測量是獨(dú)立分開的,在強(qiáng)化學(xué)習(xí)中,看起來也是合理的;
數(shù)據(jù)是正態(tài)分布的,或至少呈鐘型分布。正態(tài)法則是一個(gè)涉及無窮大的數(shù)學(xué)概念,沒有任何事物是完全正常分布的。此外,算法性能的測量可能遵循多模態(tài)分布。
基于這些假設(shè),可以通過如下公式對(duì)統(tǒng)計(jì)值 t 和自由度 v 進(jìn)行描述,這里使用 Welch–Satterthwaite公式:
同時(shí),,
是兩個(gè)樣本的經(jīng)驗(yàn)標(biāo)準(zhǔn)偏差,N 為樣本的大?。▋蓚€(gè)樣本的大小是一樣的)。那么 t-statistics 默認(rèn)遵循 t-distribution,是鐘型的,同時(shí)其寬度取決于自由度。自由度越高,分布越扁平。
如下圖,可以讓人更好的理解這個(gè)原理。值得注意的是,這邊是在單尾情況下,并得到了正差值。
t-distribution 由其概率密度函數(shù)(圖中左側(cè)曲線)定義。累積分布函數(shù)
為
的概率總和,即為:
在上圖中,代表在單尾情況下滿足
的 t-value。當(dāng)
時(shí),概率p 小于 α,實(shí)驗(yàn)結(jié)果否定了零假設(shè)
。另一方面,當(dāng)
小于
時(shí),概率p 的值大于α,實(shí)驗(yàn)未否定零假設(shè)。從圖片上可以看出,將閾值設(shè)置為
,會(huì)導(dǎo)致上文所提到的第二種錯(cuò)誤。出現(xiàn)錯(cuò)誤的幾率是圖中深藍(lán)色陰影所表示的部分,可以用數(shù)學(xué)的方式表達(dá)如下:
使用積分的轉(zhuǎn)換屬性,可以將β重寫為:
總結(jié)一下,給定兩個(gè)樣本使用 Welch's t-test 實(shí)驗(yàn)的步驟為:
基于計(jì)算自由度 v 和 t-statistics;
通過 t-table 查表獲取的值或使用 CDF 函數(shù)評(píng)估;
將 t-statistics 和的數(shù)值進(jìn)行對(duì)比。
值得注意的是,并不意味著兩個(gè)算法之間沒有差異。只能表明沒有足夠的證據(jù)證明在
置信度的基礎(chǔ)下差異是存在的(也可能意味著第二種錯(cuò)誤的情況)。噪音可能會(huì)妨礙測試檢測差異的能力。在這種情況下,增加樣本量N 可以幫助發(fā)現(xiàn)差異。
選擇 t-test 的顯著級(jí)別 α 會(huì)導(dǎo)致第一種錯(cuò)誤的情況。但是,上圖顯示的是減少這種概率歸結(jié)為提高的值,這最終導(dǎo)致了第二種錯(cuò)誤的出現(xiàn)。通過提高樣本的數(shù)量N,降低β,同時(shí)保持 α 為恒定值,可以使估算的
更加準(zhǔn)確,這最終使得圖片中的分布曲線更為扁平,更小的 β 值。下一部分介紹了在同時(shí)滿足α和 β 的情況下,選擇合適的樣本數(shù)量N 的方法。
Bootstrapped 置信區(qū)間是一種不對(duì)性能差異的分布做出任何假設(shè)的方法。它通過在實(shí)際收集的樣本中重新采樣并通過計(jì)算每個(gè)生成的樣本的平均值來估計(jì)置信區(qū)間。
給定正態(tài)分布的真實(shí)平均μ和標(biāo)準(zhǔn)偏差σ,一個(gè)簡單的公式給出95%置信區(qū)間。但在這里,考慮一個(gè)未知的分布F(給定一個(gè)算法的性能分布)。正如我們上面看到的,經(jīng)驗(yàn)平均值是其真實(shí)均值的無偏估計(jì),但是我們?nèi)绾斡?jì)算的置信區(qū)間?一種解決方案是使用Bootstrapp原理。
假設(shè)有一個(gè)測試樣本,其中N 是樣本的數(shù)量。通過原始樣本內(nèi)的置換采樣,可以得到經(jīng)驗(yàn)bootstrap的樣本,標(biāo)記為
,其樣本數(shù)量與原測試數(shù)量是相同的。在bootstrap原理中,對(duì)于原始樣本上和自舉樣本上計(jì)算的任何統(tǒng)計(jì)數(shù)據(jù),其變化是保持一致的。更多的解釋和理由可以從麻省理工學(xué)院的這份文章中找到。因此,可以通過bootstrap樣本的變化量來近似經(jīng)驗(yàn)平均值的變化(這里可以值變化范圍)。
計(jì)算過程由如下幾步實(shí)現(xiàn):
從原始樣本中提取并使用相同的bootstrap的樣本數(shù)量和樣本信息;
計(jì)算每個(gè)樣本的經(jīng)驗(yàn)平均值,即為和
;
計(jì)算差值;
使用公式計(jì)算bootstrapped置信區(qū)間。范圍通常在
和矢量
的概率百分比
之間(如α=0.05,范圍則為2.5th和97.5th)。
Bootstrap的樣本數(shù)量B 需要選擇相對(duì)較大的值(如1000)。如果置信區(qū)間的范圍不包含0,這就意味著置信為時(shí),差值只為正或者負(fù)(范圍最大值最小值均為正或均為負(fù))。通過這種方式,可以清楚的獲得兩個(gè)算法的性能表現(xiàn)的統(tǒng)計(jì)顯著差值??梢酝ㄟ^如下鏈接,參考一個(gè)實(shí)際應(yīng)用。
繼示例一
這里,設(shè)置α=0.05會(huì)導(dǎo)致第一種錯(cuò)誤的出現(xiàn)。對(duì)兩個(gè)有5個(gè)隨機(jī)種子樣本進(jìn)行Welch's test和bootstrap置信區(qū)間測試,p-value 為0.031,。由于p-value 低于α,同時(shí)CI1置信區(qū)間并不包含0,兩個(gè)測試都是通過的。這意味著兩個(gè)實(shí)驗(yàn)結(jié)果都表明了算法Algo1和Algo2的性能表現(xiàn)有顯著不同,且有95%的置信度。若真的檢測失敗,即僅僅存在 5% 的可能性會(huì)誤報(bào)出算法性能有顯著不同的結(jié)果。
事實(shí)上,在實(shí)驗(yàn)時(shí),確實(shí)碰到了第一種錯(cuò)誤。如此確信的原因是:
它們都是權(quán)威的DDPG的實(shí)現(xiàn)算法。代碼庫可以從資料庫下載。這就意味著是一個(gè)真假設(shè),并且兩個(gè)算法的平均值是相同的。第一個(gè)結(jié)論是錯(cuò)誤的,必須要承認(rèn),在這里實(shí)驗(yàn)結(jié)果是第一種錯(cuò)誤,即在正確的時(shí)候否認(rèn)了
。但是,統(tǒng)計(jì)測試通常伴隨著一些假設(shè),這導(dǎo)致最終實(shí)驗(yàn)碰到第一種錯(cuò)誤。
在實(shí)驗(yàn)實(shí)現(xiàn)環(huán)節(jié),強(qiáng)制選擇 α 作為顯著等級(jí)的選擇。第二種錯(cuò)誤β現(xiàn)在需要進(jìn)行估算。β是在為真的否認(rèn)
失敗的概率。當(dāng)影響因子
和第一種錯(cuò)誤的概率 α 是常數(shù)時(shí),β 是樣本數(shù)量 N 的函數(shù)。選擇樣本的數(shù)量 N 來滿足 β 的需求就稱為統(tǒng)計(jì)功率分析(statistical power analysis)。這回答了文章最一開始提出的問題:若顯著等級(jí)為 α ,選擇多大的樣本容量來滿足 1-β 的概率發(fā)現(xiàn)影響因子
?下一章節(jié)將會(huì)介紹在Welch's test中選擇合適的 N 的步驟。
如前文中描述的那樣,β 可以使用公式進(jìn)行分析:
在這里,為以0為中心點(diǎn)t-distribution的累積分布函數(shù),
為臨界值,
為影響因子
的t-value。
示例二
為了更好的理解本文的含義,使用兩個(gè)DDPG的算法:一個(gè)有執(zhí)行擾動(dòng)(Algo1),一個(gè)有參數(shù)擾動(dòng)(Algo2)。兩個(gè)算法都在OpenAI Gym框架下的Half-Cheetah環(huán)境中執(zhí)行。
步驟1 - 畫圖學(xué)習(xí)
為了實(shí)際的獲得β,首先需要進(jìn)行兩個(gè)算法的標(biāo)準(zhǔn)偏差的估算。在這個(gè)步驟中,算法在環(huán)境中計(jì)算,并獲得兩個(gè)大小為 n 的樣本 x1 和 x2 。然后對(duì)其經(jīng)驗(yàn)平均值
和標(biāo)準(zhǔn)偏差
進(jìn)行計(jì)算。
繼示例二
這里,設(shè)置樣本容量為n=5,經(jīng)驗(yàn)平均值為(3523,4905),經(jīng)驗(yàn)標(biāo)準(zhǔn)偏差
=(1341,990),如下圖描述,其中紅色曲線表示Algo2,藍(lán)色曲線標(biāo)識(shí)Algo1。從圖中可以看出,兩個(gè)算法的表現(xiàn)有輕微的不同,并且
。
步驟2 - 選擇樣本大小
給定一個(gè)統(tǒng)計(jì)測試(如Welch's test),一個(gè)顯著等級(jí)α(如 α =0.05)和Algo1、Algo2的經(jīng)驗(yàn)估算標(biāo)準(zhǔn)偏差,可以計(jì)算得到β,通過基于樣本容量 N 和影響因子。
繼示例二
若N 在[2, 50]中取,取自于
,通過前文公式計(jì)算
,V 和
。最后,通過前文公式計(jì)算第二種錯(cuò)誤的概率β 。下圖展示了β 在不同的
時(shí)的數(shù)值變化曲線。黑色虛線是
從圖中可以讀取到,N=5 時(shí),β=0.51。這意味著當(dāng)影響因子為1382時(shí),有51%的概率得到第二種錯(cuò)誤的實(shí)驗(yàn)結(jié)果。為了使錯(cuò)誤概率降低到20%以下,N 的選擇需要大于10(圖中,β=0.19 的點(diǎn))。
上述實(shí)驗(yàn)中,當(dāng)N=10時(shí),滿足影響因子為1382的概率條件,并在welch's test的前提之下,使用的經(jīng)驗(yàn)估算值為。但是,需要值得注意的是,這樣的實(shí)驗(yàn)結(jié)果是基于多個(gè)近似,包括
,并假設(shè)了t-value的鐘形分布。
步驟三 - 進(jìn)行統(tǒng)計(jì)測試
兩個(gè)算法都需要被執(zhí)行,以獲取一個(gè)容量為 N 的新的樣本,從而可以應(yīng)用統(tǒng)計(jì)測試。
繼示例二
這里,設(shè)置N=10,并執(zhí)行Welch's test和bootstrap測試。通過實(shí)驗(yàn),獲得Algo1和Algo2的經(jīng)驗(yàn)平均值和經(jīng)驗(yàn)標(biāo)準(zhǔn)偏差
。這兩個(gè)實(shí)驗(yàn)結(jié)果都否定了
,Welch's test的p-value 為0.0037,并且bootstrap測試的差值置信區(qū)間為
。兩個(gè)實(shí)驗(yàn)都通過了。在下圖中,N=5 和N=10 的曲線都繪制了。將樣本容量提高到10時(shí),原本在樣本容量為5的情況下不能被識(shí)別的顯著差異就顯示出來了。有更多的隨機(jī)種子,估算的
更具魯棒性,更多的證據(jù)可以證明Algo2的性能比Algo1算法的性能好,這可以通過圖片中的尖峰進(jìn)行識(shí)別。
給定相應(yīng)的假設(shè),t-test 和 bootstrap 實(shí)驗(yàn)在選擇顯著等級(jí)為α 時(shí),都面臨第一種錯(cuò)誤的問題。為了得到正確的錯(cuò)誤概率信息,這些假設(shè)都需要被仔細(xì)的檢查。首先,基于實(shí)驗(yàn)數(shù)據(jù),需要計(jì)算第一種錯(cuò)誤概率的經(jīng)驗(yàn)評(píng)估,并展示:1)bootstrap測試對(duì)小樣本容量極度敏感;2)t-test的結(jié)果可能會(huì)對(duì)非正太分布的數(shù)據(jù)有偏差。然后,在實(shí)驗(yàn)中,也驗(yàn)證了,低樣本數(shù)導(dǎo)致了s1和s2的估算值的不準(zhǔn)確性,并造成β 計(jì)算較大的誤差,最終造成從實(shí)驗(yàn)中反饋的樣本數(shù)量需求也偏低。
第一種錯(cuò)誤的經(jīng)驗(yàn)估算
給定樣本數(shù)量N ,第一種錯(cuò)誤的概率可以通過如下幾個(gè)步驟進(jìn)行估算:
對(duì)給定的算法進(jìn)行雙倍數(shù)的操作(2 X N)。這可以確保是正確的,因?yàn)樗械臏y量都來源于同一個(gè)數(shù)據(jù)分布;
將 N 個(gè)樣本隨機(jī)的一分為二。并把每個(gè)部分當(dāng)作是從兩個(gè)不同的算法中分離出來的樣本;
測試兩種虛擬算法的差異并記錄結(jié)果;
重復(fù)此過程T次(例如T = 1000);
計(jì)算H0被拒絕的時(shí)間比例。這是 α 的經(jīng)驗(yàn)評(píng)價(jià)。
使用示例二中的Algo1算法。經(jīng)過42次實(shí)驗(yàn),如上的過程,N 的選擇范圍為[2,21]。下圖展現(xiàn)了實(shí)驗(yàn)的結(jié)果。在α=0.05的情況下,當(dāng)N取值過小時(shí),經(jīng)驗(yàn)估算的false positive的幾率比基準(zhǔn)值高出很多。
在實(shí)驗(yàn)中,bootstrap測試的置信區(qū)間不能使用在小樣本量的計(jì)算中(<10)。即使是在這種情況下,產(chǎn)生第一種錯(cuò)誤的概率在實(shí)驗(yàn)中被低估了(應(yīng)為10%,而實(shí)驗(yàn)結(jié)果為5%)。Welch's test降低了這種影響力,但在樣本容量很小的時(shí)候,反而更難得到正確的結(jié)果了。綜上,在實(shí)驗(yàn)時(shí),需將α 的值設(shè)置為0.05以下,以確保true positive的概率低于0.05。在示例一中,N=5,則遇到了第一種錯(cuò)誤。在上圖中,這種可能性在bootstrap測試中得到約10%的計(jì)算結(jié)果,Welch's測試中獲得了高于5%的結(jié)果。
基于樣本容量 N 和標(biāo)準(zhǔn)偏差的經(jīng)驗(yàn)估算值,Welch's test計(jì)算了 t 的統(tǒng)計(jì)信息和自由度 V 。當(dāng) N 的值很低時(shí),S1和S2估算值低于實(shí)際的標(biāo)準(zhǔn)偏差值。這導(dǎo)致了更小的 V 和 更低的,并最終影響了低 β 值。最后,更低的β 在環(huán)路中影響了樣本容量的選擇。這對(duì)樣本容量N 的計(jì)算有著顯著影響。下圖在兩個(gè)分布
和
中,false positive幾率β 。圖中兩個(gè)結(jié)果的區(qū)別是,左側(cè)的圖片使用了真實(shí)的數(shù)值進(jìn)行計(jì)算,而右側(cè)的圖片使用了經(jīng)驗(yàn)評(píng)估值。從實(shí)驗(yàn)結(jié)果可以看出,不管使用哪一種數(shù)值,基于β 的樣本容量的選擇是一致的。
重要的是:
不應(yīng)該盲目相信統(tǒng)計(jì)測試結(jié)果。這些測試是基于假設(shè)并不總是合理的。
α 必須是經(jīng)驗(yàn)估計(jì)的,因?yàn)榻y(tǒng)計(jì)測試可能低估它,因?yàn)殄e(cuò)誤假設(shè)的基礎(chǔ)分布或因?yàn)樾颖救萘俊?/p>
第一種錯(cuò)誤的Bootstrap測試評(píng)價(jià)強(qiáng)烈依賴于樣本大小。不應(yīng)使用Bootstrap測試進(jìn)行低于20數(shù)量的樣本。
小樣本也會(huì)造成算法標(biāo)準(zhǔn)偏差估算的不準(zhǔn)確,并最終導(dǎo)致對(duì)樣本容量需求的低估。
在本文中,詳細(xì)的介紹了在比較兩個(gè)強(qiáng)化算法的時(shí)候遇到的統(tǒng)計(jì)問題。并定義了第一種錯(cuò)誤和第二種錯(cuò)誤,同時(shí)還提出了ad-hoc統(tǒng)計(jì)測試的方法進(jìn)行性能對(duì)比測試。最后,作者還介紹了在測試中選擇正確的樣本數(shù)量的方法,并通過實(shí)際案例進(jìn)行了分析和描述。
本文最重要的意義并不僅限于方法和應(yīng)用的介紹,而是基于本文的理論進(jìn)行的后續(xù)的研究。通過挑戰(zhàn)Welch's test和bootstrap測試的假設(shè),作者發(fā)現(xiàn)了幾個(gè)問題。首先,作者發(fā)現(xiàn)了在實(shí)驗(yàn)中,經(jīng)驗(yàn)推斷值和理論實(shí)際值的顯著差異。為了規(guī)避這個(gè)問題,作者提出了N=20的最低樣本容量要求,指出bootstrap測試必須使用在樣本數(shù)量N>20的情況下,只有滿足這樣的要求,才能符合false positive幾率的要求(<0.05)。其次,樣本容量N的要求在計(jì)算中很大的取決于的精度。為了順利的進(jìn)行推算和計(jì)算,在實(shí)驗(yàn)一開始就需要選擇系統(tǒng)的大于功率分析的規(guī)定。
使用 Welch's test 進(jìn)行 bootstrap 置信區(qū)間的計(jì)算;
降低 α(<0.05)的值,來確保第一種錯(cuò)誤出現(xiàn)的概率低于0.05;
正確的多重比較,以避免隨著實(shí)驗(yàn)的數(shù)量線性增長的 false positive 幾率;
使用至少 n=20 的樣本進(jìn)行曲線繪制,以獲得基于兩個(gè)算法的魯棒的估算;
使用超過功率分析的樣本數(shù)量。這可以帶來更準(zhǔn)確的準(zhǔn)備偏差估算值并降低第二種錯(cuò)誤出現(xiàn)的概率。
最后,作者非常謙虛的留言:需要注意的是,本文的作者并不是一個(gè)專業(yè)的統(tǒng)計(jì)學(xué)者,如果在文中發(fā)現(xiàn)任何統(tǒng)計(jì)學(xué)上的問題,請(qǐng)隨時(shí)與作者聯(lián)系~
via openlab-flowers.inria.fr,雷鋒網(wǎng) AI 科技評(píng)論編譯
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。