火车一个autoencoder
返回一个autoencoder,autoenc
= trainAutoencoder (<一个href="#buxdjrt_sep_shared-X" class="intrnllnk">X
返回一个autoencoderautoenc
= trainAutoencoder (<一个href="#buxdjrt_sep_shared-X" class="intrnllnk">X
hiddenSize
加载示例数据。 训练稀疏自动编码器与默认设置。 利用训练好的自动编码器重建鲍鱼壳环数据。 计算均方重构误差。X = abalone_dataset;
X
autoenc = trainAutoencoder (X);
XReconstructed =预测(autoenc X);
mseError = mse (X-XReconstructed)
mseError = 0.0167
加载示例数据。 训练一个隐藏尺寸为4,400个最大纪元的稀疏自编码器和解码器的线性传递函数。 利用训练好的自动编码器重建鲍鱼壳环数据。 计算均方重构误差。X = abalone_dataset;
X
autoenc = trainAutoencoder (X 4<年代p一个n年代tyle="color:#A020F0">“MaxEpochs”
XReconstructed =预测(autoenc X);
mseError = mse (X-XReconstructed)
mseError = 0.0046
生成训练数据。 使用训练数据训练自动编码器。 生成测试数据。 使用经过训练的自动编码器预测测试数据, 绘制实际测试数据和预测。rng (0,<年代p一个n年代tyle="color:#A020F0">“旋风”
hiddenSize = 25;hiddenSize autoenc = trainAutoencoder (x ',<年代p一个n年代tyle="color:#0000FF">…
n = 1000;R = sort(-10 + 20*rand(n,1));Xtest = 1 + r*5e-2 + sin(r)/ r + 0.4 * randn (n, 1);
xReconstructed =预测(autoenc xtest”);
图;情节(xtest<年代p一个n年代tyle="color:#A020F0">“r”。
加载训练数据。 训练数据是一个1 × 5000的单元阵列,其中每个单元包含一个28 × 28的矩阵,代表一个手写数字的合成图像。 训练一个包含25个神经元的隐藏层的自动编码器。 加载测试数据。 测试数据是一个1 × 5000的单元阵列,每个单元包含一个28 × 28的矩阵,代表一个手写数字的合成图像。 使用经过训练的自动编码器重建测试图像数据, 查看实际测试数据。 查看重构的测试数据。XTrain = digitTrainCellArrayData;
hiddenSize = 25;autoenc = trainAutoencoder (XTrain hiddenSize,<年代p一个n年代tyle="color:#0000FF">…
XTest = digitTestCellArrayData;
xReconstructed =预测(autoenc XTest);
图;<年代p一个n年代tyle="color:#0000FF">为
图;<年代p一个n年代tyle="color:#0000FF">为
X- - - - - -<年代p一个n我te米prop="purpose">训练数据
矩阵|<年代p一个n我te米prop="inputvalue">图像数据的单元阵列
训练数据,指定为训练样本的矩阵或图像数据的单元阵列。如果 数据类型:单
hiddenSize- - - - - -<年代p一个n我te米prop="purpose">自动编码器的隐藏表示的大小
10(默认)|<年代p一个n我te米prop="inputvalue">正整数的值
自动编码器的隐藏表示形式的大小,指定为正整数值。这个数字是隐藏层神经元的数量。 数据类型:单
指定可选的逗号分隔的对“EncoderTransferFunction”、“satlin’,‘L2WeightRegularization’,0.05
EncoderTransferFunction- - - - - -<年代p一个n我te米prop="purpose">编码器的传递函数
“logsig”
(默认)|<年代p一个n我te米prop="inputvalue">“satlin”
编码器的传递函数,指定为逗号分隔对组成 物流乙状结肠函数
正饱和线性传递函数
例子:
传递函数的选择 定义
“logsig”
“satlin”
“EncoderTransferFunction”、“satlin”
DecoderTransferFunction- - - - - -<年代p一个n我te米prop="purpose">解码器的传递函数
“logsig”
(默认)|<年代p一个n我te米prop="inputvalue">“satlin”
|<年代p一个n我te米prop="inputvalue">“purelin”
用于解码器的传递函数,指定为逗号分隔对组成 物流乙状结肠函数
正饱和线性传递函数
线性传递函数
例子:
传递函数的选择 定义
“logsig”
“satlin”
“purelin”
“DecoderTransferFunction”、“purelin”
MaxEpochs- - - - - -<年代p一个n我te米prop="purpose">最大训练周期数
1000(默认)|<年代p一个n我te米prop="inputvalue">正整数的值
训练纪元或迭代的最大数目,指定为逗号分隔对组成 例子:“MaxEpochs”,1200年
L2WeightRegularization- - - - - -<年代p一个n我te米prop="purpose">L的系数<年代ub>2体重调整
0.001(默认)|<年代p一个n我te米prop="inputvalue">正标量值
的系数<一个href="//www.tatmou.com/help/deeplearning/ref/trainautoencoder.html" class="intrnllnk">l<年代ub>2 例子:LossFunction
“L2WeightRegularization”,0.05
LossFunction- - - - - -<年代p一个n我te米prop="purpose">损失函数用于训练
“msesparse”
(默认)
用于训练的损失函数,指定为逗号分隔对组成
在哪里L2WeightRegularization
SparsityRegularization
ShowProgressWindow- - - - - -<年代p一个n我te米prop="purpose">显示训练窗口的指示器
真正的
(默认)|<年代p一个n我te米prop="inputvalue">假
指示符显示训练窗口,指定为逗号分隔对组成 例子:“ShowProgressWindow”,假的
SparsityProportion- - - - - -<年代p一个n我te米prop="purpose">神经元反应的训练例子的期望比例
0.05(默认)|<年代p一个n我te米prop="inputvalue">在0到1范围内的正标量值
期望比例的训练例子,神经元反应,指定为逗号分隔对组成 例子:“SparsityProportion”,0.01
SparsityRegularization- - - - - -<年代p一个n我te米prop="purpose">控制稀疏正则化器影响的系数
1(默认)|<年代p一个n我te米prop="inputvalue">正标量值
控制影响的系数<一个href="//www.tatmou.com/help/deeplearning/ref/trainautoencoder.html" class="intrnllnk">稀疏调整 例子:“SparsityRegularization”,1.6
TrainingAlgorithm- - - - - -<年代p一个n我te米prop="purpose">用于训练自动编码器的算法
“trainscg”
(默认)
用于训练自动编码器的算法,指定为逗号分隔对,由
ScaleData- - - - - -<年代p一个n我te米prop="purpose">用于重新缩放输入数据的指示器
真正的
(默认)|<年代p一个n我te米prop="inputvalue">假
指示符重新缩放输入数据,指定为逗号分隔对,由 自动编码器试图在输出端复制输入。为了使之成为可能,输入数据的范围必须与解码器的传递函数的范围相匹配。 例子:“ScaleData”,假的
UseGPU- - - - - -<年代p一个n我te米prop="purpose">使用GPU进行训练的指示符
假
(默认)|<年代p一个n我te米prop="inputvalue">真正的
使用GPU进行训练的指示器,指定为逗号分隔对组成 例子:“UseGPU”,真的
autoenc——训练autoencoderAutoencoder对象
经过训练的自动编码器,返回为
自动编码器是一种神经网络,它被训练成在输出端复制输入。自动编码器可以作为学习深度神经网络的工具。训练自动编码器是无监督的,因为不需要标记数据。培训过程仍然是基于成本函数的优化。成本函数度量输入之间的误差 自动编码器由编码器和解码器组成。编码器和解码器可以有多个层,但为了简单起见,请考虑每个层只有一层。 如果自动编码器的输入是一个矢量<年代p一个nclass="inlineequation">
,然后编码器映射向量
其中上标(1)表示第一层。<年代p一个nclass="inlineequation">
是编码器的传递函数,<年代p一个nclass="inlineequation">
是权矩阵,然后呢<年代p一个nclass="inlineequation">
为偏置向量。然后,解码器映射编码表示
其中上标(2)表示第二层。<年代p一个nclass="inlineequation">
为解码器的传递函数,<年代p一个nclass="inlineequation">
是权矩阵,然后呢<年代p一个nclass="inlineequation">
为偏置向量。
通过在成本函数中添加正则化器,可以提高自动编码器的稀疏性<一个href="//www.tatmou.com/help/deeplearning/ref/trainautoencoder.html" class="intrnllnk">[2]
在哪里
稀疏正则化器试图对隐藏层输出的稀疏性施加约束。稀疏性可以通过添加一个正则化项来鼓励,当平均激活值,<年代p一个nclass="inlineequation">
神经元的
Kullback-Leibler散度是一个用来测量两个分布有多不同的函数。在本例中,当时取值为零<年代p一个nclass="inlineequation">
和<年代p一个nclass="inlineequation">
它们是相等的,当它们分开时就会变大。因此,使成本函数最小化将迫使这一项变小<年代p一个nclass="inlineequation">
和<年代p一个nclass="inlineequation">
彼此靠近。属性定义平均激活值的期望值<一个href="#buxdjrt-SparsityProportion" class="intrnllnk">SparsityProportion
当训练稀疏自动编码器时,可以通过增加权值使稀疏正则化器变小
在哪里
训练a的成本函数<一个href="//www.tatmou.com/help/deeplearning/ref/trainautoencoder.html" class="intrnllnk">稀疏autoencoder
在哪里L2WeightRegularization
SparsityRegularization
[1] Moller, M. F.“一种用于快速监督学习的缩放共轭梯度算法”,
[2] Olshausen, b.a.和d.j. Field。基于过完备基集的稀疏编码:V1采用的一种策略
trainSoftmaxLayer
|<年代p一个n我te米年代cope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">Autoencoder
|<年代p一个n我te米年代cope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">编码
|<年代p一个n我te米年代cope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">堆栈
你点击一个链接对应于这个MATLAB命令: 通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:<年代tr在gclass="recommended-country">.
你也可以从以下列表中选择一个网站: 选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。如何获得最佳的网站性能
欧洲