常見的損失函式
求損失函式時的標籤需要時onehot格式的
def
mean_squared_error
(y, t)
:#y是輸出值,t是標籤
return
0.5* np.
sum(
(y-t)**2
)
log以e為底,這裡只考慮正確值**的概率了,不考慮其他類別**值之間的關係
def
cross_entropy_error
(y, t)
: delta =1e-
7#delta是乙個微小值,防止出現log(0)
return
-np.
sum(t * np.log(y + delta)
)
從資料集中抽取batch集
import numpy as np
train_size = x_train.shape[0]
batch_size =
10 batch_mask = np.random.choice(train_size, batch_size)
#隨機在0到train_size-1之間生成batch_size個數
x_batch = x_train[batch_mask]
t_batch = t_train[batch_mask]
single-batch&mini-batch都可以使用的交叉熵誤差
def
cross_entropy_error
(y, t)
:if y.ndim ==1:
#陣列維數
t = t.reshape(
1, t.size)
y = y.reshape(
1, y.size)
batch_size = y.shape[0]
return
-np.
sum(t * np.log(y +1e-
7))/ batch_size
最後一句如果標籤不是onehot格式
return
-np.
sum(np.log(y[np.arange(batch_size)
, t]+1e
-7))
/ batch_size
#np.arange(start,stop,step) 生成array陣列
#log是把t處的概率值定位出來
注意這裡一系列陣列的巧妙應用,避免了很多迴圈
損失函式 損失函式 Hinge
本文討論hinge損失函式,該函式是機器學習中常用的損失函式之一。在機器學習中,hinge loss是一種損失函式,它通常用於 maximum margin 的分類任務中,如支援向量機。數學表示式為 其中 表示 輸出,通常都是軟結果 就是說輸出不是0,1這種,可能是0.87。表示正確的類別。其函式影...
常見損失函式 損失函式選擇方法
神經網路的學習通過某個指標表示現在的狀態,然後以這個指標為基準,尋找最優權重引數,這個指標就是損失函式 loss function 如上介紹,神經網路損失函式 loss function 也叫目標函式 objective function 的作用 衡量神經網路的輸出與預期值之間的距離,以便控制 調節...
損失函式 SRGAN損失函式(目標函式)詳解
srgan的特點之一就是引進了損失感知函式,由此提公升了超解析度之後的細節資訊。本文主要像您介紹srgan使用的損失函式,及其keras實現。這是原文中給出的損失函式。容易看出,此損失函式包括兩部分,第一部分是感知損失,第二部分是正則化損失。感知損失是由李飛飛團隊提出的一種損失函式。感知損失分了兩部...