深度學習基礎 實現Softmax回歸

2021-10-08 06:26:40 字數 2290 閱讀 5257

%matplotlib inline

import d2lzh as d2l

from mxnet import gluon, init

from mxnet.gluon import loss as gloss, nn

在給出**之前,先介紹一下該資料集。fashion-mnist資料集是比mnist資料集更複雜的資料集。其中,

**如下:

batch_size =

256# root表示存放資料集的路徑

train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size, root=

'...'

)

net = nn.sequential(

)net.add(nn.dense(10)

)# softmax回歸輸出大小為10

net.initialize(init.normal(sigma=

0.01

))

# softmax運算和交叉熵損失函式合在乙個函式裡

# 且gluon提供的這個函式比手動實現的穩定性更好

loss = gloss.softmaxcrossentropyloss(

)

trainer = gluon.trainer(net.collect_params(),

'sgd'

,)

num_epochs =

5d2l.train_ch3(net, train_iter, test_iter, loss, num_epochs, batch_size,

none

,none

, trainer)

%matplotlib inline

import d2lzh as d2l

from mxnet import gluon, init

from mxnet.gluon import loss as gloss, nn

## 讀取資料

batch_size =

256# root表示存放資料集的路徑

train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size, root=

'...'

)## 定義模型並初始化

net = nn.sequential(

)net.add(nn.dense(10)

)# softmax回歸也是乙個單層全連線層,輸出大小為10

net.initialize(init.normal(sigma=

0.01))

## softmax運算和交叉熵損失函式

# softmax運算和交叉熵損失函式合在乙個函式裡

# 且gluon提供的這個函式比手動實現的穩定性更好

loss = gloss.softmaxcrossentropyloss(

)## 定義優化演算法

trainer = gluon.trainer(net.collect_params(),

'sgd',)

## 訓練模型

該電子書在「softmax回歸從0實現」部分有一些操作的小技巧,我準備也記錄在這裡。

1. 計算分類的準確率

假設y_hat是2個樣本在3個類別的**概率**的概率分布,y是這2個樣本的標籤類別,那麼計算準確率函式如下:

def

accuracy

(y_hat, y)

:return

(y_hat.argmax(axis=1)

== y.astype(

'float'))

.mean(

).asscalar(

)

2.

(好像沒有2了。。)

深度學習基礎系列(四) 理解softmax函式

深度學習最終目的表現為解決分類或回歸問題。在現實應用中,輸出層我們大多採用softmax或sigmoid函式來輸出分類概率值,其中二元分類可以應用sigmoid函式。而在多元分類的問題中,我們預設採用softmax函式,具體表現為將多個神經元的輸出,對映到0 1的區間中,按概率高低進行分類,各概率之...

數值問題 深度學習 Softmax

softmax函式 上溢和下溢數值穩定 s of tmax xi exi iex softmax x i frac e softma x xi i ex exi 問題 假設所有的x ix i xi 都等於某個常數c textbf c,理論上對所有x ix i xi 上式結果為1 n frac n1 ...

深度學習之softmax回歸

前言 softmax回歸 首先,我們看一下sigmod啟用函式,如下圖,它經常用於邏輯回歸,將乙個real value對映到 0,1 的區間 當然也可以是 1,1 這樣可以用來做二分類。接下來,我們再看一下softmax函式,其函式型別如下 那麼,softmax又是怎麼實現的呢?softmax把乙個...