54、深入浅出:自动编码器的原理、实现与应用

深入浅出:自动编码器的原理、实现与应用

一、自动编码器基础

1.1 欠完备自动编码器与降维

自动编码器会在重构结果与输入不同时产生重构损失。当内部表示的维度低于输入数据时(例如将 3D 数据转换为 2D),这种自动编码器被称为欠完备自动编码器。它不能简单地将输入复制到编码中,而是被迫学习输入数据中最重要的特征,舍弃不重要的特征。

我们可以通过以下代码实现一个简单的欠完备线性自动编码器进行主成分分析(PCA):

from tensorflow import keras 

encoder = keras.models.Sequential([keras.layers.Dense(2, input_shape=[3])])
decoder = keras.models.Sequential([keras.layers.Dense(3, input_shape=[2])])
autoencoder = keras.models.Sequential([encoder, decoder]) 

autoencoder.compile(loss="mse", optimizer=keras.optimizers.SGD(lr=0.1))
history = autoencoder.fit(X_train, X_train, epochs=20)
codings = encoder.predict(X_train)

这里有几点需要注意:
- 自动编码器分为编码器和解码器两个子组件,都是常规的顺序模型,自动编码器按顺序包含编码器和解码器。
- 自动编码器的输出数量

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值