Distribution is all you need:這裡有12種做ML不可不知的分布

2021-01-09 機器之心Pro

選自github

作者:graykode

機器之心編譯

參與:思

機器學習開發者需要了解的 12 種概率分布,這些你都了解嗎?

機器學習有其獨特的數學基礎,我們用微積分來處理變化無限小的函數,並計算它們的變化;我們使用線性代數來處理計算過程;我們還用概率論與統計學建模不確定性。在這其中,概率論有其獨特的地位,模型的預測結果、學習過程、學習目標都可以通過概率的角度來理解。

與此同時,從更細的角度來說,隨機變量的概率分布也是我們必須理解的內容。在這篇文章中,項目作者介紹了所有你需要了解的統計分布,他還提供了每一種分布的實現代碼。

項目地址:https://github.com/graykode/distribution-is-all-you-need

下面讓我們先看看總體上概率分布都有什麼吧:

非常有意思的是,上圖每一種分布都是有聯繫的。比如說伯努利分布,它重複幾次就是二項分布,如果再擴展到多類別,就成為了多項式分布。注意,其中共軛(conjugate)表示的是互為共軛的概率分布;Multi-Class 表示隨機變量多於 2 個;N Times 表示我們還會考慮先驗分布 P(X)。

在貝葉斯概念理論中,如果後驗分布 p(θ | x) 與先驗分布 p(θ) 是相同的概率分布族,那麼後驗分布可以稱為共軛分布,先驗分布可以稱為似然函數的共軛先驗。

為了學習概率分布,項目作者建議我們查看 Bishop 的模式識別與機器學習。當然,你要是準備再過一遍《概率論與數理統計》,那也是極好的。

概率分布與特性

1. 均勻分布(連續型)

均勻分布是指閉區間 [a, b] 內的隨機變量,且每一個變量出現的概率是相同的。

2. 伯努利分布(離散型)

伯努利分布並不考慮先驗概率 P(X),它是單個二值隨機變量的分布。它由單個參數φ∈ [0, 1] 控制,φ 給出了隨機變量等於 1 的概率。我們使用二元交叉熵函數實現二元分類,它的形式與對伯努利分布取負對數是一致的。

3. 二項分布(離散型)

二項分布是由伯努利提出的概念,指的是重複 n 次獨立的伯努利試驗。在每次試驗中只有兩種可能的結果,而且兩種結果發生與否互相對立。

4.Multi-Bernoulli 分布(離散型)

Multi-Bernoulli 分布又稱為範疇分布(Categorical distribution),它的類別超過 2,交叉熵的形式與該分布的負對數形式是一致的。

5. 多項式分布(離散型)

範疇分布是多項式分布(Multinomial distribution)的一個特例,它與範疇分布的關係就像伯努利分布與二項分布之間的關係。

6.Beta 分布(連續型)

貝塔分布(Beta Distribution) 是一個作為伯努利分布和二項式分布的共軛先驗分布的密度函數,它指一組定義在 (0,1) 區間的連續概率分布。均勻分布是 Beta 分布的一個特例,即在 alpha=1、 beta=1 的分布。

7. 狄利克雷分布(連續型)

狄利克雷分布(Dirichlet distribution)是一類在實數域以正單純形(standard simplex)為支撐集(support)的高維連續概率分布,是 Beta 分布在高維情形的推廣。在貝葉斯推斷中,狄利克雷分布作為多項式分布的共軛先驗得到應用,在機器學習中被用於構建狄利克雷混合模型。

8.Gamma 分布(連續型)

Gamma 分布是統計學中的常見連續型分布,指數分布、卡方分布和 Erlang 分布都是它的特例。如果 Gamma(a,1) / Gamma(a,1) + Gamma(b,1),那麼 Gamma 分布就等價於 Beta(a, b) 分布。

9. 指數分布(連續型)

指數分布可以用來表示獨立隨機事件發生的時間間隔,比如旅客進入機場的時間間隔、打進客服中心電話的時間間隔等等。當 alpha 等於 1 時,指數分布就是 Gamma 分布的特例。

10. 高斯分布(連續型)

高斯分布或正態分布是最為重要的分布之一,它廣泛應用於整個機器學習的模型中。例如,我們的權重用高斯分布初始化、我們的隱藏向量用高斯分布進行歸一化等等。

當正態分布的均值為 0、方差為 1 的時候,它就是標準正態分布,這也是我們最常用的分布。

11. 卡方分布(連續型)

簡單而言,卡方分布(Chi-squared)可以理解為,k 個獨立的標準正態分布變量的平方和服從自由度為 k 的卡方分布。卡方分布是一種特殊的伽瑪分布,是統計推斷中應用最為廣泛的概率分布之一,例如假設檢驗和置信區間的計算。

12. 學生 t-分布

學生 t-分布(Student t-distribution)用於根據小樣本來估計呈正態分布且變異數未知的總體,其平均值是多少。t 分布也是對稱的倒鍾型分布,就如同正態分布一樣,但它的長尾佔比更多,這意味著 t 分布更容易產生遠離均值的樣本。

分布的代碼實現

上面多種分布的 NumPy 構建方式以及製圖方式都提供了對應的代碼,讀者可在原項目中查閱。如下所示展示了指數分布的構建的製圖方式,我們可以直接定義概率密度函數,再列印出來就好了。

import numpy as npfrom matplotlib import pyplot as pltdefexponential(x, lamb): y = lamb * np.exp(-lamb * x)return x, y, np.mean(y), np.std(y)for lamb in [0.5, 1, 1.5]: x = np.arange(0, 20, 0.01, dtype=np.float) x, y, u, s = exponential(x, lamb=lamb) plt.plot(x, y, label=r'$\mu=%.2f,\ \sigma=%.2f,'r'\ \lambda=%d$' % (u, s, lamb))plt.legend()plt.savefig('graph/exponential.png')plt.show()

