編譯模型必選兩個引數之一
可以通過傳遞預定義目標函式名字指定目標函式,也可以傳遞乙個theano/tensroflow的符號函式作為目標函式,該函式對每個資料點應該只返回乙個標量值,並以下列兩個引數為引數:
真實的優化目標函式是在各個資料點得到的損失函式值之和的均值。
可用的目標函式:
編譯模型必選兩個引數之一
可以在呼叫model.compile()之前初始化乙個優化器物件,然後傳入該函式(如上所示),也可以在呼叫model.compile()時傳遞乙個預定義優化器名。在後者情形下,優化器的引數將使用預設值。
所有優化器都可用的兩個引數(用於對梯度進行裁剪):
clipnorm
# all parameter gradients will be clipped to
# a maximum norm of 1.
sgd = sgd(lr=0.01, clipnorm=1.)
clipvalue
# all parameter gradients will be clipped to
# a maximum value of 0.5 and
# a minimum value of -0.5.
sgd = sgd(lr=0.01, clipvalue=0.5)
常用的優化演算法有:
1. sgd
隨機梯度下降法,支援動量引數,支援學習衰減率,支援nesterov動量。
keras.optimizers.sgd(lr=0.01, momentum=0.0, decay=0.0, nesterov=false)
引數:
2. rmsprop
除學習率可調整外,建議保持優化器的其他預設引數不變,該優化器通常是面對遞迴神經網路時的乙個良好選擇。
keras.optimizers.rmsprop(lr=0.001, rho=0.9, epsilon=1e-06)
引數:
3. adagrad
建議保持優化器的預設引數不變。
keras.optimizers.adagrad(lr=0.01, epsilon=1e-06)
引數:
4. adadelta
建議保持優化器的預設引數不變。
keras.optimizers.adadelta(lr=1.0, rho=0.95, epsilon=1e-06)
引數:
參考文獻5.adamadadelta - an adaptive learning rate method
keras.optimizers.adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-08)
引數:
參考文獻啟用函式可以通過設定單獨的啟用層實現,也可以在構造層物件時通過傳遞activation引數實現。adam - a method for stochastic optimization
可以通過傳遞乙個逐元素運算的theano/tensorflow函式來作為啟用函式:
from keras import backend as k
deftanh
(x):
return k.tanh(x)
model.add(dense(64, activation=tanh))
model.add(activation(tanh)
預定義的啟用函式有: Keras學習筆記2 常用函式
全連線層 詳細請看 keras 中文文件 keras是什麼?1.dense 全連線層 2.keras.layer.input 用於例項化keras張量 3.activation 啟用函式 4.dropout 正則化層 5.flatten 展平 6.reshape 調整輸入大小 7.lambda 將任...
Keras學習筆記
手冊 keras中文文件 1.張量 一階張量是向量,二階張量是矩陣。2.batch batch gradient descent,遍歷全部資料集算一次損失函式,然後算函式對各個引數的梯度,更新梯度。太慢。stochastic gradient descent,每看乙個資料就算一下損失函式,然後求梯度...
HTML學習筆記03 常用標籤
影象標籤和路徑 注釋和特殊字元 實列 記住每個標籤的語義 標題標籤 h head縮寫 重要性依次遞減 六級標籤 特點 每個標題獨佔一行 文字被放大 段落標籤 分段必須要用段落標籤 段落之間有較大空隙 會根據視窗大小自動換行 p 換行標籤 可以不加 單標籤,break的縮寫,意為打斷,強制換行 特點 ...