前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UFLDL笔记——自我学习

UFLDL笔记——自我学习

作者头像
felixzhao
发布2019-02-13 15:16:06
4490
发布2019-02-13 15:16:06
举报
文章被收录于专栏:null的专栏null的专栏

注:最近打算将UFLDL教程重新看一遍,其实里面有很多关于神经网络以及深度学习的知识点很有用,但是只是学习深度学习的话有一些内容就有点多余,所以想整理一个笔记,记录下神经网络到深度学习的一些知识点。整个教材已经非常好,网上有原版的英文版,也有翻译的中文版,这个只是自己的学习笔记,对原来教程中的内容进行了梳理,有些图也是引用的原来的教程,若内容上有任何错误,希望与我联系,若内容有侵权,同样也希望告知,我会尽快删除。

这个笔记主要分为以下几个部分: - 神经网络 - 自编码器与稀疏性 - Softmax回归 - 自我学习 - 深度网络 - 其他,如PCA

四、自我学习

1、自我学习的概念

在现实生活中存在着大量的无标注的数据,即数据中只存在着特征属性,而没有类别标签,要想有效地利用这些无标注的数据,一种办法是人工标注这些数据,然而,人工标注这些数据需要花费大量的人力和物力。另一种方法是利用算法对这些无标注的数据进行学习,学习出更好的特征描述,自我学习便是这样一个概念,即从大量的无标注的数据中学习到特征的更好表示。

1、特征学习

在前面介绍了使用自编码器学习到特征的表示方法,具体过程为,对于mm无标注的训练样本{x(1),x(2),⋯,x(m)}\left \{ \mathbf{x}^{(1)},\mathbf{x}^{(2)},\cdots ,\mathbf{x}^{(m)} \right \},可以学到如下的稀疏自编码器模型:

其中,稀疏自编码器的模型参数为:W(1),b(1),W(2),b(2)\mathbf{W}^{(1)},\mathbf{b}^{(1)},\mathbf{W}^{(2)},\mathbf{b}^{(2)}。对于稀疏自编码器模型来说,隐含层代表的是特征的另一种表示,可能是一种更好的表示,如下图所示:

假设有mlm_l个标注的样本{(x(1),y(1)),(x(2),y(2)),⋯,(x(m1),y(ml))}\left \{ \left ( \mathbf{x}^{(1)},y^{(1)} \right ),\left ( \mathbf{x}^{(2)},y^{(2)} \right ),\cdots ,\left ( \mathbf{x}^{(m_1)},y^{(m_l)} \right ) \right \},利用稀疏自编码模型得到更好的特征表示。如对于输入x(1)\mathbf{x}^{(1)},经过稀疏编码器得到其特征表示为a(1)\mathbf{a}^{(1)},通常有两种方法处理这两种特征表示:

  • “替代表示(Replacement Representation)”,即直接将a(1)\mathbf{a}^{(1)}替代x(1)\mathbf{x}^{(1)}。
  • “级联表示(Concatenation Representation)”,即将上述两种特征组合在一起,使用新向量(x(1),a(1))\left ( \mathbf{x}^{(1)},\mathbf{a}^{(1)} \right )代替原先的特征x(1)\mathbf{x}^{(1)}。

经变换后的特征变成了替代表示{(a(1),y(1)),(a(2),y(2)),⋯,(a(m1),y(ml))}\left \{ \left ( \mathbf{a}^{(1)},y^{(1)} \right ),\left ( \mathbf{a}^{(2)},y^{(2)} \right ),\cdots ,\left ( \mathbf{a}^{(m_1)},y^{(m_l)} \right ) \right \}或者是级联表示{((x(1),a(1)),y(1)),((x(2),a(2)),y(2)),⋯,((x(m1),a(m1)),y(ml))}\left \{ \left ( \left ( \mathbf{x}^{(1)},\mathbf{a}^{(1)} \right ),y^{(1)} \right ),\left ( \left ( \mathbf{x}^{(2)},\mathbf{a}^{(2)} \right ),y^{(2)} \right ),\cdots ,\left ( \left ( \mathbf{x}^{(m_1)},\mathbf{a}^{(m_1)} \right ),y^{(m_l)} \right ) \right \}。

通常采用级联表示可以或得更好的效果。

对于上述的特征表示,可以对其使用常用的分类器,如SVM,Logistic回归等等对其进行学习和预测。

2、从自我学习到深层网络

在自我学习的过程中,首先通过未标注的数据训练一个稀疏自编码器,即对于给定的未标注的样本{x(1),x(2),⋯,x(m)}\left \{ \mathbf{x}^{(1)},\mathbf{x}^{(2)},\cdots ,\mathbf{x}^{(m)} \right \},训练过程如下图所示:

对于一个新的样本x \mathbf{x},我们可以通过训练好的稀疏自编码器提取出其特征a \mathbf{a}。然而对于一个分类问题,我们关心的是样本的标签yy,对于有标注的样本{(x(1),y(1)),(x(2),y(2)),⋯,(x(m1),y(ml))}\left \{ \left ( \mathbf{x}^{(1)},y^{(1)} \right ),\left ( \mathbf{x}^{(2)},y^{(2)} \right ),\cdots ,\left ( \mathbf{x}^{(m_1)},y^{(m_l)} \right ) \right \},利用训练好的稀疏自编码器得到新的特征a \mathbf{a},利用替代表示,得到新的数据集表示形式{(a(1),y(1)),(a(2),y(2)),⋯,(a(m1),y(ml))}\left \{ \left ( \mathbf{a}^{(1)},y^{(1)} \right ),\left ( \mathbf{a}^{(2)},y^{(2)} \right ),\cdots ,\left ( \mathbf{a}^{(m_1)},y^{(m_l)} \right ) \right \},我们需要训练的是从特征a \mathbf{a}到标签yy的映射,可以使用logistic回归分类器,其具体形式如下:

将上述两个过程结合在一起,就可以表示为如下的图:

该模型首先通过一些未标注的样本训练出稀疏自编码器的权重W(1),b(1)\mathbf{W}^{(1)},\mathbf{b}^{(1)},然后利用对标注的样本,利用稀疏自编码器对其进行特征学习,学习到新的特征表示a \mathbf{a},再利用logistic回归得到其第二层的权重和偏置W(2),b(2)\mathbf{W}^{(2)},\mathbf{b}^{(2)}。

在上述得到初步的模型之后可以通过微调,通常是在有大量的标注数据的条件下利用梯度下降法对整个模型进行微调。

参考文献

1、英文版:UFLDL Tutorial

2、中文版:UFLDL教程

若需要PDF版本,请关注我的新浪博客@赵_志_勇,私信你的邮箱地址给我。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015年11月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 四、自我学习
    • 1、自我学习的概念
      • 1、特征学习
        • 2、从自我学习到深层网络
        • 参考文献
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档