相關焦點

  • 深度學習必懂的13種概率分布
    作為機器學習從業者,你需要知道概率分布相關的知識。這裡有一份最常見的基本概率分布教程,大多數和使用 python 庫進行深度學習有關。概率分布概述共軛意味著它有共軛分布的關係。在貝葉斯概率論中,如果後驗分布 p(θx)與先驗概率分布 p(θ)在同一概率分布族中,則先驗和後驗稱為共軛分布,先驗稱為似然函數的共軛先驗。共軛先驗維基百科在這裡。
  • 深度學習需要掌握的13個概率分布
    1.均勻分布(連續)代碼:https://github.com/graykode/distribution-is-all-you-need/blob/master/uniform.py均勻分布在 [a,b] 上具有相同的概率值
  • AI瘋狂進階——Depthwise Separable Conv is all you need?
    3.Depthwise Separable Convolution is all you need?隨著深度學習的發展,卷積神經網絡變得越來越普遍。之前很長一段時間,大家都把注意力放在通過更深和更複雜的網絡來得到更高的精度,比如很多刷榜的算法都是運用了非常複雜的技巧(實際中可能毛用都沒,這裡鄙視下那些純粹為了刷榜而刷榜的,浪費時間和精力為了個虛名而已),但是這種網絡往往在模型大小和運行速度上沒多大優勢,在實際的工程應用中可能因為應用成本太大而很難大規模商用,例如一些嵌入式平臺上的應用比如機器人和自動駕駛,手機端的一些AI應用比如人臉識別或者文字識別
  • 一步步解析Attention is All You Need!
    本文將通過細節剖析以及代碼相結合的方式,來一步步解析Attention is all you need這篇文章。
  • 【TIME】COVID-19 Vaccine Distribution Begins
    Seven months of strategizing, $18 billion in funding and it’s all come down to this.The need for a vaccine has grown increasingly urgent over the past week.
  • 雅思口語:you need to arrive early for an appointment
    點擊查看>>>>近期雅思口語高頻話題   在回答雅思口語考官「Describe a time you need to arrive early for an appointment」之前,一定要搞清楚appointment什麼意思,我們來查查牛津高階,上面的解釋是這樣的
  • need的用法(包含Need to do與need doing的區別)
    (冉老師有話說:該句中need為情態動詞,其用於疑問句中,表示「需要」。)-Need I come back home now?我現在需要回家嗎?-No, you needn't.不,你不需要。(冉老師有話說:該句答語為need的否定回答。)
  • We need WTO more than ever
    And above all, in the midst of the crisis, we should need a central body like the UN’s World Health Organisation to be as fully supported as possible in cash and kind, to enable it to perform the task
  • 一知影視傳媒工作室:I need you,期待與你的強強聯合!
    這裡是每一個熱愛鏡頭的男孩女孩們的天堂!忍者不說(暫定名)工作室全體員工參與策劃,傾注所有人的熱愛與心血的節目,一定不會差!如果你想參與其中,我們舉爪歡迎哦! 可以與我們」和藹可親」討論、協商 良好的合作精神和職業素養你可以: 是個有才藝的個人 享受鏡頭的個人 有自己的創意社團(相聲、舞蹈、二次元……)03I need you「I need you」如果你個人特色很足,有永遠填不滿的腦洞,
  • 【語法天地】你所糾結的need和help的用法,這裡給你答案!
    原標題:【語法天地】你所糾結的need和help的用法,這裡給你答案! 《語法天地》是《趣味青春英語》的一個板塊,每天為大家介紹一個考試必用的語法在裡面,簡單易懂。
  • 優質主題分享 - Best Free STEM Apps for All Ages
    所有年齡段的孩子都需要參與這種批判性思維,為大學和將來的職業做準備。Pocket Lab by UAB "Applava"(Grades 4 - 12; iOS / Android)Have you ever wondered, what is happening around us in micro world?
  • All you just have to see in Muscat, the mighty Omani capital...
    Across the intervening millennia, the region (which would ultimately become modern-day Oman) was dominated by the Assyrians, the Babylonians and the Persians, all
  • 12個高冷孤傲的句子,很有個性,適合做籤名
    If you are not prepared to spend the rest of your life together, don't disturb each other. After all, everyone is very busy and there is no need to waste each other's time.
  • 回應「Thank you」你還在用「you are welcome」嗎?太out了!
    這裡可能不表示我樂意效勞。為你/團隊/公司做貢獻我很開心Anything to make you smile/happy只要可以讓你笑/開心,我都願意做下面我們來做一個簡單的劃分:只能針對Thank you!
  • 面試時被問到「為什麼想來這裡工作?」這樣回答最討喜
    「為什麼想來這裡工作?」這是面試者幾乎必然會被問到的一個問題,但這個簡單的問題背後卻有無限玄機。怎麼回答才能不出錯呢?來聽聽一位資深HR的建議。"So why do you want to work here?"「為什麼你想來這裡工作?」
  • 是listen to you嗎?
    listen to youIf you listen to someone, you do what they advise you to do, or you believe them.如果你listen to 某個人,那麼就是說你會做那個人建議你做的事情,或者表示你相信那個人。
  • The New E-Bike Rules: What You Can Do
    The most common view was told to us by two electric scooter/e-bike manufacturers, who said that if you have a bike that is heavier than 55kg or does over 25km/h then all you
  • 20種外貿基本英文信函,給做外貿的你!
    Should you wish to place an order, please telex or fax us. 本月16日收到有關商務關係的來函,不勝欣喜。謹遵要求另函奉上最新之出口商品目錄和報價單。款項煩請以不可撤銷保兌之信用狀支付。如欲訂貨,請電傳或傳真為盼。
  • Attention is All You Need?LSTM提出者:我看未必
    他們發現,這些模型有不同的運行模式,而且更加傾向於在較高的能量最小值下運行,而後者是一種亞穩態(metastable state)。這篇論文在 Twitter、Reddit 等平臺上引發了廣泛的討論。Transformer 中的梯度在亞穩態機制中最大,在全局平均時均勻分布,在固定點臨近存儲模式時消失。基於 Hopfield 網絡的解釋,研究者分析了 Transformer 和 BERT 架構的學習。學習開始於注意力頭(attention head),它們最初平均分布,然後其中的大部分轉換為亞穩態。
  • 電影《12回合(2009)》Part1-中英文對照臺詞劇本
    需要對這個區域做個全新掃視 從1區開始Let's get all bank "A" cameras online.聯線"A"區所有攝像頭Danny? You're not feeding the dog,are you?丹尼? 你沒在餵狗吧?No. I'm looking for my badge.