你們可能對這個損失函數比較陌生。在機器學習領域,瞭解一個概念最直觀的最快速的方式即是從它的名字開始。前端
MarginRankingLoss也是如此,拆分一下,Margin,Ranking,Loss。機器學習
Margin:前端同窗對Margin是再熟悉不過了,它表示兩個元素之間的間隔。在機器學習中其實Margin也有相似的意思,它能夠理解爲一個可變的加在loss上的一個偏移量。也就是代表這個方法能夠手動調節偏移。固然Margin不是重點。函數
Ranking:它是該損失函數的重點和核心,也就是排序!若是排序的內容僅僅是兩個元素而已,那麼對於某一個元素,只有兩個結果,那就是在第二個元素以前或者在第二個元素以前。其實這就是該損失函數的核心了。學習
咱們看一下它的loss funcion表達式。cdn
margin咱們能夠先無論它,其實模型的含義不言而喻。blog
y只能有兩個取值,也就是1或者-1。排序
再從名字入手去分析一下。ci
Hinge:不用多說了,就是你們熟悉的Hinge Loss,跑SVM的同窗確定對它很是熟悉了。深度學習
Embedding:一樣不須要多說,作深度學習的你們確定很熟悉了,但問題是在,爲何叫作Embedding呢?我猜想,由於HingeEmbeddingLoss的主要用途是訓練非線形的embedding,在機器學習領域,由於用途和圖形來命名的例子不在少數。it
它輸入x和y(1或者-1),margin默認爲1。
餘弦損失函數,餘弦函數經常用於評估兩個向量的類似性,兩個向量的餘弦值越高,則類似性越高。