python規模大小的指標是 訓練資料多少才夠用

2021-10-11 16:57:25 字數 2002 閱讀 2001

本文將介紹以下內容:

呈現回歸和計算機視覺任務的經驗訓練資料大小。

給定統計檢驗的預期功效,討論如何確定樣本量。

介紹統計理論學習,關於控制訓練資料大小的內容。

提供問題的答案:隨著訓練資料的增長,效果會繼續提高嗎?在深度學習的情況下會發生什麼?

我們將提出一種方法來確定分類中的訓練資料大小。

最後,我們將提供乙個問題的答案:訓練資料的增長是否是處理不平衡資料的最佳方式?

訓練資料量的經驗界限

讓我們首先根據我們使用的模型型別,討論一些廣泛使用的經驗方法來確定訓練資料的大小:

·計算機視覺:對於使用深度學習的影象分類,經驗法則是每類1,000個影象,如果使用預訓練模型,這個數字可以顯著下降。

假設檢驗樣本大小的確定

假設檢驗是資料科學家可用於測試群體之間差異。鑑於測試的功效,通常需要確定樣本量。

讓我們考慮這個例子:乙個科技巨頭已搬到a市,那裡的房價急劇**。記者想知道,公寓的新平均**是多少。考慮到公寓**在60k的標準差和10k的可接受誤差範圍,在95%的置信度下,他應該平均多少公寓銷售**,?相應的公式如下所示; n是他需要的樣本大小,1.96是對應95%置信度標準正態分佈的數字,

根據上述等式,記者需要考慮約138個公寓**。

上述公式根據具體測試而變化,但總是包括置信區間,可接受的誤差範圍和標準偏差的度量。

資料規模訓練的統計學習理論

讓我們首先介紹著名的vapnik-chevronenkis(vc)維度。 vc維度衡量模型的複雜程度;模型越複雜,vc維度越高。在下一段中,我們將介紹乙個根據vc指定訓練資料大小的公式。

首先,讓我們看乙個經常用來展示如何計算vc的例子:想象一下,我們的分類器是二維平面中的直線,我們有3個點需要分類。無論這3個點的正/負的組合可能是(所有正數,2個正數,1個正數等),直線可以正確地分類/分離正樣本和負樣本。因此,線性分類器vc維數至少為3,並且因為我們可以找到4個點的例子,這些點不能用線準確分開,我們說線性的vc分類器正好是3.事實證明,訓練資料大小n是vc的函式:

其中d是失敗的概率,epsilon是學習錯誤率。 因此,學習所需的資料量取決於模型的複雜程度。 其***是眾所周知的用於訓練資料的神經網路的貪婪,因為它們具有顯著的複雜性。

隨著訓練資料的增長,效果會繼續提高嗎? 在深度學習的情況下會發生什麼?

圖1顯示了在傳統機器學習演算法和深度學習的情況下,機器學習演算法的效能如何隨著資料大小的增加而變化。具體而言,對於傳統的機器學習演算法,效能根據冪律增長,然後達到穩定水平。關於深度學習,有關效能如何隨著資料量的增加而擴充套件的重要研究。圖1顯示了目前大部分研究的共識;對於深度學習,根據冪律,效能隨著資料大小而不斷增加。

一種確定分類中訓練資料大小的方**

在分類中,我們通常使用略微不同的學習曲線形式;它是分類準確度與訓練資料大小的關係圖。確定訓練資料大小的方法很簡單:確定您的領域的學習曲線的確切形式,然後,只需在圖上找到您想要的分類準確度的相應點。例如,用冪律函式表示:

其中y是分類精度,x是訓練集,b1,b2對應於學習率和衰減率。 引數根據問題域而變化,並且可以使用非線性回歸或加權非線性回歸來估計它們。

訓練資料的增長是應對不平衡資料的最佳方式嗎?

在資料不平衡的情況下,準確度不是分類器效能的最佳度量。原因很直觀:讓我們假設負類是主導類。然後我們可以通過在大多數時間**負值來實現高精度。相反,他們建議將精確度和召回率(也稱為靈敏度)作為衡量不平衡資料效能的最佳方法。除了上面描述的明顯的準確性問題之外,作者還聲稱,對於不平衡域,測量精度本質上更為重要。例如,在醫院報警系統中,高精度意味著當警報響起時,很可能確實存在患者的問題。

通過適當的效能測量,作者比較了python scikit-learn庫中的不平衡校正技術,並簡單地使用了更大的訓練資料集。具體而言,他們使用k-nearest鄰居和不平衡校正技術對50,000個例子的藥物發現相關資料集進行比較,然後在大約100萬個例子的原始資料集上與k-nn進行比較。上述包中的不平衡校正技術包括欠取樣,過取樣和整合學習。作者重複了200次實驗。他們的結論簡單而深刻:在測量精度和召回方面,沒有不平衡校正技術可以匹配新增更多的訓練資料。

-end-

專 · 知

實訓python的日記 python實訓第一天

實訓第一天總結 常量 常量也是變數,在python中大家都規定只要是大寫的變數都稱之為常量 使用者與程式互動 數字型別 整型int 浮點型float 字串型別 列表型別 字典型別 在 內,都逗號隔開,可存放多個值,每個值以key value的形式儲存 存 dict1 取 print dict1 na...

指標的大小legend

指標的大小 include include using namespace std void main double x a cout 1.無論指標變數指向任何型別的變數它所佔位元組都是4個位元組。因為指標只儲存變數的首位元組的位址。在32位作業系統中,cpu位址匯流排為32,乙個位址匯流排有兩種狀...

指標的大小 sizeof問題

原文在此 指標的大小是問 乙個指標變數占用多少記憶體空間?分析 既然指標只是要儲存另乙個變數的位址,注意,是存放一變數的位址,而不是存放乙個變數本身,所以,不管指標指向什麼型別的變數,它的大小總是固定的 只要能放得下乙個位址就行!這是一間只有菸盒大小的 房間 因為它只需要入一張與著位址的紙條 所以,...