稀疏表示

无监督学习一些算法的简要概括(一)-稀疏自编码

被刻印的时光 ゝ 提交于 2019-12-27 17:32:11
无监督学习(unsurpervised learning)是深度学习的基础,也是大数据时代科学家们用来处理数据挖掘的主要工具。个人理解的话就是数据太多,而人们不可能给每个数据样本加标签吧,所以才有了无监督学习。当然用的最多的是用无监督学习算法训练参数,然后用一部分加了标签的数据测试。这种方法叫半监督学习(semi-unsurpervised)。最近看的几个深度学习算法是:稀疏自编码(sparse auto-encoder)、稀疏限制玻尔兹曼机器(sparse RBM)、K-means 聚类和高斯混合模型。根据论文An Analysis of Single-Layer Networks in Unsupervised Feature Learning的实验结果,K-means聚类算法是准确率最高,而且不需要超参数(hyper-parameter)。 稀疏自编码(sparse auto-encoder) 提到自编码,就必须了解BP神经网络。而稀疏自编码是在自编码基础上加入了对隐藏单元活性(activition)的限制:即稀疏性参数ρ,通常是一个接近于0的较小值(比如ρ=0.05)。如果机器学习的基础比较薄弱的话,建议先看Andrew Ng 老师讲授的 《机器学习》 。 BP神经网络,是使用前向传播(forward propagation)、后向传播(backward

稀疏自动编码之自动编码器和稀疏性

心已入冬 提交于 2019-12-27 17:31:58
到目前为止,已经叙述了神经网络的监督学习,即学习的样本都是有标签的。现在假设我们有一个没有标签的训练集 ,其中 . 自动编码器就是一个运用了反向传播进行无监督学习的神经网络,学习的目的就是为了让输出值和输入值相等,即 .下面就是一个自动编码器: 自动编码器试图学习一个函数 . 换句话说,它试图逼近一个等式函数,使得该函数的输出 和输入 很近似。举一个具体的例子,假设输入 是来自一个 图像(共100个像素点)像素点的灰度值,在 层有 个隐层节点. 注意输出 . 由于隐层节点只有50个,所以网络必须学习出输入的压缩表示,即给出以隐层节点激活值作为元素的向量 ,它需要重构出100个像素点灰度值的输入 . 如果输入是完全随机的,那么这种压缩学习的任务将会很难,但是数据具有一定的结构,例如一些输入特征彼此关联,那么这个算法就可以发现这些关联关系。事实上,自动编码器往往最终就是学习出一个较低维度的表示。 我们认为,上面讨论是依赖于隐层节点数很少。但是,即使隐层节点数很多(也许比输入的像素点个数还多),通过对网络加上某些约束,我们仍然能够发现感兴趣的结构。特别是,对隐层节点加上 稀疏约束 。 简答来说,如果一个神经元的输出为1,我们认为这个神经元是被激活的,如果某个神经元的输出是0,就认为这个神经元是抑制的。我们想约束神经元,使得神经元在大多数时候是处于抑制状态。假设激活函数是sigmoid函数

matlab矩阵的操作

笑着哭i 提交于 2019-12-26 09:33:38
特殊矩阵 通用型的特殊矩阵 zeros函数:产生全0矩阵,即零矩阵 ones函数:产生全1矩阵,即幺矩阵 eye函数: 产生对角线为1的矩阵。当矩阵是方阵时,得到一个单位矩阵。 rand函数:产生(0,1)区间均匀分布的随机矩阵 randn函数:产生均值为0,方差为1的标准正态分布随机矩阵。 以上函数三种调用格式 例: 产生m x m 零矩阵 :zeros(m) 产生m x n 零矩阵 :zeros(m,n) 产生与矩阵A同型的零矩阵 :zeros(sizeof(A)) 面向专门学科的特殊矩阵 1、 魔方矩阵:n阶魔方阵由1..n 2 共n 2 个整数组成,其每行每列及主、副对角线元素 之和都相等。当n>=2时,有多个不同的n阶魔方阵。 magic(n):产生一个特定(不是所有的)n阶的魔方阵 2、 范德蒙(Vandermonde的)矩阵(常用与通信编码纠错): vander(v)函数:生成以向量V为基础的范德蒙矩阵 3、 希尔伯特(Hilbert)矩阵:H( i , j )= 1/ (i+j-) Hilb(n)函数:生成n阶希尔伯特矩阵 4、 伴随矩阵(??): Compan(p)函数:求矩阵P的伴随矩阵 5、 帕斯卡矩阵:P( i , j )=p(i , j-1) + p(i-1,j) 且 p(i , 1)= p(1,j)=1 Pascal(n)函数:生成帕斯卡矩阵 矩阵变换

Image Super-Resolution Using Deep Convolutional Networks 论文总结

喜夏-厌秋 提交于 2019-12-24 01:16:28
Image Super-Resolution Using Deep Convolutional Networks 论文总结 提示: 文中【】中的内容表示我没读懂的内容或不知道怎么翻译的内容 若文中有错误或知道【】中内容的正确含义,希望能在评论区中指出 Abstract 摘要讲了讲论文写了些啥: 作者提出了一种针对单图像超分辨的深度学习方法,即SRCNN。该方法直接学习低/高分辨率图像之间的端到端映射。映射是用一个低分辨率图像为输入,高分辨率图像为输出的深度卷积神经网络来表示的。 证明了传统基于稀疏编码的SR方法也可以看作是一个深度卷积网络。 传统方法是分别处理每个组件,而SRCNN联合优化所有层。 SRCNN具有轻量级的结构,同时有最先进的恢复质量,并且实现了快速的实际在线使用。 作者探索了不同的网络结构和参数设置,以实现性能和速度之间的权衡。 SRCNN可以同时处理三个颜色通道,表现出更好的整体重建质量。 Introduction 超分辨率问题本质是不适定的( inherently ill-posed)或者说超分辨率是个欠定逆问题( underdetermined inverse problem)。意思就是超分辨率是个解不是唯一的问题,因为对于任何给定的低分辨率像素都存在多重解。对于这个问题通常用强先验信息约束解空间来缓解,为了学习强先验信息,现在最先进的方法大多基于例子的策略

压缩感知的常见稀疏基名称及离散傅里叶变换基

血红的双手。 提交于 2019-12-16 16:29:02
题目:压缩感知的常见稀疏基名称及离散傅里叶变换基 一、首先看九篇文献中有关稀疏基的描述: [1]喻玲娟,谢晓春.压缩感知介绍[J]. 电视技术,2008,32(12):16-18. 常用的稀疏基有: 正(余)弦基 、 小波基 、 chirplet基 以及 curvelet基 等 [2]李树涛,魏丹.压缩传感综述[J]. 自动化学报,2009,35(11):1369-1377. 信号的稀疏表示就是将信号投影到正交变换基时,绝大部分变换系数的绝对值很小,所得到的变换向量是稀疏或者近似稀疏的,可以将其看作原始信号的一种简洁表达,这是压缩传感的先验条件,即信号必须在某种变换下可以稀疏表示,通常变换基可以根据信号本身的特点灵活选取,常用的有 离散余弦变换基 、 快速傅里叶变换基 、 离散小波变换基 、 Curvelet基 、 Gabor基 以及 冗余字典 等。 [3]杨海蓉,张成,丁大为,韦穗. 压缩传感理论与重构算法[J]. 电子学报,2011,39(1):142-148. CS理论的三个组成要素是信号的稀疏变换(目前的稀疏变换有 离散余弦变换(DCT) 、 小波(wavelet) 、 curvelet 、 过完备原子分解 (overcomplete atomdecomposition)等) [4]王强,李佳,沈毅.压缩感知中确定性测量矩阵构造算法综述[J]. 电子学报,2013,41

论文解读:(TranSparse)Knowledge Graph Completion with Adaptive Sparse Transfer Matrix

社会主义新天地 提交于 2019-12-12 06:27:25
论文解读:(TranSparse)Knowledge Graph Completion with Adaptive Sparse Transfer Matrix   先前的基于深度学习的知识表示模型TransE、TransH、TransR(CTransR)和TransD模型均一步步的改进了知识表示的方法,在完善知识图谱补全工作上逐渐提高效果。通过先前的模型,我们基本掌握了知识表示的学习方法:首先通过投影策略将实体和关系映射到对应的语义空间,其次均使用得分函数 f ( h , t ) = ∣ ∣ h + r − t ∣ ∣ f(h,t)=||h+r-t|| f ( h , t ) = ∣ ∣ h + r − t ∣ ∣ 表示实体对的评分。另外使用负采样生成错误样本进行训练,使得正确的样本得分函数值降低,错误样本的得分函数值升高。然而这些模型均忽略了图谱的两个重要特性: 异质性(heterogeneity) 和 不平衡性(imbalance) 。图谱中的异质性是指不同关系对应的实体对数量不一致,例如对于关系 r r r 链接的所有实体对数量可能非常多,而对于 r ′ r' r ′ 链接的所有实体对数量可能只有1个。不平衡性是指头尾实体的数量不一致,例如形如对于(地名,local,洲名)的三元组,地名可能成千上万个,而洲名只有七个。由于数量的不对等

Image Super-Resolution Using Deep Convolutional Networks 论文总结

我与影子孤独终老i 提交于 2019-12-08 17:53:26
Image Super-Resolution Using Deep Convolutional Networks 论文总结 提示: 文中用【】表示的是我没读懂的内容 文中用[]表示的是我不会翻译的内容,翻译都不会,基本上也不理解啦。 Abstract 摘要讲了讲论文写了些啥: 作者们提出了一种针对单图像超分辨的深度学习方法,即SRCNN。该方法直接学习低/高分辨率图像之间的端到端映射。映射是用一个低分辨率图像为输入,高分辨率图像为输出的深度卷积神经网络来表示的。 证明了传统基于稀疏编码的SR方法也可以看作是一个深度卷积网络。 传统方法是分别处理每个组件,而SRCNN联合优化所有层。 SRCNN具有轻量级的结构,同时有最先进的恢复质量,并且实现了快速的实际在线使用。 作者们探索了不同的网络结构和参数设置,以实现性能和速度之间的权衡。 SRCNN可以同时处理三个颜色通道,表现出更好的整体重建质量。 Introduction 超分辨率问题本质是不适定的( inherently ill-posed)或者说超分辨率是个欠定逆问题( underdetermined inverse problem)。意思就是超分辨率是个解不是唯一的问题,因为对于任何给定的低分辨率像素都存在多重解。对于这个问题通常用强先验信息约束解空间来缓解,为了学习强先验信息,现在最先进的方法大多基于例子的策略(example

稀疏数组SparseArray

可紊 提交于 2019-12-04 18:59:41
1 实际需求 1.1 需求提出 编写五子棋程序,由存盘退出和续上盘的功能。 实现思路: 存盘退出: 定义一个二维数组,默认值是0,黑子表示1,蓝子表示2,然后将二维数组通过流存储到文件中。 换言之:五子棋-->二维数组-->文件。 续上盘: 从文件中通过流读取二维数组,然后将1和2的渲染到五子棋盘上。 换言之:文件-->二维数组-->五子棋。 1.2 分析问题 因为二维数组由很多默认值为0,因此记录这些0很没有意义。需要通过稀疏数组来解决。 此时的存盘退出: 五子棋-->二维数组-->稀疏数组-->文件。 此时的续上盘: 文件-->稀疏数组-->二维数组-->五子棋。     2 稀疏数组 2.1 基本介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法是: ①记录数组一共几行几列,有多少个不同的值。 ②把具有不同值的元素的行和列记录在一个小规模的数组中,从而缩小程序的规模。 2.2 稀疏数组的举例说明 假设原来的二维数组如下所示: 0 0 0 22 0 0 15 0 11 0 0 0 17 0 0 0 0 -6 0 0 0 0 0 0 0 0 39 0 91 0 0 0 0 0 0 0 0 28 0 0 0 0 此时我们可以分析出,上面的二维数组是6行7列,并且有8个值。其中第一个值22的下标是0,3。第二个值15的下标是0

L0、L1、L2范数正则化

微笑、不失礼 提交于 2019-12-03 02:27:54
一、范数的概念 向量范数是定义了向量的类似于长度的性质,满足正定,齐次,三角不等式的关系就称作范数。 一般分为L0、L1、L2与L_infinity范数。 二、范数正则化背景 1. 监督机器学习问题无非就是“minimizeyour error while regularizing your parameters”,也就是在规则化参数的同时最小化误差。最小化误差是为了让我们的模型拟合我们的训练数据,而规则化参数是防止我们的模型过分拟合我们的训练数据。 2 .  因为参数太多,会导致我们的模型复杂度上升,容易过拟合,也就是我们的训练误差会很小。但训练误差小并不是我们的最终目标,我们的目标是希望模型的测试误差小,也就是能准确的预测新的样本。所以,我们需要保证模型“简单”的基础上最小化训练误差,这样得到的参数才具有好的泛化性能(也就是测试误差也小),而模型“简单”就是通过规则函数来实现的。另外,规则项的使用还可以约束我们的模型的特性 。 这样就可以将人对这个模型的先验知识融入到模型的学习当中,强行地让学习到的模型具有人想要的特性,例如稀疏、低秩、平滑等等。要知道,有时候人的先验是非常重要的。前人的经验会让你少走很多弯路,这就是为什么我们平时学习最好找个大牛带带的原因。一句点拨可以为我们拨开眼前乌云,还我们一片晴空万里,醍醐灌顶。对机器学习也是一样,如果被我们人稍微点拨一下

向量与矩阵范数

匿名 (未验证) 提交于 2019-12-03 00:34:01
在刚入门机器学习中的低秩,稀疏模型时,被各种范数搅得一团糟,严重延缓了学习进度,经过一段时间的学习,现在将其完整的总结一下,希望遇到同样麻烦的同学能有所帮助。。。 首先定义一个向量为:a=[-5,6,8, -10] 向量的1范数即:向量的各个元素的绝对值之和,上述向量a的1范数结果就是:29,MATLAB代码实现为:norm(a,1); 向量的2范数即:向量的每个元素的平方和再开平方根,上述a的2范数结果就是:15,MATLAB代码实现为:norm(a,2); 1.向量的负无穷范数即:向量的所有元素的绝对值中最小的:上述向量a的负无穷范数结果就是:5,MATLAB代码实现为:norm(a,-inf); 2..向量的正无穷范数即:向量的所有元素的绝对值中最大的:上述向量a的负无穷范数结果就是:10,MATLAB代码实现为:norm(a,inf); 首先我们将介绍数学中矩阵的范数的情况,也就是无论哪个学科都统一的一种规定。。。 例如矩阵A = [ -1 2 -3; 4 -6 6] 矩阵的1范数即:矩阵的每一列上的元素绝对值先求和,再从中取个最大的,(列和最大),上述矩阵A的1范数先得到[5,8,9],再取最大的最终结果就是:9,MATLAB代码实现为:norm(A,1); 矩阵的2范数即:矩阵 ATA” role=”presentation” style=”position: