本文為大家介紹了熵的概念、計算及其在決策樹算法中的應用。
熵是機器學習的關鍵概念之一。對於任何機器學習愛好者來說,這都是必知的,但許多人對此概念仍感到困惑。本文的重點是,通過探究概率論的基本概念、公式的邏輯與意義、以及其對決策樹算法的重要性來了解熵的作用。熵一詞最早由德國物理學家、數學家魯道夫·克勞修斯(Rudolf Clausius)提出,並在熱力學領域中使用。1948年,數學家兼電氣工程師香農(Claude E. Shannon)發表了一篇關於「通信的數學理論」的論文,解決了信息度量、選擇和不確定性的問題。香農開創了資訊理論領域,因此也被稱為「資訊理論之父」。「資訊理論,是一種研究信息編碼以及信息的量化、存儲和交流的數學方法。」在他的論文中,以數學方式測量了通信信號中「丟失信息」的統計性質。這項工作的目的是,探究如何最好地編碼發送者想要傳輸的信息。為此,香農開發了信息熵作為一種估計消息中信息內容的方法,這是衡量消息丟失的不確定度的一種方法。熵一詞的英文含義是:它是一種無序(disorder)、混亂(confusion)、無組織(disorganization)的狀態。首先,什麼是信息(information)?我所說的「信息」是什麼?簡而言之,信息是從某物或某人中學到的一些事實。理論上講,我們可以理解為,信息是可以作為變量存儲、傳輸或傳遞的,可以取不同的值。換言之,變量只是存儲單位。因此,我們通過查看變量的值,從變量中獲取信息,就像通過讀取消息或信件的內容,從消息或信件中獲取細節(或信息)。熵的計算,可以基於變量中存在的不同值的數量(信息量),也可以基於變量值所具有的驚奇度(surprise)。假設您此刻收到一條消息,若該消息是先前文本的重複,則該消息完全沒有提供信息;但若該消息透露了美國大選的結果,則該消息無疑是非常有用的。這告訴我們,消息或文本中的信息量,與其中可提供的驚奇度成正比。因此,可以直觀理解,信息的這種存儲、傳輸或傳遞,與該變量中的信息量有關。現在,擴展到某個事件的結果。例如,事件是投擲一枚硬幣,它將有兩個公平的、同樣可能的結果,該結果提供較少的信息。換言之,由於硬幣的結果將是正面或反面,因此具有較少的驚奇度。因此,投擲一枚硬幣具有較低的熵。在資訊理論中,隨機變量的熵,是變量可能結果中固有的「信息量」、「驚奇度」或「不確定度」的平均水平。即,事件越具確定性,它包含的信息將越少。簡言之,信息是不確定度或熵的增加。那麼這些理論,對我們有哪些幫助呢?我們如何將其應用到機器學習模型中?為了理解這一點,首先讓我們快速了解一下決策樹算法。決策樹(Decision Tree)是一種監督學習技術,是一種分層的if-else語句,它僅是規則的集合,或者也稱為基於條件比較運算符的拆分條件。決策樹算法廣泛應用於回歸和分類問題。以下示例將汽車類型二分為轎車和運動卡車,應用決策樹算法找到因變量(response variable)與預測變量(predictors)之間的關係,並以樹形結構的形式表示該關係。圖片來源:https://media.springernature.com/original/springer-static/image/prt%3A978-1-4614-8265-9%2F19/MediaObjects/978-1-4614-8265-9_19_Part_Fig2-555_HTML.png即,異質性與不確定度之間存在聯繫:事件的異質性越大,不確定度就越大;反之,事件的同質性越大,不確定度就越小。不確定度表示為熵(Entropy)或基尼係數(Gini)。
具有一個非常獨特的屬性,即當只有兩個結果時,例如事件的概率=為1或0.50,則在這種情況下,取值如下(忽略負數):
當概率變為0時,對數值趨於無窮大,曲線的形狀變為:
熵從0到1的取值範圍,是針對二分類問題的。對於多分類問題,上述關係式仍然成立,但是取值規模可能會發生改變。
Python中的熵計算
我們仍然以前述的咖啡事件示例,計算三種不同情況下的熵值。事件Y表示獲得焦糖拿鐵。兩種口味類別的異質性或不純度公式如下:
其中,表示Y=1的概率,即事件(獲得焦糖拿鐵)發生的概率,表示Y=0的概率,即事件(獲得焦糖拿鐵)未發生的概率。
情況一:
在情況一中,當盒中裝有7袋焦糖拿鐵和3袋卡布奇諾咖啡時,要求選擇其中一個。熵值0.881即對該事件不確定度的度量。
情況二:
情況三:
信息增益(Information Gain)即是在數據中觀察到的模式,亦即熵的減少。也可以視為父節點的熵減去子節點的熵,計算方式為(1–加權熵)。
前述示例中,三種情況的熵和信息增益計算如下:
圖片來源:https://media.geeksforgeeks.org/wp-content/uploads/tr4.png
此時,子節點2(child node 2)的熵為0,因為該節點中只有1個值,不存在異質性。子節點1的熵計算如下:信息熵(香農熵)量化了隨機變量的值或隨機過程的結果中涉及的不確定度(驚奇度)。它在決策樹中的意義在於,使我們能夠計算目標變量的不純度或異質性。繼而,為了在因變量中達到最大的同質性水平,以使子節點的總熵必須小於父節點的熵的方式創建子節點。參考資料
https://en.wikipedia.org/wiki/Claude_Shannon
https://en.wikipedia.org/wiki/Information_theory
https://en.wikipedia.org/wiki/History_of_entropy#Information_theory
Entropy – A Key Concept for All Data Science Beginnershttps://www.analyticsvidhya.com/blog/2020/11/entropy-a-key-concept-for-all-data-science-beginners/劉思婧,清華大學新聞系研一在讀,數據傳播方向。文理兼愛,有點小情懷的數據愛好者。希望結識更多不同專業、不同專長的夥伴,拓寬眼界、優化思維、日日自新。
工作內容:需要一顆細緻的心,將選取好的外文文章翻譯成流暢的中文。如果你是數據科學/統計學/計算機類的留學生,或在海外從事相關工作,或對自己外語水平有信心的朋友歡迎加入翻譯小組。
你能得到:定期的翻譯培訓提高志願者的翻譯水平,提高對於數據科學前沿的認知,海外的朋友可以和國內技術應用發展保持聯繫,THU數據派產學研的背景為志願者帶來好的發展機遇。
其他福利:來自於名企的數據科學工作者,北大清華以及海外等名校學生他們都將成為你在翻譯小組的夥伴。
點擊文末「閱讀原文」加入數據派團隊~
轉載須知
如需轉載,請在開篇顯著位置註明作者和出處(轉自:數據派ID:DatapiTHU),並在文章結尾放置數據派醒目二維碼。有原創標識文章,請發送【文章名稱-待授權公眾號名稱及ID】至聯繫郵箱,申請白名單授權並按要求編輯。
發布後請將連結反饋至聯繫郵箱(見下方)。未經許可的轉載以及改編者,我們將依法追究其法律責任。
點擊「閱讀原文」擁抱組織