本節書摘來異步社群《貝葉斯方法:機率程式設計與貝葉斯推斷》一書中的第1章,第1.1節,作者:【加】cameron davidson-pilon(卡梅隆 戴維森-皮隆),更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
貝葉斯方法:機率程式設計與貝葉斯推斷
盡管你已是一個程式設計老手,但bug仍有可能在代碼中存在。于是,在實作了一段特别難的算法之後,你決定先來一個簡單的測試用例。這個用例通過了。接着你用了一個稍微複雜的測試用例。再次通過了。接下來更難的測試用例也通過了。這時,你開始覺得也許這段代碼已經沒有bug了。
如果你這樣想,那麼恭喜你:你已經在用貝葉斯的方式思考!簡單地說,貝葉斯推斷是通過新得到的證據不斷地更新你的信念。貝葉斯推斷很少會做出絕對的判斷,但可以做出非常可信的判斷。在上面的例子中,我們永遠無法100%肯定我們的代碼是無缺陷的,除非我們測試每一種可能出現的情形,這在實踐中幾乎不可能。但是,我們可以對代碼進行大量的測試,如果每一次測試都通過了,我們更有把握覺得這段代碼是沒問題的。貝葉斯推斷的工作方式就在這裡:我們會随着新的證據不斷更新之前的信念,但很少做出絕對的判斷,除非所有其他的可能都被一一排除。