什麼是機器學習中的cross entropy

2020-12-03 Freedom路

entropy是用於表示二元分類器的誤差,而cross entropy則用於表示多元分類器的誤差。

對於一個用的測試樣本的元分類器,那麼cross entropy的計算公式如下:

比如一個三元分類問題,有兩個測試樣本,第一個樣本:

預測出來的概率為,實際標籤為,寫成one-hot的形式是;

第二個樣本:

預測出來概率為,實際標籤為,one-hot的形式為

那麼cross-entropy為

LogLoss是越小越好,至於多小是好,並沒有統一標準。這個要根據實際問題來看。我參加過兩個用LogLoss做標準的比賽,一個比賽的第一名是0.01左右,另外一個是0.4左右。用其他數據的LogLoss作為自己模型的標準,參考意義不大。

假如我們現在有個訓練集,100萬個數據點,其中10萬個為陽性,那麼總體上每個樣本為1的概率可近似認為是0.1。通常來說,測試集的分布是非常接近於訓練集的,那麼測試集中大概有10%的樣本為陽性。如果我們預測測試集中每個樣本為1的概率都為0.1,那麼logloss會是多少呢?

假如總體分布是每個樣本以的概率p為陽性,我們預測每個樣本為陽性的概率都為p,那麼logloss 是多少呢?

很顯然

所以最差的情況就是,樣本正好是一半陽性一半陰性,此時你按照上面方面預測(亂猜)出的logloss是0.693。換句話說,只要loglss是在0.693以上,就基本說明了模型是失敗的。

