小编ahs*_*tat的帖子

自动编码器的正规化太强(Keras自动编码器教程代码)

我正在使用本教程关于autoencoders:https://blog.keras.io/building-autoencoders-in-keras.html

所有代码都正常工作,但是当我为正则化参数设置10e-5时性能非常糟糕(结果很模糊),这是教程代码中定义的参数.实际上,我需要将正则化减少到10e-8以获得正确的输出.

我的问题如下:为什么结果与教程有如此不同?数据是相同的,参数是相同的,我没想到会有很大的差异.

我怀疑从2016年5月14日起Keras功能的默认行为已经改变(在所有情况下都执行自动批量标准化?).

输出:

使用10e-5正则化链接到模糊图像输出

用10e-5正则化(模糊); 50个时期后val_loss为0.2967,100个时期后为0.2774

使用10e-8正则化:50个历元后的val_loss为0.1080,100个历元后为0.1009.

没有正则化:50个时期后val_loss为0.1018,100个时期后为0.0944.

完整代码(供参考):

# Source: https://blog.keras.io/building-autoencoders-in-keras.html
import numpy as np
np.random.seed(2713)

from keras.layers import Input, Dense
from keras.models import Model
from keras import regularizers

encoding_dim = 32

input_img = Input(shape=(784,))
# add a Dense layer with a L1 activity regularizer
encoded = Dense(encoding_dim, activation='relu',
                activity_regularizer=regularizers.l1(10e-5))(input_img)
decoded = Dense(784, activation='sigmoid')(encoded)

autoencoder = Model(input_img, decoded)

# this model maps an input to its encoded representation
encoder = Model(input_img, encoded)

# create …
Run Code Online (Sandbox Code Playgroud)

python regularized autoencoder keras

9
推荐指数
1
解决办法
968
查看次数

删除pandas plot.area的抗锯齿

我想用Python绘制堆积区域,并找出这个Pandas的功能:

df = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
df.plot.area();
Run Code Online (Sandbox Code Playgroud)

然而,结果是奇怪的抗锯齿,将颜色混合在一起,如下面的2个图所示: plot.area的示例

plot.area的缩放

文档中提供的示例中出现相同的问题.

你知道如何删除这种抗锯齿吗?(或者另一种意思是为线图的堆叠表示得到一个整洁的输出.)

python plot matplotlib pandas

7
推荐指数
1
解决办法
495
查看次数

标签 统计

python ×2

autoencoder ×1

keras ×1

matplotlib ×1

pandas ×1

plot ×1

regularized ×1