每一个neural network 学出的hidden layer就是feature
看到“稀疏编码”这几个字,很头疼,这究竟是什么意思呢?
后来慢慢知道了,“稀疏”二字类似于大学线性代数中的“稀疏矩阵”,就是零很多,真正有用的数字很稀疏。
稀疏编码器:自动决定隐藏层的结点个数,使得提取出的特征很好。输入结点是16个,隐藏层结点也是16个,输出结点16个,那么显然隐藏层结点个数过多了,我们可以设置其中的部分隐藏层结点计算之后的值为0,就是稀疏了。
①目标函数(loss误差)求极小值
②Sparsity(稀疏惩罚项)是隐藏层的,输出值,求绝对值之和or绝对值平方之和。如果0居多,Sparsity的值小。如果0少,Sparsity的值大。
③误差(loss)=error+sparsity,此公式体现出误差不仅仅是error了,还把隐藏层也考虑进去了。
④Loss小的话,要求error和sparsity都要小。Sparsity小,那么只有少数非零项。