什么是表示学习(representation learning)表征学习 表达学习

article/2025/9/20 16:44:50

机器学习算法的成功与否不仅仅取决于算法本身,也取决于数据的表示。数据的不同表示可能会导致有效信息的隐藏或是曝露,这也决定了算法是不是能直截了当地解决问题。表征学习的目的是对复杂的原始数据化繁为简,把原始数据的无效信息剔除,把有效信息更有效地进行提炼,形成特征,这也应和了机器学习的一大任务——可解释性。 也正是因为特征的有效提取,使得今后的机器学习任务简单并且精确许多。在我们接触机器学习、深度学习之初,我们就知道有一类任务也是提炼数据的,那就是特征工程。与表征学习不同的是,特征工程是人为地处理数据,也是我们常听的“洗数据”。 而表示学习是借助算法让机器自动地学习有用的数据和其特征。 不过这两个思路都在尝试解决机器学习的一个主要问题——如何更合理高效地将特征表示出来。

即稍微入门一点机器学习的都知道传统地做法都人为地设计特征或者说使用已经完全标记好的数据来试图接近最好的分类效果。但实际上很多未标记的或者说标记相对较少的训练数据,我们当然可以人为标记,但也可以自动地筛选出比较重要的特征,有点类似于PCA(主成分分析)的思路,这就是表示学习或者说特征学习。

表示学习虽然从结构上讲只是数据的一个预处理手段,但是正如“工欲善其事,必先利其器”一样,它的出现提供了进行无监督学习和半监督学习的一种方法。其重要性不言而喻,以至于在花书中被单独列出来作为一章。表示学习一个比较典型的方法就是自编码器,有兴趣的可以自查。

表征学习的自动化算法

我们定义了表示学习的自动化,那么这个自动化发展得如何呢?让我们来看看有哪些已有的算法和它们背后的意义。无监督学习算法中例如PCA/auto-encoder的自动化体现在它们可以对输入数据转化而使得输入数据更有意义;树模型可以自动地学习到数据中的特征并同时做出预测;深度学习的CNN/RNN/DBN/GCN则更加灵活,CNN大量地用在图像的研究上,RNN是时间序列数据学习的摇篮,而GCN可以用在图网的数据学习中。回想特征工程则是极度依赖人的判断的,人们会根据自己的理解来筛选数据或者做数据变换。

1) 无监督学习

在深度学习大幅发展之前,无监督学习是很好的表征学习的工具。无监督学习中的自动编码器可以用来对数据进行含义转换。举个单词表征的例子,单词有很多表示的方法,最简单的就是one-hot encoding, 这种方法是在一个庞大的词库向量中对要标注的目标单词用1来表示,而其余的用0。这样一来所有的单词都是相互独立的,即它们之间的距离都是一样的,非常地浪费空间。而如果我们用RBM, 中文叫作单层自编码器,来做word embedding, 将词库矩阵映射到新的矩阵空间,令词义更相近的单词靠得更近,这样节约了空间,同时新的表达还定义了相近词。这种自编码过程使用的一般是无标签数据,输入数据经过编码会有一定的抽象,然后这种抽象可以通过解码得到一个近似于输入的输出数据,所以它是一种稳定的转换。其实无监督的表征学习算法的精髓是学习从高维观察到低维表征空间的映射,使得可通过地位的表征(近似地)重建出原来的观察,比如PCA的映射空间就保证了原空间的多样性。尽管自动编码器与 PCA 很相似,但我们可以看出来自动编码器比 PCA 灵活得多。在编码过程中,自动编码器既能表征线性变换,也能表征非线性变换;而 PCA 只能执行线性变换。因为自动编码器的网络表征形式,所以可将其作为层用于构建深度学习网络。

2) 树模型

树模型的一大优势在于算法本身的高度可解释性,因此树模型在表征学习应用上是很有潜力的。前几章我们提到过当模型是可微分模型时,反向传播的效果非常好,又精确又高效,但是当使用的模型是非可微分的时候,我们该怎么解决这类问题呢?这里有个可替代模型——基于树的集成。这种模型可以为离散或表格类数据建模,使用树的集成可以获得分层分布式表征。但此时,我们不能再用链式法则来传播误差,反向传播也不再可行。所以决策树模型很难整合深度神经网络的表征学习能力,但是多层GBDT森林可以使用层见目标传播的变体进行联合训练,这样就无需推导反向传播和可微性。

3) 深度学习

深度学习是最灵活的表征学习。要理解深度神经网络为什么可以做表征学习很简单,其实一般深度神经网络的最后一层都是一个线性分类器,其他层则可看成是在给这个线性分类器提供特征,所以最后一层之前的隐藏层都可被理解为是表征学习。而在这之前,深度学习在CNN图像识别的任务上大获成功,却在实际被诟病为黑箱,让很多搞理论的专家百思不得其解。所以从表征学习这点上看,深度学习的黑箱或许是可以被一窥究竟的。其实就单隐层神经网络已经很好用了,它有个普适性的特点,意思就是给足了隐节点,它就能够估算任何函数来适应你给它的训练数据,也就是单隐层就可以很好地学习表征。近期的研究已经开始为深度学习的表征建立信息论基础,比如观察到的信息瓶颈损失可以被用于计算最佳表征。

表征学习vs. 特征工程

说完表征学习典型的算法,那么问题来了,我们什么时候用表示学习,什么时候又用特征工程呢?第一个需要考虑的是数据的大小,如果数据量很大的时候,我们比较依赖于自动化的表示学习,如果数据量很小,其实目前特征工程的表现更加好。这是什么原因呢?因为数据小,我们根据自己的数据经验和先验知识,就可以判断用什么模型更好,但是数据一旦多了,我们对数据的理解就相对比较浅薄,先验知识所占的分量急剧下降,此时就需要依靠极其强大的计算力去弥补我们自身知识的不足。不管是全自动化的表征学习也好,人为经验的特征工程也好,都是基于数据和经验选择模型,这个过程其实是一个贝叶斯模型。在中小数据集上的机器学习往往使用的就是强假设模型(人类知识先验)+一个简单线性分类器。当数据愈发复杂,数据量逐渐加大后,我们对于数据的理解越来越肤浅,做出的假设也越来越倾向于随机,那么此时人工特征工程往往是有害的,而需要使用摆脱了人类先验的模型,比如深度学习或者集成模型。

不管是特征工程还是特征学习,我们衡量它们作用的一个标准就是看后续的学习任务是否能够得益于这种表示。这是机器学习的一个核心问题——到底是什么因素决定了一种表示比另一种表示更好呢?大概有三个方面的解释:

1.是否能提供解离性的线索。假设数据是基于互相独立的因素(这些因素内部也存在一定的变化范围)生成的,比如目标图像中的目标方向和光照条件,作为一个元先验,解离性更倾向于用表征中不同的独立变量表示这些因素。这样应该就能得到数据的简洁的抽象表示,从而可用于各种下游任务并有望提升样本效率。因此,某种方法更能得到数据的简介的抽象的表示就更占据优势;

2. 是否有分布式表示的优势。分布式表示可以组合许多特征来表达指数级别的概念特征。有很多分布式表示的算法比如聚类算法,KNN算法,决策树等等,同时分布式表示也是深度学习的最重要的性质之一,深度学习的分布式实现了参数共享,即非局部繁华的目的,可以有效应对curse of dimensionality。

3. 深度可以带来指数级别的增益。

这篇文章写得很好,可以参考:https://blog.csdn.net/weixin_40449300/article/details/89941348


http://chatgpt.dhexx.cn/article/MncjqTJE.shtml

相关文章

知识表示学习模型

最近清华的THUNLP整理了Pre-trained Languge Model (PLM)相关的工作:PLMpapers,非常全面,想要了解最新NLP发展的同学不要错过。本来这篇是打算写一写Knowledge Graph BERT系列工作的,但是最近有在做知识图谱的一些东西所以就先整…

网络表示学习(network represention learning)

https://www.toutiao.com/a6679280803920216589/ 2019-04-13 15:40:48 1.传统:基于图的表示(又称为基于符号的表示) 如左图G (V,E),用不同的符号命名不同的节点,用二维数组&#x…

图表示学习

文章目录 1.导言1.1 为什么要研究图(graph)1.2 针对图结构的机器学习任务1.3 特征表示的难点1.4 特征表示的解决思路1.5 线性化思路1.6 图神经网络1.7 讨论:何谓Embedding1.8 总结 2.图结构表示学习2.1 deepwalk(深度游走算法)2.2 node2vec 3…

表示学习(特征学习)

文章目录 表示学习特征工程与表示学习深度学习的表示学习注:深度学习不等于多层神经网络什么时候用「手工提取」什么时候用「表示学习」? 关于特征表示学习的算法 参考资料 表示学习 表示学习的基本思路,是找到对于原始数据更好的表达&#…

表示学习与深度学习

1、表示学习 首先给出表示学习的定义: 为了提高机器学习系统的准确率,我们就需要将输入信息转换为有效的特征,或者更一般性称为表示(Representation)。如果有一种算法可以自动地学习出有效的特征,并提高最…

表示学习(Representation Learning)

一、前言 2013年,Bengio等人发表了关于表示学习的综述。最近拜读了一下,要读懂这篇论文还有很多文献需要阅读。组会上正好报了这篇,所以在此做一个总结。 鉴于大家都想要我的汇报PPT,那我就分享给大家,希望能对大家有所…

使用 Altium Designer 绘制PCB完整设计流程记录(2021.05.04更新)

前言 做了大半年的毕业设计,陆陆续续也是画了几个板子,有些东西感觉要趁现在记录下来,方便以后某天还想再画板子时查看。 修改日志 时间修改内容2021.05.04初稿完成 文章目录 前言修改日志一、关于AD版本二、原理图库和封装库三、绘制原理…

PCB设计流程步骤中的注意事项

PCB中文名称为印制电路板,又称印刷线路板,几乎所有电子设备中都会应用到PCB。这种由贵金属制成的绿色电路板连接了设备的所有电气组件,并使其能够正常运行。PCB原理图是一个计划,是一个蓝图。它说明的并不是组件将专门放置在何处&…

使用Cadence绘制PCB流程(个人小结)

之前使用过cadence画过几块板子,一直没有做过整理。每次画图遇到问题时,都查阅操作方法。现在整理一下cadence使用经历,将遇到问题写出来,避免重复犯错。 注:写该篇文章时,感谢于争博士的教学视频和《Cade…

AD原理图 PCB设计步骤

版权声明:本文为CSDN博主「唐传林」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/Tang_Chuanlin/article/details/79803575 本文总结一下AD画PCB的步骤,…

AD中画PCB详细流程

1.新建工程 先在电脑新建一个文件夹作为工程总文件夹,里面再新建三个子文件夹分别为BOM(Bill Of Materials)(物料清单)、PCB、SCH(Schematic)(原理图)如下图1.1.1 (注意:记住该路径,该工程所有…

干货|PCB电路板的组成、设计、工艺、流程及元器摆放和布线原则

大家对PCB电路板电路这个词很熟,有的了解PCB电路板的组成,有的了解PCB电路板的设计步骤,有的了解PCB电路板的制作工艺......但是对整个PCB电路板的组成、设计、工艺、流程及元器件摆放和布线原则,及后期的注意事项没有一个综合的了…

pcb板制作流程图解

转载链接:http://www.360doc.com/content/16/0529/15/33072037_563261798.shtml 我们来看一下印刷电路板是如何制作的,以四层为例。 四层PCB板制作过程: 1.化学清洗—【Chemical Clean】 为得到良好质量的蚀刻图形,就要确保抗蚀层…

PCB简单绘制一般步骤

1、使用CAD或CAXA,布局线路板图纸 2、生成DWG/DXF格式文件,比如A.dwg 3、使用Altium Designer,文件——新建——PCB,新建一块板子 4、导入A.dwg,文件——导入——DXF/DWG——选择A.dwg导入 ——作为元素导入——比例为mm——绘…

PCB 基础~典型的PCB设计流程,典型的PCB制造流程

典型的PCB设计流程 典型的PCB制造流程 • 从客户手中拿到Gerber, Drill以及其它PCB相关文件 • 准备PCB基片和薄片 – 铜箔的底片会被粘合在基材上 • 内层图像蚀刻 – 抗腐蚀的化学药水会涂在需要保留的铜箔上(例如走线和过孔) – 其他药水…

用AD画PCB流程介绍

大家好,这里主要介绍pcb(印刷电路板)绘制的一个流程,不管你是刚毕业还是想转行或者是在校大学生,不妨了解一下pcb工程师的基本工作内容。希望你看完之后有所收获。废话不多说,开整! 1、首先我们从硬件工程师那里拿到一份没有错误…

PCBA工艺流程

公号阅读更加精彩:《PCBA工艺流程》 还记得刚毕业的时候被抓去工厂拧螺丝的情景,其实主要就是体验一把产品组装的过程。 可能你会说:“我需要的是如何画原理图,分析电路,以及Layout”;但其实产品设计与生…

Altium Designer绘制PCB电路板一般流程

很多初学电子的学生或想从事硬件方面的人都想要了解和学习一下如何绘制PCB板,如下分享下如何绘制PCB板,一般绘制整个画PCB的流程一般是先画好原理图,再由原理图生成网络表,再导入PCB,再到绘制PCB图。 一、选择电路与绘…

AD20中PCB设计流程

目录 •同步电路原理图数据 •定义板框及原点设置 •层的相关设置 •常用规则设置 •视图配置 •PCB布局 •PCB布线 1.General参数设置 PCB的常规参数设置通过General(常规设置)标签页来实现 2. Display参数设置 3. Board Insight Display参数设置 4. Bo…

PCB制作流程

在这里,我不是教大家如何用Altium Designer去画电路的原理图、如何去画元件的封装、如何去布线...... 我在这里主要教大家在做完以上步骤后,如何将设计好的电路最终制作成实际PCB电路板,这是PCB设计的最后一道步骤。 接下来,我会用…