貝葉斯神經網絡(BNNs)是指通過後驗推理擴展標準網絡以控製過擬合。從更廣泛的角度來看,貝葉斯方法使用統計方法,使所有事物都有一個概率分布,包括模型參數(神經網絡中的權重和偏差)。在編程語言中,可以取特定值的變量將在每次訪問該特定變量時產生相同的結果。讓我們從一個簡單線性模型的修正開始,該模型將通過一係列輸入特征的加權和來預測輸出。相比之下,在貝葉斯世界中,你可以有類似的實體,也稱為隨機變量,每次你訪問它都會給你不同的值。在貝葉斯術語中,曆史數據代表了我們對整體行為的先驗知識,每個變量都有自己的統計屬性,這些屬性隨時間而變化。假設X是一個代表正態分布的隨機變量,每次訪問X,返回的結果都會有不同的值。這個從隨機變量中獲取一個新值的過程叫做抽樣。結果值取決於隨機變量的相關概率分布。這意味著,在參數空間中,人們可以推斷神經網絡學習參數的性質和形狀。最近,隨著諸如PyMC3、Edward、Stan等眾多概率編程庫的出現,這一領域出現了很多活動。貝葉斯方法被應用於許多領域:從遊戲開發到藥物研發。
貝葉斯方法允許您考慮答案的整個分布,而不是考慮一個問題的單個答案。使用這種方法,您可以自然地解決以下問題: