亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何評估用于降維的自動編碼器

如何評估用于降維的自動編碼器

婷婷同學_ 2023-06-20 17:16:33
我使用自動編碼器作為降維技術,將學習到的表示用作可用于進一步分析的低維特征。代碼片段:# Note: implementation --> based on keras encoding_dim = 32# Define input layerX_input = Input(shape=(X_train.shape[1],))# Define encoder:encoded = Dense(encoding_dim, activation='relu')(X_input)# Define decoder:decoded = Dense(X_train.shape[1], activation='sigmoid')(encoded)# Create the autoencoder modelAE_model = Model(X_input, decoded)#Compile the autoencoder modelAE_model.compile(optimizer='adam', loss='mse')#Extract learned representationlearned_feature = Model(X_input, encoded)history = AE_model.fit(X_train, X_train, epochs=10, batch_size=32)我一直在尋找一種方法來衡量學習表示的質量。我發現一種方法是測量重建誤差。我使用以下代碼來這樣做:import mathreconstr_error = AE_model.evaluate(X_train, X_train, verbose=0)print('The reconstruction error: %.2f MSE (%.2f RMSE)' % (reconstr_error , math.sqrt(reconstr_error )))結果我得到了 0.00 MSE (0.05 RMSE)。然而,我不確定上面的代碼在測量重構誤差方面是否正確?另外,如果有其他方法可以這樣做,請告訴我。
查看完整描述

1 回答

?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

您出于什么目的進行壓縮?如果您的項目中有以下分類器模型,您可以使用正常(未輸入 AE)數據訓練該模型并查看準確性或您正在測量的任何內容。然后訓練相同的模型,但在使用 AE 壓縮數據之后。那么如果你也得到了比較好的結果,這意味著你正在提取一些對自動編碼器有用的東西。特別是如果您不使用所有數據來訓練 AE 并查看 AE 在其訓練中未看到的示例的壓縮將如何影響準確性。

在 PCA 等其他技術中,主成分是特征向量,這些特征向量對應的特征值實際上非常有意義,它們告訴你數據中有多少信息在每個方向上變化,就像方差一樣。但在 AE 中,尤其是 Deep 中,這種分析并不直觀,或者至少超出我的知識范圍(如果存在的話)。但是在 1 層 AE 中也許你仍然可以做一些類似的事情,實際上,以 MSE 為目標的 1 層 AE 非常接近 PCA。您可以在隱藏層中提取這些權重,也可以在數據協方差矩陣上應用 PCA 或特征分解。然后計算那些隱藏層權重和特征向量之間的余弦距離,看看它是否保留了一些有意義的東西。

我不知道是否可以做更多的事情,但如果這對您很重要,也許您可以找到一些論文來解決這些問題。


查看完整回答
反對 回復 2023-06-20
  • 1 回答
  • 0 關注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號