Keras引數設定說明

2021-08-28 18:10:57 字數 2910 閱讀 9135

(一)keras引數:loss

定義:loss是目標函式(損失函式)

可用目標函式:

-回歸問題(loss='mse' | 'mae' | 'mape')

-分類問題(loss='binary_crossentropy' | 'categorical_crossentropy')

tip:1.binary_crossentropy作為目標函式用於二分類

2.categorical_crossentropy作為目標函式用於多分類且標籤採用one-hot編碼

**如下:

from keras.utils import to_categorical

y = to_categorical(y,num_classes=labels)

(二)keras引數:optimizer

定義:optimizer是優化器(優化引數的演算法)

可用的優化器:

1.sgd(隨機梯度下降)

from keras.optimizers import sgd

sgd = sgd(lr=0.01,momentum=0,decay=0,nesterov=false)

lr:學習率 momentum:動量引數

decay:(每次更新)學習率的衰減值

nesterov:是否使用nesterov動量

2.rmsprop(均方根反向傳播)

from keras.optimizers import rmsprop

rmsprop = rmsprop(lr=0.001,rho=0.9,epsilon=none,decay=0)

lr:學習率 rho:衰減因子

epsilon:模糊因子 decay:(每次更新)學習率的衰減值

tip:該演算法是面對遞迴神經網路rnn的良好選擇,實際調參時只調整lr即可

3.adagrad(自適應梯度)

from keras.optimizers import adagrad

adagrad = adagrad(lr=0.01,epsilon=none,decay=0)

lr:學習率 epsilon:模糊因子 decay:(每次更新)學習率的衰減值

tip:該演算法建議保持預設引數

4.adadelta(adagrad的改進)

from keras.optimizers import adadelta

adadelta = adadelta(lr=0.01,rho=0.95,epsilon=none,decay=0)

lr:學習率 rho:衰減因子

epsilon:模糊因子 decay:(每次更新)學習率的衰減值

tip:該演算法建議保持預設引數

5.adam(自適應移動估計=rmsprop+momentum)

from keras.optimizers import adam

adam = adam(lr=0.001,beta_1=0.9,beta_2=0.999,epsilon=none,decay=0,amsgrad=false)

tip:該演算法是面對反饋神經網路的良好選擇

(三)keras引數:metrics

定義:metrics是效能評估函式

可用的效能評估函式:

-分類問題:metrics=['acc']

-回歸問題:metrics=['mae']

(四)keras引數:activation

定義:activation是啟用函式

常用的啟用函式:linear+relu+sigmoid+softmax+tanh

(五)keras引數:initializers

定義:initializers是對keras層設定初始化權重的方法

常用的方法:

model.add(dense(kernel_initializer='random_uniform',bias_initializer='zeros'))

kernel_initializer(權值向量) = 'zeros'|'ones'|'constant'|'random_uniform'|'random_normal'

參考手冊:

(六)keras:regularizers

定義:regularizer是正則項(優化過程中層的引數或輸出值新增的懲罰項)

可用的層正則項:

1.kernel_regularizer(施加在權重上)

(1)方式1(預設)

from keras import regularizers

model.add(dense(...,kernel_regularizer=regularizers.l1(l=0.01)))

model.add(dense(...,kernel_regularizer=regularizers.l2(l=0.01))

model.add(dense(...,kernel_regularizer=regularizers.l1_l2(l=0.01)))    

tip:預設正則項為l1和l2,懲罰係數為0.01

(1)方式2(自定義)

from keras import backend as k

def reg(weight_matrix):

...model.add(dense(...,kernel_regularizer=reg))

2.bias_regularizer(施加在偏置上)

方式同1

3.activity_regularizer(施加在輸出上)

方式同上1

引數設定 pandas引數設定小技巧

python大資料分析記錄 分享 成長 在日常使用pandas的過程中,由於我們所分析的資料表規模 格式上的差異,使得同樣的函式或方法作用在不同資料上的效果存在差異。而pandas有著自己的一套 引數設定系統 可以幫助我們在遇到不同的資料時靈活調節從而達到最好的效果,本文就將介紹pandas中常用的...

Matlab plot 引數設定

一 matlab繪圖中用到的直線屬性包括 1 linestyle 線形 2 linewidth 線寬 3 color 顏色 4 markertype 標記點的形狀 5 markersize 標記點的大小 6 marke cecolor 標記點內部的填充顏色 7 markeredgecolor 標記點...

JQuery draggable 引數設定

預設設定值 extend ui.draggable,限制y軸 draggable2 draggable 限制x軸 draggable4 draggable draggable5 draggable 限制在父系框架中 delay start 延時移動 draggable draggable 移動20畫...