1. 程式人生 > >caffe 中的損失函式分析

caffe 中的損失函式分析

目前大部分機器學習演算法都是基於統計學, 統計學習方法的三要素:模型策略和演算法。

基本步驟:

    1 得到有限的訓練資料集合

    2 確定包含所有可能的模型假設空間,即學習模型的集合

   3 確定模型選擇的準則,其學習策略

   4 實現求解最優模型的演算法,即學習的演算法

   5 通過學習方法 選擇最優模型,(剛開始隨機初始化模型)

 6 利用學習的最優模型對新資料進行預測或分析

統計學習方法 主要用有監督方法, 包括 分類標註和迴歸等問題。

策略是三大要素之一,

  有了模型的假設空間,統計學習接著需要考慮的是按照什麼樣的準則學習或選擇最優的模型,統計學習的目標在於從假設空間中選取最優的模型。

所有就有了損失函式

caffe中實現了 七種常見的損失函式

  1. 損失函式可以看做 誤差部分(loss term) + 正則化部分(regularization term)

1.1 Loss Term

  • Gold Standard (ideal case)
  • Hinge (SVM, soft margin)
  • Log (logistic regression, cross entropy error)
  • Squared loss (linear regression)
  • Exponential loss (Boosting)

loss 是估計值和真實值之對映到某一空間的誤差,而loss function就是這種誤差的描述形式,loss function反映出了對於問題的定義。在caffe中,包含了常用的loss function,主要有以下幾種:



CONTRASTIVE_LOSS 
MULTINOMIAL_LOGISTIC_LOSS
SIGMOID_CROSS_ENTROPY_LOSS
SOFTMAX_LOSS
EUCLIDEAN_LOSS
HINGE_LOSS
INFOGAIN_LOSS

Caffe中的損失函式解析

導言

在有監督的機器學習中,需要有標籤資料,與此同時,也需要有對應的損失函式(Loss Function)。

在Caffe中,目前已經實現了一些損失函式,包括最常見的L2損失函式,對比損失函式,資訊增益損失函式等等。在這裡做一個筆記,歸納總結Caffe中用到的不同的損失函式,以及分析它們各自適合的使用場景。

歐式距離損失函式(Euclidean Loss)

這個loss的具體含義就是所有樣本估計值和預測值的歐式距離平方的均值,也就是均方根誤差(MSE)。

caffe <wbr>study(3) <wbr>關於啟用函式以及loss <wbr>function

假設模型結果與測量值 誤差滿足,均值為0的高斯分佈,即正態分佈。這個假設是靠譜的,符合一般客觀統計規律。
資料x與y的條件概率:

caffe <wbr>study(3) <wbr>關於啟用函式以及loss <wbr>function
若使 模型與測量資料最接近,那麼其概率積就最大。概率積,就是概率密度函式的連續積,這樣,就形成了一個最大似然函式估計。對最大似然函式估計進行推導,就得出了求導後結果: 平方和最小公式


MSE誤差的優點是執行簡單,較容易理解,缺點就是強制預測和標註要exactly的匹配,也就是一個非0即1的概念,本節點和其他節點是獨立的,這樣帶來的問題是會導致最後的train出來的model有可能並不是那麼準確。

輸入:

預測的值: , 其中,它們的形狀為:

標籤的值: , 其中,它們的形狀為:

輸出:

損失的值:

適合場景:

迴歸,特別是其迴歸的值是實數值得時候。

對比損失函式(Contrastive loss)

輸入:

形狀: 特徵 

相關推薦

caffe 損失函式分析

目前大部分機器學習演算法都是基於統計學, 統計學習方法的三要素:模型策略和演算法。 基本步驟:     1 得到有限的訓練資料集合     2 確定包含所有可能的模型假設空間,即學習模型的集合    3 確定模型選擇的準則,其學習策略    4 實現求解最優模型

C++ 類成員函式分析