相關焦點

  • TensorFlow四種Cross Entropy算法實現和應用
    和tf.nn.weighted_cross_entropy_with_logits,詳細內容參考API文檔 https://www.tensorflow.org/versions/master/api_docs/python/nn.html#sparse_softmax_cross_entropy_with_logitssigmoid_cross_entropy_with_logits
  • TensorFlow四種Cross Entropy算法的實現和應用
    sigmoid_cross_entropy_with_logits我們先看sigmoid_cross_entropy_with_logits,為什麼呢,因為它的實現和前面的交叉熵算法定義是一樣的,也是TensorFlow最早實現的交叉熵算法。
  • 可視化理解 Binary Cross-Entropy
    介紹如果你正在訓練一個二分類器,很有可能你正在使用的損失函數是二值交叉熵/對數(binary cross-entropy / log)。你是否想過使用此損失函數到底意味著什麼?問題是,鑑於如今庫和框架的易用性,很容易讓人忽略所使用損失函數的真正含義。
  • 入門| 機器學習中常用的損失函數你知多少?
    本文將介紹幾種損失函數及其在機器學習和深度學習領域的應用。沒有一個適合所有機器學習算法的損失函數。針對特定問題選擇損失函數涉及到許多因素,比如所選機器學習算法的類型、是否易於計算導數以及數據集中異常值所佔比例。從學習任務的類型出發,可以從廣義上將損失函數分為兩大類——回歸損失和分類損失。
  • AAAI 2019 |把Cross Entropy梯度分布拉「平」,就能輕鬆超越Focal...
    直接把 cross entropy 產生的 gradient distribution 標準化到 uniform 就可以輕鬆訓練單階段物體檢測模型。該論文已經被 AAAI 2019 會議接受為 Oral 論文,基於 PyTorch+MMDet 的代碼已經放出。
  • AAAI 2019 | 把Cross Entropy梯度分布拉「平」,就能輕鬆超越Focal Loss
    直接把 cross entropy 產生的 gradient distribution 標準化到 uniform 就可以輕鬆訓練單階段物體檢測模型。該論文已經被 AAAI 2019 會議接受為 Oral 論文,基於 PyTorch+MMDet 的代碼已經放出。
  • cross什麼意思
    cross什麼意思cross的英文解釋很多A cross第二種:運動中橫傳的名詞和動詞。第四種:英式英語中,cross做名詞可以指用來標示位置信息或者標示錯誤的叉號×。作動詞是金融專業名詞,指的是在支票中間劃兩道線(用來指明需要轉入銀行帳戶中)。
  • 機器學習乾貨|交叉驗證(Cross Validation)詳解
    交叉驗證應用場景主要在模型訓練中,在給定的樣本空間中,拿出大部分樣本作為訓練集,小部分樣本使用剛建立的模型進行測試,並求這小部分樣本的預測誤差或者預測精度,同時記錄它們的加和平均值,這個過程迭代K次,即K折交叉。把每個樣本的預測誤差平方加和,稱為預測誤差。
  • cross是穿過,finger是手指,那cross one's fingers是什麼意思?
    我們知道cross有「穿過,越過」的意思,finger的意思是「手指」,那cross one's fingers是什麼意思呢?cross one's fingers的意思是「to hope very much that something will happen」,即「祈求好運,希望」。這句習語源於基督教。
  • 機器學習模型評估指標Python代碼示例
    我們什麼時候評估我們的機器學習模型呢?答案不是只有一次。通常,我們在實際的數據科學工作流中兩次使用機器學習模型驗證指標:模型比較:為您的任務選擇最佳機器學習(ML)模型模型改進:調整超參數為了更清楚地了解這兩者之間的區別,讓我通過機器學習(ML)實現的工作流程來解釋。
  • 推薦 | 一份關於MULTI-SCALE ENTROPY的指南!
    Sample entropy calculated for the four sample noise signals are shown in the figure on the right (r = 0.15, m = 2; matlab code for sample entropy calculation).
  • 理解損失函數(代碼篇)機器學習你會遇到的「坑」
    我們接下來減小正常點的個數:X, y = make_regression(n_samples=15, n_features=1, random_state=0,noise=4.0,bias=100.0)如圖,正常點所佔的比重越小,普通的Loss就無法適應,它所決定出的回歸方程幾乎沒有什麼預測能力
  • 僅需10分鐘:開啟你的機器學習之路
    機器學習之路雖漫漫無垠,但莘莘學子依然紛紛投入到機器學習的洪流中。如何更有效地開始機器學習呢?所謂「八仙過海,各顯神通」,本文作者以Python語言為工具進行機器學習,並以Kaggle競賽中的鐵達尼號項目進行詳細解讀。跟著小編來看看吧!隨著行業內機器學習的崛起,能夠幫用戶快速迭代整個過程的工具變得至關重要。
  • 機器學習裡的歐氏距離
    在機器學習裡,距離是嚴謹的,需要一個精確的公式來計算。許多機器學習的常見算法都需要用到距離函數,即用於計算兩個不同觀測(obs)之間的距離。以癌症組織的轉錄組測序數據為例,不同的癌症樣本即不同的觀測,兩個樣本間的距離越短,意味著它們之間越相似,在各種非監督聚類算法中更容易被歸為同一類。距離函數五花八門,歐氏距離應該算得上其中「最簡單」和「最直觀」的距離函數了。
  • 機器學習是什麼
    講解對象:機器學習是什麼作者:融水公子 rsgz對象:機器學習是什麼英文名:machine learning又稱:預測分析(predictive analytics)或統計學習(statistical learning)實質
  • 深度學習中常見的損失函數
    先看tf.nn.sigmoid_cross_entropy_with_logits(logits,targets)函數,它的實現和之前的交叉熵算法定義是一樣的,也是TensorFlow最早實現的交叉熵算法。
  • 機器學習:Python中的四種機器學習技巧
    機器學習技術與算法眾所周知,機器學習是技術和算法的結合。但在開始關注技術和算法之前,讓我們看看它們是否是同一個東西。技術是解決問題的一種方法,這是一個非常通用的術語。 但是,當我們說我們有一個算法時,意思是我們有一個輸入,並希望從中得到一定的輸出,明確規定了實現目標的步驟。
  • 算法應用|機器學習python應用,簡單機器學習項目實踐
    上一篇文章中介紹了機器學習的簡單知識,還有python中進行機器學習實踐需要的生態環境,接下來將會通過鳶尾花分類這個例子對機器學習做一個簡要的介紹。通過一步一步地實現這個項目來介紹以下內容。導入和使用python中機器學習的各個方面的類庫。導入數據,並通過描述性分析、可視化等對數據進行分析。創建六個模型,並從中選擇準確度最高的模型。
  • 收藏 | 機器學習、NLP、Python和Math最好的150餘個教程
    最近,我一直在網上尋找關於機器學習和NLP各方面的好資源,為了幫助到和我有相同需求的人,我整理了一份迄今為止我發現的最好的教程內容列表。通過教程中的簡介內容講述一個概念。避免了包括書籍章節涵蓋範圍廣,以及研究論文在教學理念上做的不好的特點。我把這篇文章分成四個部分:機器學習、NLP、Python和數學。