前面的神经网络都是是基于监督的网络,这一章节主要是介绍非监督学习网络,原理很简单,
自己学习,然后将学习的内容反过来生存初始状态,然后对比,
×自动编码器是一种尽可能复现输入信号的神经网络
×自动编码器必须获取到代码输入数据的最主要的因素,
类似于PCA,尽量找到主要成分
基于监督的学习
监督学习会有target,通过对比prediction和target 调整参数。如果没有target将无法进行。
非监督学习
我们将input输入一个encoder编码器,就会得到一个code,这个code也就是输入的一个表示,那么我们怎么知道这个code表示的就是input呢?我们加一个decoder解码器,这时候decoder就会输出一个信息,那么如果输出的这个信息和一开始的输入信号input是很像的(理想情况下就是一样的),那很明显,我们就有理由相信这个code是靠谱的。所以,我们就通过调整encoder和decoder的参数,使得重构误差最小,这时候我们就得到了输入input信号的第一个表示了,也就是编码code了。因为是无标签数据,所以误差的来源就是直接重构后与原输入相比得到。
对比的特征:
当第一层训练完成后,可以依次训练下一层:
当然我们也可以加入一些target微调参数。结构图如下:
具体分析:
目标函数:
损失函数:
如果输入值是实数值,无界值,损失函数采用平方差,如果输入是时位矢量,采用交叉熵。
参考: