做者在學習機器學習領域的各種算法時,就發現不少閃着智慧光點的各類metrics(度量)。其每每纔是一個算法的靈魂,它能夠是某種性能的度量,類似度的度量,優化目標的度量等等。做者在此總結學習到的各類度量衡,一者做爲一個總結,供本身不時翻閱,兩者拋磚引玉。 算法
1. entropy:(熵)反映一個機率分佈的不肯定性,當咱們採用機率分佈對事件進行建模時,熵能夠做爲該事件包含的信息量的度量,熵越大,信息量越少;反之,熵越小,信息量越大。有時候也用熵來度量一個機率分佈(事件)的,不肯定度和置信度。當咱們但願某個事件的不肯定度儘可能小時,能夠把該事件的熵做爲優化的目標函數。 機器學習
2. 如下三個度量在決策樹算法中,用於肯定分支。 函數
information gain:信息量增量,反映的是分支後的信息量,相對於分支前的信息量的增長量。很顯然,該度量採用了熵來衡量一個機率分佈的信息量。選擇信息量增量最大的特徵,進行分支,其目標就是使得分支後的子樹上的各樣本的不肯定度下降,即各子樹樣本類別趨向於單一化,被用於ID3算法中。在處理各屬性具備不一樣取值數量的分類問題時,Information Gain偏向於選取取值數量更多的屬性。C4.5算法引入了信息增益率。 性能
Gini impurity:反映的是,若根據各標籤在樣本中的分佈,隨機對元素打標籤後,打標籤錯誤的機率。當樣本集中,全部樣本的標籤都相同時,該隨機打標籤錯誤的機率爲0;若全部標籤的樣本均勻分佈時,該隨機打標籤錯誤的機率最大。可見,該值的單調性和Information Gain相同,被用於CART算法中。 學習
variance reduction:被CART算法引入,應用於目標變量爲連續值的狀況。不須要計算目標變量的均值,直接估計樣本集中,目標變量的方差。當樣本集中,全部樣本目標變量的值都相同時,該方差爲0;全部樣本目標變量的值趨於均勻分佈時,該方差的最大。可見該值的單調性和Information Gain、Gini Impurity相同,其優勢是應用於目標變量連續的狀況時,不須要對目標變量進行離散化。 優化
3. 詞頻(TF):用於構建文本特徵,能夠採用一個單詞在文檔中出現的頻次f表示,也能夠採用0/1表示(1表示在該文檔中出現過,0表示在該文檔中沒有出現),也能夠對頻次f取對數log(f+1)。
spa
逆文檔頻率(IDF):用單詞在全部文檔中出現的頻繁程度,來反映該單詞攜帶的信息量,假設全部文檔數量爲N,單詞在n個文檔中出現過,那麼IDF能夠取爲log(N/n),或者作一下平滑log(1+N/n)。
orm
樸素貝葉斯算法的思想分析:說到TF-IDF那就天然離不開樸素貝葉斯算法。樸素貝葉斯算法的基本理論基礎是貝葉斯公式,該公式告訴咱們能夠經過先驗機率來估計後驗機率,通俗的理解就是如今咱們知道一堆特徵,要預測某一事件發生的機率,這個問題能夠經過計算咱們以前採集的樣本中,在該事件發生時,該特徵出現的機率來解決,這貌似就是將一件徹底不知道從何下手的事情,瞬間轉化成以前已知的事情。其基本假設是用於支持分類標籤的全部特徵對分類標籤的影響是相互獨立的,也就是說全部特徵對最終分類標籤的影響能夠分解爲單個特徵對最終分類標籤的影響。這也符合一般咱們求解問題,喜歡將問題分解的思路。該假設也是樸素貝葉斯算法樸素二字的來由。
事件
在處理文檔分類問題時,能夠將單詞在文檔中的分佈當作多項式分佈,也能夠當作伯努利(0/1)分佈。多項式分佈,只考慮文檔中出現的單詞,及其出現的次數。伯努利分佈考慮文檔集中全部的單詞,根據其是否出如今文檔中,計算文檔屬於某個標籤的後驗機率。在處理樣本分佈不太均勻的多標籤分類問題時,還有一個思想是去考慮計算文檔不屬於某個標籤的後驗機率,這樣能夠減弱樣本分佈不均衡對樸素貝葉斯算法的影響,該方法也稱爲互補樸素貝葉斯算法。多項式樸素貝葉斯和伯努利樸素貝葉斯在spark的MLlib中有實現,多項式樸素貝葉斯和互補樸素貝葉斯在mahout中有實現。須要說明的是,mahout實現中計算TF-IDF的方式和上述略有差別,其計算公式爲: d=sqrt(f)*(1+log(N/(n+1)))。其中f是單詞在文檔中出現的次數,這裏TF採用了開根號的方式,IDF採用了平滑策略。 文檔
【後續】