損失函式python實現

2021-10-03 23:56:52 字數 1393 閱讀 2104

常見的損失函式

求損失函式時的標籤需要時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實現。這是原文中給出的損失函式。容易看出,此損失函式包括兩部分,第一部分是感知損失,第二部分是正則化損失。感知損失是由李飛飛團隊提出的一種損失函式。感知損失分了兩部...