标签:
将神经网络的层数增大,即称为深度学习。深度学习一般在输入数据为row data的时候使用,因为这些数据很难人为构造出合适的特征。深度学习一般面临如下挑战:
(1)神经网络结构的决定:一般只能通过人的主观领域知识来决定神经网络结构,例如图像识别中的convolutional NNet,即认为相邻的像素才有必要连接到下一层的同一神经元。
(2)模型复杂度:由于高层神经网络会有很多变量,因此显然会提高模型复杂度。但是一般情况下row data的数据集都很大,因此这个问题不算太严峻。
(3)优化问题:由于神经网络是一个容易陷入局部最优解的模型,因此应当谨慎选择初始值,目前寻找初始值的方法被称为pre-training。
(4)计算复杂度:由于数据量很大,因此计算复杂度很高。现在采用先进的硬件架构来缓解这一问题,例如GPU计算。
本节讲述了一种叫Autoencoder的pre-trainning方式。构建一个三层网络,其中前两层是深度网络中相邻的两层,第三层输出层的神经元数量与第一层相同。训练时使输入和输出相同,最终得到
这么做的理由是,使得特征在经过转换之后有足够的信息可以转换回来,即在转换过程中尽量少地丢失信息。Autoencoder的中间层神经元一般比输入/输出层少,并且可以将其看做是输入数据经过萃取之后的模式特征。
可以看到,这是一个非监督的方法,对于最终转换后输入与输出相似的特征而言,提取的模式能很好地解释它们,反之则不能,这可以看做是密度估计(解释得好的特征聚集在一起形成高密度)或者离群点检测(解释得不好的特征是离群点)。
另外,称#1/2#层的权重是编码权重,另外一层权重为解码权重,有时候让两边的权重差作为惩罚项。
在上一节的基础上,将输入的值加上一些噪音,输出值不变,这样就相当于教算法如何从噪音数据中得到正确结论。由于过拟合可以看做是对噪音做了拟合,因此这样的方法也可以看做是避免过拟合的一种方式。
在上两节中讲述了Autoencode的非线性模式,本小结讲述了其线性模式:
在带高斯核函数的SVM中,可以把高斯核看做是所有样本对于支持向量的相似度,那么SVM就可以看做是将样本与支持向量的相似度进行线性组合,再取符号。将这种思想反应成神经网络的样子,就是将中间的隐藏层换成与支持向量的相似度。
由于这种相似度需要基于路径(Racial),即两个样本在高维空间中的距离越近,相似度越高,因此并不是所有的核函数都能替代高斯核。
回忆一下高斯核作为相似度的RBF网络:
接上节,可以用k-means的方法求出部分代表来使用到RBF中。K-means保证收敛,因为每一次迭代都会导致损失函数降低。
本节演示了RBF和k-means在实际上使用的情况。
coursera机器学习技法笔记(13-14)——deep learning & RBFNetwork
标签:
原文地址:http://blog.csdn.net/u010366427/article/details/51333610