概述之前對成員變數的分佈進行了整理,今天就對成員函式進行整理。 1、非靜態成員函式C++的設計準則之一就是:非靜態成員函式至少和一般的非成員函式的執行效率相同。 為了實現上衣準則,編譯器會對非靜態成員函式進行改進,先看下面的例子: float func(const Point3d* _this) { .

faster rcnn損失函式(二)—— Smoooh L1 Loss的講解

1. 使用Smoooh L1 Loss的原因 對於邊框的預測是一個迴歸問題。通常可以選擇平方損失函式(L2損失)f(x)=x^2。但這個損失對於比較大的誤差的懲罰很高。 我們可以採用稍微緩和一點絕對損失函式(L1損失)f(x)=|x|,它是隨著誤差線性增長,而不是平方增長

SVM分類器損失函式梯度求法及理解

一、損失函式的計算公式:                                                       s(j)表示該類別錯誤分類為其他類別的估計分數。s(y(i))表示該類別正確的估值分數。這是基礎的概念。           上式還可以進一步

faster rcnn 損失函式(一)——softmax,softmax loss和cross entropy的講解

先理清下從全連線層到損失層之間的計算。來看下面這張圖,(非常好的圖)。 T類  N表示前一層特徵層flatten後的數字   fltten後的特徵      無限大小的T類                     從0-1的T類向量                   

uc/osOSSched()函式分析

OS_Sched()分析 在uc/os中總是執行優先順序最高的就緒任務,確定哪個任務優先順序最高,該由哪個優先順序人物運行了,這一工作是由任務排程器完成的,(而具體的任務切換,是任務排程器在呼叫其他函式來完成)。其中任務級的排程由函式OS_Sched()來完成,中斷級的排程由

pytorch損失函式的reduce,size_average

size_average是說是不是對一個batch裡面的所有的資料求均值 Reduce size_average result True True 對batch裡面的資料取均值 True False 對bat

『深度概念』度量學習損失函式的學習與深入理解

『深度概念』度量學習中損失函式的學習與深入理解   0. 概念簡介   度量學習(Metric Learning),也稱距離度量學習(Distance Metric Learning,DML) 屬於機器學習的一種。其本質就是相似度的學習,也可以認為距離學習。因為在一定條件下,相似度

caffe損失函式

損失函式,一般由兩項組成,一項是loss term,另外一項是regularization term。 J=L+R 先說損失項loss,再說regularization項。 1. 分對得分1,分錯得分0.gold standard 2. hinge loss(fo

CS231n——機器學習演算法——線性分類(:SVM及其損失函式

損失函式 Loss function 在線性分類(上)筆記中,定義了從影象畫素值到所屬類別的評分函式(score function),該函式的引數是權重矩陣W。 在函式中,資料 (

C++物件模型的虛擬函式分析

對於虛擬函式,知道它的含義,也能夠描述出來。參照百度百科,也就是“它提供了‘動態繫結’機制”。 可總是感覺有些迷糊,於是敲了一段程式碼出來試驗,一探究竟(程式設計環境是VC6.0)。對比程式碼和結果,一切都不言自明。 現在把程式碼和結果貼上來,作為儲存記錄,同時也歡迎大家提出意見,以臻完善。

機器學習常用損失函式

1. 損失函式 損失函式(Loss function)是用來估量你模型的預測值 f(x)f(x)值。 2. 常用損失函式 常見的損失誤差有五種: 1. 鉸鏈損失(Hinge Loss):主要用於支援向量機(SVM) 中

透徹分析C/C++memset函式(轉載只為查閱方便,若有侵權立刪)

透徹分析C/C++中memset函式       在C語言中,經常需要對記憶體進行操作,裡面涉及很多函式,但是memset函式的使用有一點需要大家格外注意,這也是我在做專案時遇到過的一個問題,除錯了很久才找出來錯誤。     &nbs

7月16日任務 shell函式 、shell的陣列、告警系統需求分析

  20.16 shell中的函式 函式就是把一段程式碼整理到了一個小單元中,並給這個小單元起一個名字,當用到這段程式碼時直接呼叫這個小單元的名字即可。 格式: function f_name() {     &nbs

keras內建的多種損失函式

        詳細講解 keras中的損失函式         mean_squared_error      

機器學習Logistic損失函式以及神經網路損失函式詳解

機器學習中最重要的三個部分為網路結構、損失函式、優化策略。 而其中以損失函式最難以理解,主要原因是需要較強的數學知識,其中用的最多的就是引數估計。 所謂引數估計就是:對未知引數θ進行估計時,在引數可能的取值範圍內選取,使“樣本獲得此觀測值”的概率最大的引數作為θ的估計,這樣選定的有利於”

關於MFCAfxGetApp函式是怎麼得到全域性物件的指標的簡要分析

#include <iostream> #include <assert.h> using namespace std; //宣告類名 class App; App* pThis = nullptr; class App { public: App() {

phpparse_url函式的原始碼及分析(scheme部分)

前言 看師傅們的文章時發現,parse_url出現的次數較多,單純parse_url解析漏洞的考題也有很多,在此研究一下原始碼(太菜了看不懂,待日後再補充Orz) 原始碼 在ext/standard/url.c檔案中 PHPAPI php_url *php_url_parse_ex(char const

神經網路損失函式的正則化項L1和L2

轉自:https://blog.csdn.net/dcrmg/article/details/80229189 神經網路中損失函式後一般會加一個額外的正則項L1或L2,也成為L1範數和L2範數。正則項可以看做是損失函式的懲罰項,用來對損失函式中的係數做一些限制

softmax交叉熵損失函式反向傳播求導過程分析

目錄 一、softmax 函式 二、損失函式 loss function 三、最後的準備工作