機率不等式與集中不等式

聯集界(布爾不等式,union bound)

/ BOOL /

如果你擔心好幾件壞事可能發生,一個粗糙卻極其有用的估計是:其中至少有一件發生的機率,不超過它們各別機率的總和。若三個零件各以 1% 的機率故障,則有東西故障的機率至多 3%。這條「把風險加起來」的簡單規則就是聯集界,又叫布爾不等式。

精確地說:對任意事件 A_1, A_2, ..., A_n(不需獨立,也不需互斥),P(A_1 or A_2 or ... or A_n) <= P(A_1) + P(A_2) + ... + P(A_n)。為什麼是不等式而非等式?因為若某些壞事重疊,把它們的機率相加會重複計算重疊區域,所以聯集的真實機率只會更小。等號恰在事件互斥時成立(沒有重疊可重複計算)。它直接源自排容原理,只保留第一層、正的那一項,丟掉所有修正項。

儘管粗糙,聯集界是機率論證中最強大的工具之一。經典手法:要證明 n 個罕見壞事一個都不發生,把每個的機率界定為 delta/n;接著聯集界把總失敗機率封頂在 n 乘以 delta/n = delta。這就是你如何把對單一項目的保證,轉成對許多項目同時成立的保證——這是對大假設類的泛化界、多重檢定校正、以及對整個演算法的高機率敘述之根基。代價是:當有許多高度相關的事件時,把它們的機率相加可能嚴重高估,使界變得非常鬆。

一支程式有 1000 行,每行各自以 0.001 的機率有 bug。聯集界說 P(至少一行有 bug) <= 1000 (0.001) = 1。這裡毫無用處。但若每行有 bug 的機率是 0.00001,這個界給出至多 0.01——一個乾淨的「幾乎必然沒有 bug」保證。

把風險加起來就好:好幾件壞事中任一件發生的機率,至多是它們機率的總和。

聯集界把機率封頂在總和上,而總和可能超過 1,此時它什麼也沒說。它對互斥事件最緊,對許多重疊、相關的事件則非常鬆。

又稱
Boole's inequalityunion boundBonferroni inequality (first-order)布爾不等式聯集上界