【问题标题】:How can I add noise (jittering) to my python keras ANN to avoid overfitting?如何向我的 python keras ANN 添加噪声(抖动)以避免过度拟合?
【发布时间】:2020-09-23 04:27:14
【问题描述】:

我正在 Python Keras 中实现人工神经网络模型,我在训练中获得了很高的准确度,但在测试中获得了低准确度。这意味着数据中存在一些过拟合。

我想避免过度拟合,其中一种技术是抖动或噪声添加。但是,我的问题是:如何在 Python 中做到这一点?

这是我的 ANN 代码:

def designANN(input_nodes, dropout, layer_nodes, output_nodes):

    classifier = Sequential()

    classifier.add(Dense(units = layer_nodes, kernel_initializer = "uniform",
                 activation = "relu", input_dim = input_nodes)) 

    classifier.add(Dropout(dropout))

    classifier.add(Dense(units = layer_nodes, kernel_initializer = "uniform",
                 activation = "relu"))
    classifier.add(Dropout(dropout))


    classifier.add(Dense(units = output_nodes, kernel_initializer = "uniform",
                 activation = "sigmoid"))


    classifier.compile(optimizer = "adam", loss = "binary_crossentropy", metrics = [npv])

    return classifier

【问题讨论】:

    标签: python keras neural-network noise jitter


    【解决方案1】:

    您所需要的只是GaussianNoise 层。你可以把它放在你的网络中。我建议在激活函数之前使用它。这是 relu 的情况,如果我们添加随机噪声,输出值可能超出范围(

    def designANN(input_nodes, dropout, layer_nodes, output_nodes):
    
        classifier = Sequential()
    
        classifier.add(Dense(units = layer_nodes, kernel_initializer = "uniform",
                             input_dim = input_nodes))
        classifier.add(GaussianNoise(0.1))
        classifier.add(Activation('relu'))
        classifier.add(Dropout(dropout))
    
        classifier.add(Dense(units = layer_nodes, kernel_initializer = "uniform"))
        classifier.add(GaussianNoise(0.1))
        classifier.add(Activation('relu'))
        classifier.add(Dropout(dropout))
    
        classifier.add(Dense(units = output_nodes, kernel_initializer = "uniform",
                     activation = "sigmoid"))
    
        classifier.compile(optimizer = "adam", loss = "binary_crossentropy", metrics = [npv])
    
        return classifier
    

    【讨论】:

      猜你喜欢
      • 2020-04-18
      • 2022-11-04
      • 2019-12-15
      • 2021-07-23
      • 1970-01-01
      • 2021-12-04
      • 2019-06-03
      • 2019-09-12
      • 1970-01-01
      相关资源
      最近更新 更多