מושגי ליבה
這篇研究論文提出了一種新的算法,用於測試概率分佈的支持度大小,其效率優於現有的基於學習直方圖的方法。
本文探討了關於未知概率分佈 p 的兩個問題:
需要多少個 p 的樣本來測試 p 是否支持 n 個元素?具體來說,給定 p 的樣本,確定它是否最多支持 n 個元素,或者它是否“ε-far”(以總變量距離)於支持 n 個元素。
給定 p 的 m 個樣本,我們可以產生的支持度大小的最大下界是多少?
問題 (1) 的最佳已知上界使用了一種學習分佈 p 的直方圖的通用算法,它需要 Θ(n/ε² log n) 個樣本。我們證明了可以使用 O(n/ε log n log(1/ε)) 個樣本來更有效地完成測試,而不是學習直方圖,這幾乎與最佳已知下界 Ω(n/ε log n) 相匹配。該算法還為問題 (2) 提供了更好的解決方案,產生了比先前工作更大的支持度大小下界。證明依賴於對切比雪夫多項式逼近在設計為良好逼近範圍之外的分析,並且本文旨在作為切比雪夫多項式方法的可訪問且獨立的闡述。
通常需要根據概率分佈做出決策。例如,您可能需要根據未知分佈的支持度大小做出決策:
示例 1.1 湖中有一群魚,可以用一組可能的魚類上的概率分佈 p 來描述。您想保存每個物種的標本。您不知道有多少條魚或魚類,並且您只有 10000 個樣品罐。夠了嗎,還是您應該購買更多?您想在以下選項之間做出決定:
湖中最多有 10000 種魚。(您有足夠的罐子。)
任何 10000 種魚的集合都將遺漏至少 0.1% 的種群,即 0.1% 的魚將屬於不在集合中的物種。(您需要更多罐子。)
最簡單的策略是隨機採樣魚,直到您裝滿所有罐子,如果您繼續看到新物種,請購買更多罐子。當然,您更願意提前預測是否需要更多罐子。在您做出此決定(並且正確率至少為 99%)之前,您需要採樣多少條魚?
用於做出此類決策的最佳已知算法通過學習分佈的直方圖(非零概率密度的無序多重集 {pi|pi ≠ 0})來工作。在本文中,我們證明了有一種更節省樣本的方法。形式上,問題是要區分支持度大小最多為 n 的分佈和那些與支持度大小最多為 n 的分佈 ε-far 的分佈。當對於每個支持度大小為 |supp(q)| ≤ n 的概率分佈 q,p 和 q 之間的總變量 (TV) 距離為 distTV(p, q) > ε 時,我們說 p 與支持度大小最多為 n 的分佈 ε-far。然後:
定義 1.2(測試支持度大小) 樣本複雜度為 m(n, ε, σ) 的支持度大小測試器是一種算法 A,它將參數 n ∈ N、ε ∈ (0, 1) 和 σ ∈ (0, 1) 作為輸入。它從 N 上的未知概率分佈 p 中提取一個大小為 m = m(n, ε, σ) 的獨立樣本多重集 S,並且其輸出必須滿足:
如果 |supp(p)| ≤ n,則 PS[A(S) 輸出接受] ≥ σ;並且
如果 p 與支持度大小最多為 n 的分佈 ε-far,則 PS[A(S) 輸出拒絕] ≥ σ。
除非另有說明,否則我們設置 σ = 3/4。
測試支持度大小是一個基本的統計決策問題(例如,參見教科書 [Gol17,§11.4] 和最近的工作 [GR23,AF24,AFL24]),它是許多其他常用任務的基礎。例如,它是估計支持度大小問題的決策版本——該問題的歷史可以追溯到 Fisher [FCW43]、Goodman [Goo49] 以及 Good & Turing [Goo53];有關調查,請參見 [BF93],以及包括 [RRSS09,VV11a,VV17,WY19,HO19b] 在內的更多最新工作。測試支持度大小對於理解屬性測試中的測試與學習問題也很重要。
測試與學習分佈。 測試支持度大小是一個分佈測試問題,它是一種屬性測試。屬性測試中的一種基本技術是 [GGR98] 的通過學習進行測試的方法,其中測試器學習輸入的近似值並根據此近似值做出決策。屬性測試中的一個指導性問題是:什麼時候可以擊敗這種技術?
學習一個域為 [n] 的分佈 p 需要 Θ(n/ε²) 個樣本,直到 TV 距離 ε(例如,參見調查 [Can20])。最近的顯著而令人驚訝的工作 [VV11a,VV17,HJW18,HO19a] 證明了域為 [n] 的分佈 p 的直方圖只需 Θ(n/ε² log n) 個樣本即可學習——這是域的一小部分。這意味著可以使用 O(n/ε² log n) 個樣本來測試支持度大小——或執行其他幾個任務——來學習直方圖。如教科書 [Gol17] 和最近的工作 [GR23,AFL24] 所述,當承諾真實支持度大小滿足 |supp(p)| = O(n) 時,這種通過學習進行測試的算法為測試支持度大小提供了最佳已知上界。沒有這個承諾,似乎沒有簡單的方法可以從已知結果中獲得類似的界限(參見 [GR23,pp.21] 和附錄 C 中的討論,我們在其中概述了從 [VV16] 中獲得 O(n/ε³ log n) 界限的論點)。我們證明了可以擊敗通過學習進行測試的算法,同時也消除了對真實支持度大小的任何限制:
定理 1.3 對於所有 n ∈ N 和 ε ∈ (0, 1),未知分佈 p(在任何可數域上)的測試支持度大小的樣本複雜度最多為
m(n, ε) = O(n/ε log n · min {log(1/ε), log n})。
就示例 1.1 而言,如果您有 n 個罐子,則可以在採集 O(n/ε log n log(1/ε)) 個樣本後決定是否購買更多罐子,填充的罐子不到亞線性 O(log(1/ε)/ε log n) 分數。定理 1.3 幾乎與最佳已知下界 Ω(n/ε log n) 相匹配(可以從 [VV11a,WY19] 的下界推導出來)。關於這個問題的一個重要說明是,在定理 1.3 的設置中,估計支持度大小的相關問題是不可能的:p 的未知支持度大小是無界的,並且概率密度 pi 可以任意小。如果做出假設以避免這些問題,那麼當承諾每個非零密度 pi 滿足 pi > 1/k 時,存在 Θ(k/log k log²(1/ε)) 的緊界來估計支持度大小到 ±εk [WY19,HO19b](另見 [RRSS09,VV11a,ADOS17,VV17])。回想一下示例 1.1,k 將是湖中魚的總數,而在我們的結果中,n 是物種的數量。
支持度大小的良好下界。 引用 I. J. Good 在 [BF93] 中的話,“我不相信通常可以估計未見物種的數量 [即支持度大小]。. . 但只能估計該數字的近似下界。” 因此,代替估計,我們可以獲得的最佳下界是多少?
問題 1.4 給定來自分佈 p 的 m 個樣本和參數 ε ∈ (0, 1),我們可以輸出的最大數字 bS 是多少,同時仍然滿足 bS ≤ (1 + ε)|supp(p)|?
我們的算法可以僅從 m 個樣本中產生低至 Ω(ε/log(1/ε) m log m) 的下界。
讓我們形式化這些下界的質量。對於這樣的“良好”下界 bS 的一個合理目標是它應該超過 ε 有效支持度大小,即覆蓋 1 - ε 概率質量的最小元素數:
定義 1.5(有效支持度大小) 對於 N 上的任何概率分佈 p 和任何 ε ∈ (0, 1),我們將 ε 有效支持度大小 effε(p) 定義為最小的 k ∈ N,使得存在分佈 q 滿足 |supp(q)| = k 且 distTV(p, q) ≤ ε。
在沒有對分佈做出任何假設的情況下,有效支持度大小是一個更自然的估計目標,因為它考慮了支持中任意多個元素可能包含任意小的概率質量這一事實。有效支持度大小已在 [CDS18,BCG19] 中使用,並且在 [Gol19a,Gol19b,NT23] 中分析了估計它的算法,但這些算法假設算法可以通過查詢元素 i 來學習概率密度 pi。我們的算法僅使用樣本就提供了一個良好的下界:
推論 1.6 對於所有 n ∈ N 和 ε ∈ (0, 1),都存在一種算法,該算法從任意分佈 p 中最多提取 O(n/ε log n · min{log(1/ε), log n}) 個樣本,並輸出一個數字 bS,該數字滿足(概率至少為 3/4)
min{effε(p), n} ≤ bS ≤ (1 + ε)|supp(p)|。
我們不知道有任何先前的工作側重於這種類型的保證,儘管它看起來很自然:算法輸出的值 bS 可以用於示例 1.1 之類的問題,以預測取決於支持度大小的任務所需的資源。該算法將告訴我們:
如果 bS < n(例如,如果我們承諾 |supp(p)| < n/2,就會出現這種情況),那麼 bS 個單位(罐子)足以覆蓋分佈,直到移除 ε 質量,並且少於 ≈bS 個單位將無法覆蓋整個分佈。此外,我們使用比學習直方圖所需的更少的樣本來獲得此估計。
如果 bS ≥ n,那麼我們已經了解到我們需要超過 ≈bS 個單位來覆蓋分佈。
讓我們將此結果轉化為問題 1.4 的答案。對於固定的樣本量 m,將 bS 作為樣本中出現的不同元素的數量的天真方法產生了一個下界 bS ≤ |supp(p)|,該下界超過 min{effε(p), Θ(εm)}(參見命題 2.2)。直方圖學習器(如果它們被證明可以在沒有對真實支持度大小做出假設的情況下成功完成此任務)會產生一個下界 bS ≤ (1+ε)|supp(p)|,該下界超過 min{effε(p), Θ(ε²m log m)}。我們的算法將此下界改進為 min{effε(p), Θ(ε/log(1/ε) m log m)}。
測試與學習布爾函數。 測試分佈的支持度大小對於理解布爾函數的測試與學習也很重要。可以說,最容易理解的學習模型是與分佈無關的基於樣本的 PAC 模型:算法接收形式為 (x, f(x)) 的樣本,其中 x ∼ p 是從未知分佈中提取的,並由未知函數 f : X → {0, 1} 標記,該函數承諾屬於假設類 H。算法應該輸出一個函數 g ∈ H,使得 Px∼p[f(x) ≠ g(x)] ≤ ε。(要求 g ∈ H 稱為適當的 PAC 學習。)
而 PAC 學習器假設輸入 f 屬於假設類 H,H 的測試器是一種測試此假設的算法:
定義 1.7(與分佈無關的基於樣本的測試;參見正式定義 5.1) 給定標記樣本 (x, f(x)),其中 x ∼ p 從未知分佈 p 中提取並由未知函數 f 標記,確定 (1) f ∈ H 或 (2) f 與 H 中的所有函數 g 都是 ε-far,這意味著 Px∼p [f(x) ≠ g(x)] ≥ ε。
可以通过运行适当的 PAC 学习器并检查它是否有效来完成测试 H [GGR98]。测试算法的一个动机是帮助模型选择,即为学习选择合适的假设类 H。为了做到这一点,测试器应该比学习器更有效。适当的 PAC 学习的样本复杂度在 Ω(VC/ε) 和 O(VC/ε log(1/ε)) 之间,其中 VC 是 H 的 VC 维度(并且有一些例子表明任何一个界限都很紧)[BEHW89,Han16,Han19]。但是,对于测试的样本复杂度没有类似的表征,并且不知道什么时候可以做得比通过 PAC 学习进行测试的方法更好。
事实上,关于在与分佈无关的基于样本的设置中的属性测试知之甚少,并且没有多少积极的结果(例如,参见 [GR16,Gol17,RR20,BFH21,RR22])。例如,具有 |f⁻¹(1)| ≤ n 的函数 f : N → {0, 1} 的基本类 Hn 对于使用样本进行的适当学习具有 Θ(VC/ε) 的紧界,但是对于使用样本进行的测试,在 VC 和 ε 方面的紧界尚不清楚。使用 [VV17,WY19] 中支持度大小估计的下界,[BFH21] 为此类和其他几个类(例如,半空间、k 交替函数等)显示了 Ω(VC/ε log VC) 形式的下界。这仍然为有趣的