DL原理:
当输入和输出相同时,中间可能要经过很多层。那么中间的很多层都可以当做是输入层的一种表示,DL就是来解决这些问题的,学到里面的feature。
sparse coding:
是一组基(线性代数中基的思想:向量空间里的基不唯一,但维数是固定的,例如三维空间里面,只需找到三个相互垂直的向量,那么就可以作为一组基,但是维数只能为三)
当训练阶段结束,那么X和对应的基都是已知的,问题就转化为求a,也是特征表示(把X用基来表示)
在确定和a的过程中,采用先固定其中一个,再最优化另一个的方式,不断迭代,最后求得最优解。
最普遍的例子就是:
0的个数还是比较多,所以叫做稀疏编码。0.8、0.3、0.5就是上述的a,右边小的子图像就是基。
self-taught learning:
举个例子:
在上图中,如果通过前两张图像辨别是否是摩托车,那么可能结果不一定准确,但是呢,如果加入unlabeled images,学到其中的特征,再根据最后一张图的特征,便可以得到是不是摩托车。
RBM:
在RBM中,可以处理二值的输入,也可以处理实数的输入数据:
在图中,V可视为h的一种特征表示,而h也可以视为V的一种特征表示
所以条件概率p(h|v)可以当做是一种特征表示
Gibbs sampling:
......
不断的sample,得到一组数据,再根据这组数据求我们的联合概率。。
举个例子,想要求P(x,y),x和y分别是二值向量,那么x,y共有4种取值情况,x=0,y=0;x=0,y=1;x=1,y=1;x=1,y=0
在sample到的数据可能有很多,那么就可以求出这个联合分布的概率。
有噪音的autoencoder:
x是正常的数据,我们可以加入噪音x,让x~成为噪音数据,再得到噪音数据的一种表示h,还原h的表示,得到X^,那么x与X^会存在一定误差,最小化这个误差即可。
通常用在overfiting中,我们为避免这个情况,就故意加入噪音数据,让模型得到最优解。
DBN原理:
fine-tuning 指的是使得最优化参数,得到参数的最优解。
类似于LDA模型,可以当做是文档的生成过程,当文档是已知的情况下,我们反推,最优化,去求得参数。
现在,我们已知所有图像,那么去求得模型的参数。
这一步是通过Q求得的。再通过P就可以知道整个模型的表示,P这是其中的一种表示,因为我们已经知道了模型的参数,所以整个DBN都可以知道了,就可以应用于各种问题了。
在deep RBM中:
在已知h1和h3的条件下,hj2与h2中其他元素都是条件独立的。那么就可以求,,这个跟RBM是一样的。。P(h=1|V),因为在已知V的情况下,所有的h是互相独立的。