主要内容

编码

类:Autoencoder

编码输入数据

描述

例子

Z=编码(autoencXnew返回编码的数据Z,为输入数据Xnew,使用自动编码器,autoenc

输入参数

全部展开

类的对象返回的经过训练的自动编码器Autoencoder类。

输入数据,指定为样本矩阵、图像数据单元数组或单个图像数据数组。

如果是自编码器autoenc是在一个矩阵上训练的,其中每一列代表一个样本,那么Xnew必须是一个矩阵,其中每一列代表一个样本。

如果是自编码器autoenc是用单元格图像数组训练的吗Xnew必须是图像数据的单元格数组或单个图像数据的数组。

数据类型:||细胞

输出参数

全部展开

数据编码为autoenc,指定为一个矩阵。的每一列Z表示一个编码的样本(观察值)。

数据类型:|

例子

全部展开

加载样例数据。

X = digitTrainCellArrayData;

X是1 × 5000单元格数组,其中每个单元格包含一个28 × 28矩阵,表示手写数字的合成图像。

使用训练数据训练一个隐藏大小为50的自动编码器。

autoenc = trainAutoencoder(X,50);

编码解码数据为新的图像数据。

Xnew = digitTestCellArrayData;Z = encode(autoenc,Xnew);

Xnew是1 × 5000单元格数组。Z是一个50 × 5000的矩阵,其中每一列表示新数据中一个手写数字的图像数据Xnew

算法

如果自编码器的输入是一个向量 x D x ,则编码器映射向量x到另一个向量 z D 1 如下:

z h 1 W 1 x + b 1

其中上标(1)表示第一层。 h 1 D 1 D 1 是编码器的传递函数, W 1 D 1 × D x 是权重矩阵,和 b 1 D 1 是偏置向量。

在R2015b中引入