如何在密集的自动编码器中指定特征权重?

问题描述

我有一系列功能,每个功能都有一个权重(重要性值),我想使用“密集”构建自动编码器,在输入层中,我将每个功能的重要性设置为权重。假设我具有以下功能及其重要性值:

feature      importance
feature_1    0.3
feature_2    0.2
feature_3    0.15
feature_4    0.05

反正有没有将这些值包括在自动编码器的输入层中?

我的自动编码器外观如下

def generate_autoencoder(features_importance_dataframe):
    input_layer = Input(shape=(len(features_importance_dataframe.feature.unique().tolist()),))
    
    encoder = Dense(128)(input_layer)
    encoder = Dropout(0.2)(encoder)
    encoder = Dense(64)(encoder)
    encoder = Dropout(0.2)(encoder)

    bottleneck = Dense(32)(encoder)
    bottleneck = Dropout(0.2)

    decoder = Dense(64)(bottleneck)
    decoder = Dropout(0.2)(decoder)
    decoder = Dense(128)(decoder)
    decoder = Dropout(0.2)(decoder)

    output_layer = Dense(len(features_importance_dataframe.feature.unique().tolist(),activation='sigmoid')(decoder)

    autoencoder = Model(input_layer,output_layer)
    autoencoder.compile(loss='mse',optimizer='rmsprop')
    return autoencoder

如果可行的话,关于如何实现此目标的任何提示?谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)