自動編碼器Gridsearch超引數調整Keras
溫馨提示:將滑鼠放在語句上可以顯示對應的英文。 或者 切換至中英文顯示
我的資料形狀是一樣的,我只是在這裡生成隨機數。 實際上,資料是從-6到6的浮點數,我也對它們進行了換算。 輸入層大小和編碼尺寸必須保持相同。 當我訓練時,損失開始並一直保持在0.631
。 我手動更改了學習率。 我是python的新手,不知道要實現對此程式碼的網格搜尋以找到正確的引數。 我還能做些什麼來調整我的網路?
import numpy as np
from keras.layers import Input, Dense
from keras.models import Model
from keras import optimizers
#Train data
x_train=np.random.rand(2666000)
x_train = (train-min(train))/(max(train)-min(train))
x_train=x_train.reshape(-1,2000)
x_test=[]#empty testing later
#Enc Dimension
encoding_dim=100
#Input shape
input_dim = Input(shape=(2000,))
#Encoding Layer
encoded = Dense(encoding_dim, activation='relu')(input_dim)
#Decoding Layer
decoded = Dense(2000, activation='sigmoid')(encoded)
#Model AE
autoencoder = Model(input_dim, decoded)
#Model Encoder
encoder = Model(input_dim, encoded)
#Encoding
encoded_input = Input(shape=(encoding_dim,))
#Decoding
decoder_layer = autoencoder.layers[-1]
#Model Decoder
decoder = Model(encoded_input, decoder_layer(encoded_input))
optimizers.Adadelta(lr=0.1, rho=0.95, epsilon=None, decay=0.0)
autoencoder.compile(optimizer=optimizer, loss='binary_crossentropy',
metrics=['accuracy'])
#Train and test
autoencoder_train= autoencoder.fit(x_train, x_train,
epochs=epochs, shuffle=False, batch_size=2048)
1 個回覆
===============>>#1 票數:0 已採納
我建議新增更多隱藏層。 如果您的損失保持不變,則至少意味著以下兩種情況之一:
-
您的資料或多或少是隨機的,沒有關係可以繪製
-
您的模型不夠複雜,無法從資料中學習有意義的關係
我的經驗法則是,在進行足夠多的訓練迭代後,模型應該足夠強大以過度擬合資料。
不幸的是,在足夠複雜和過於複雜之間存在一條細線。 您必須計算隱藏層的數量,每一層中的單位數量以及訓練網路所需的時間。 由於您只有兩個Dense層,所以一個好的出發點是增加模型的複雜性。
如果您堅持使用網格搜尋,那麼keras有一個scikit_learn的包裝,而sklearn有一個網格搜尋模組。 一個玩具的例子:
from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import GridSearchCV
def create_model():
<return a compiled but untrained keras model>
model = KerasClassifier(build_fn = create_model, batch_size=1000, epochs=10)
#now write out all the parameters you want to try out for the grid search
activation = ['relu', 'tanh', 'sigmoid'...]
learn_rate = [0.1, 0.2, ...]
init = ['unform', 'normal', 'zero', ...]
optimizer = ['SGD', 'Adam' ...]
param_grid = dict(activation=activation, learn_rate=learn_rate, init=init, optimizer=optimizer)
grid = GridSearchCV(estimator=model, param_grid=param_grid)
result = grid.fit(X, y)
相關文章
- Keras上實現AutoEncoder自編碼器Keras
- Python 環境下的自動化機器學習超引數調優Python機器學習
- Oracle11g 自動化建庫及調整相關引數Oracle
- vs code 自動調整程式碼格式
- 自動編碼器
- swoole優化核心引數調整優化
- 【Codecs系列】硬體編碼器編碼引數分析
- 編寫可調模板並使用自動調諧器
- PostgreSQL安裝完成後,引數調整SQL
- OpenGL 和 GLSL 在頂點著色器中動態調整裁剪平面引數的簡單程式碼示例
- 【編碼】-整數排序-2016.08.10排序
- 自動編碼器是什麼?教你如何使用自動編碼器增強模糊影像
- MIT、浙大等打造AutoML視覺化工具:模型自選、超引數自調MITTOML視覺化模型
- solaris記憶體引數調整及管理記憶體
- JVM 引數調整對 sortx 的影響JVM
- 達夢資料庫引數調整方法資料庫
- VSCode回車換行後自動調整程式碼格式VSCode
- DBeaver如何調整sql檔案編碼SQL
- 實操講解:使用Keras中的自動編碼器進行極端罕見事件分類Keras事件
- dg庫日誌應用慢引數調整
- 【火爐煉AI】機器學習017-使用GridSearch搜尋最佳引數組合AI機器學習
- 淺談JVM整體架構與調優引數JVM架構
- 音視訊編解碼 -- 編碼引數 CRFCRF
- 批量調整視訊尺寸大小的方法,一鍵自動批量調整視訊
- 機器學習之超引數機器學習
- solaris10中安裝oracle核心引數的調整Oracle
- docker下的spark叢集,調整引數榨乾硬體DockerSpark
- 當GridSearch遇上XGBoost 一段程式碼解決調參問題
- kindeditor 上傳圖片 自動調整尺寸大小
- PHP編碼開發調整執行工具PhpStorm 2022PHPORM
- 超引數
- REALTEK ALC5628音訊編碼器晶片引數介紹音訊晶片
- 引數fast_start_parallel_rollback調整oracle回滾的速度ASTParallelOracle
- 動態執行緒池(DynamicTp)之動態調整Tomcat、Jetty、Undertow執行緒池引數篇執行緒TomcatJetty
- 檢視JVM預設引數及微調JVM啟動引數JVM
- 從fdk_aac編碼器到自動靜態編譯FFmpeg編譯
- 「ArrayBuffer」應用-以自動調整照片方向為例
- 在規定區域內自動調整文字位置