当前位置:首页 » 服务存储 » 低秩数据存储
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

低秩数据存储

发布时间: 2022-07-14 19:05:04

❶ 矩阵低秩的意义

我知道在线性代数中要学习有一个是矩阵低秩,在这个公式中一个矩阵A的列秩是A的线性独立的纵列的极大数。通常表示为r(A),rk(A)或rankA。


矩阵的秩

先来看下线性代数中的“秩”的概念,有如下方程:

考虑到同一人脸的多幅图像,我们将每幅图像编码为列向量,然后将这些列排列成矩阵。这个矩阵应该是低秩矩阵,因为每个图像在同一位置(x,y)上的像素值应该相似。当噪声发生时,矩阵变得充满秩。在这一点上,我们可以通过低秩分解得到低秩矩阵和噪声矩阵。

总结:这样的应用在某些恢复方面有很大帮助。

❷ 矩阵补全的经典算法有哪些

简单科普一下这个问题,最早这个问题火起来是因为Netflix公司的公开挑战:悬赏100万美金给予能够improve公司现行的matrix completion算法10%以上的最优胜队伍。最后的结果是09年9月BellKor’s
Pragmatic拿走了奖金。当时比赛的网址:Netflix Prize: Home

我们先看看什么是matrix completion问题,就用Netflix的dataset来说明。简单来说就是在一个豆瓣电影评分系统做inference,要根据非常稀疏的现有数据集(一个用户可能就只rate了几十部电影)来推断整个用户群对不同电影的评分。见下图,480000 x 18000规模的matrix completion(各位可以算算光存储这个矩阵就需要多少GB)。

这个问题在推荐系统、图像处理等方面都有广泛的运用。接着,这类问题一般来说都有隐含的假设即最终的矩阵应该是低秩(low rank)的。这其实也很好理解,因为我们一般会觉得:1、不同用户对于电影的偏好可以分成聚落(cliques),即最多也就是这么几大类的用户,比如按照年龄:年轻人,中年人,老年人...,而电影因为也可以分成不同的题材(genres),战争片,魔幻片,言情片...所以会有low rank的特性。简单来说,就是这个矩阵的行和列会有“合作”的特性,这也是这个问题的别名collaborative filtering得名的原因。另外,low rank限制下的matrix completion也会比较实用,因为一般人都会喜欢稀疏(sparse)的解,这样利于存储且有更好的诠释性。最后则是理论上的意义,更利于reconstruction,这点先隐去不表(下图有几篇paper可以refer)。当然我们注意到,data是会有noise的(有些用户可能会乱填rating...)。这段总结如下图。
好了,那么这个问题的数学形式其实非常简洁。Z是我们要complete的矩阵,X则是现有的data(大部分缺失)。我们希望找到一个和X不缺失部分差距尽量小的rank最小的矩阵。
然而问题来了:1、这个问题是非凸的,所以可能有一大堆local minimum因此没有什么现成的efficient的办法(NP-hard, of course)。2、这种问题一般的应用规模都非常大(比如上述的netflix问题规模是10^5 x 10^4),需要考虑很多数值方面的trick才能让算法比较实际。

最早人们用一些启发式算法如下图。即局部让user对item做迭代(vote)最后算法收敛到一个局部最优解。
矩阵P就是最后的ouput。至于里面那个weight就是见仁见智了,如下图可以取各种,反正是启发式算法...
显然,这些算法虽然很容易实现,但没有理论上的收敛性保证,也没有对rank的考虑,也绝无可能满足像Netflix这种公司对解的精度的需求(对那种规模的问题这些算法的表现可能会惊人的差)。所以,我们需要一些更好的方法。这里我不详述BellKor的解法,因为他的解法实质上是一堆解法的组合。只是指出,他们的方法主要是基于matrix factorization,如下图。

核心想法是把Z作low rank factorization(有一些比较有效的算法,比如regularized SVD,但具体implementation detail水其实很深)然后解这个reformulate之后的优化问题。

另外一种方法是对原问题作convex relaxation,即把原问题的目标函数rank(Z)换成Z的nuclear norm(定义不清楚的可查Matrix norm)
不过我们发现这两种reformulation仍然有太过于rigid或者无法控制noise的缺陷,所以最后简单介绍一下这篇工作:http://www.jmlr.org/papers/v11/mazumder10a.html 思路是把那个constraint alize来做。
为了快速解这个问题我们也需要考虑合理利用每步的SVD做很多fast subroutine,具体也不展开。

哦对了,以上这些图大多是我research advisor课件里的,最后一篇是他当phd时候的一篇很不错的paper...

❸ 正定矩阵因子分解法(PMF)

3.2.4.1 方法建立

就全国范围而言,我国地下水质量总体较好,根据国家《地下水质量标准》(GB/T 14848—93),我国63%的地区地下水可直接饮用,17%经适当处理后可供饮用,12%不宜饮用,剩余8%为天然的咸水和盐水,由此可见,不宜饮用的地下水和天然咸水、盐水占到了20%,对于这些地下水型水源地饮用水指标并不一定受到污染而存在超标现象,其水质可能受到地下水形成演化影响更为明显,因此,考虑选择反映地下水形成、演化的地下水水化学类型常规指标,进行影响因素解析。地下水水质指标在取样与分析过程中,由于取样和样品处理、试剂和水纯度、仪器量度和仪器洁净、采用的分析方法、测定过程以及数据处理等过程均会产生测量误差(系统误差,随机误差,过失误差)。从取样到分析结果计算误差都绝对存在,虽然在各个过程中进行质量控制,但无法完全消除不确定性的影响,为确保分析结果的可靠性,采用PMF法对地下水水质指标考虑一定的不确定性误差,使分析数据能够准确地反映实际情况。

PMF(Positive Matrix Factorization)与主成分分析(PCA)、因子分析(FA)都是利用矩阵分解来解决实际问题的分析方法,在这些方法中,原始的大矩阵被近似分解为低秩的V=WH形式。但PMF与PCA和FA不同,PCA、FA方法中因子W和H中的元素可为正或负,即使输入的初始矩阵元素全是正的,传统的秩削减算法也不能保证原始数据的非负性。在数学上,从计算的观点看,分解结果中存在负值是正确的,但负值元素在实际问题中往往是没有意义的。PMF是在矩阵中所有元素均为非负数约束条件之下的矩阵分解方法,在求解过程中对因子载荷和因子得分均做非负约束,避免矩阵分解的结果中出现负值,使得因子载荷和因子得分具有可解释性和明确的物理意义。PMF使用最小二乘方法进行迭代运算,能够同时确定污染源谱和贡献,不需要转换就可以直接与原始数据矩阵作比较,分解矩阵中元素非负,使得分析的结果明确而易于解释,可以利用不确定性对数据质量进行优化,是美国国家环保局(EPA)推荐的源解析工具。

3.2.4.2 技术原理

PMF:模型是一种基于因子分析的方法,具有不需要测量源指纹谱、分解矩阵中元素非负、可以利用数据标准偏差来进行优化等优点。目前PMF模型此方法成功用于大气气溶胶、土壤和沉积物中持久性有毒物质的源解析,已有成熟的应用模型 PMF1.1,PMF2.0,PMF3.0等。PMF模型基本方程为:

Xnm=GnpFpm+E (3.7)

式中:n——取样点数;

m——各取样点测试的成分数量;

p——污染源个数;

Xnm——取样点各成分含量;

Gnp——主要源的贡献率;

Fpm——源指纹图谱。

基本计算过程如下:

1)样品数据无量纲化,无量纲化后的样品数据矩阵用D表示。

2)协方差矩阵求解,为计算特征值和特征向量,可先求得样品数据的协方差矩阵,用D′为D的转置,算法为:

Z=DD′ (3.8)

3)特征值及特征向量求解,用雅各布方法可求得协方差矩阵Z的特征值矩阵E和特征向量矩阵Q,Q′表示Q的转置。这时,协方差矩阵可表示为:

Z=QEQ′ (3.9)

4)主要污染源数求解,为使高维变量空间降维后能尽可能保留原来指标信息,利用累计方差贡献率提取显着性因子,判断条件为:

地下水型饮用水水源地保护与管理:以吴忠市金积水源地为例

式中:n——显着性因子个数;

m——污染物个数;

λ——特征值。

5)因子载荷矩阵求解,提取显着性因子后,利用求解得到的特征值矩阵E和特征向量矩阵Q进一步求得因子载荷矩阵S和因子得分矩阵C,这时,因子载荷矩阵可表示为:

S=QE1/2 (3.11)

因子得分矩阵可表示为:

C=(S′S)-1S′D (3.12)

6)非负约束旋转,由步骤5求得的因子载荷矩阵S和因子得分矩阵C分别对应主要污染源指纹图谱和主要污染源贡献,为解决其值可能为负的现象,需要做非负约束的旋转。

7)首先利用转换矩阵T1对步骤5求得的因子载荷矩阵S和因子得分矩阵C按下式进行旋转:

地下水型饮用水水源地保护与管理:以吴忠市金积水源地为例

C1=T1C (3.14)

式中:S1——旋转后的因子载荷矩阵;

C1——旋转后的因子得分矩阵;

T1——转换矩阵,且T1=(CC′)(CC′)-1(其中:C为把C中的负值替换为零后的因子得分矩阵)。

8)利用步骤7中旋转得到的因子载荷矩阵S1构建转换矩阵T2对步骤5中旋转得到的因子载荷矩阵S1和因子得分矩阵C1继续旋转:

S2=S1T2 (3.15)

地下水型饮用水水源地保护与管理:以吴忠市金积水源地为例

式中:S2——二次旋转后的因子载荷矩阵;

C2——二次旋转后的因子得分矩阵;

T2——二次转换矩阵,且T2=(S′1+S1-1(S′1+

)(其中:

为S1中的负值换为零后的因子载荷矩阵)。

9):重复步骤7、8,直到因子载荷中负值的平方和小于某一设定的误差精度e而终止,最终得到符合要求的因子载荷矩阵S,即主要污染源指纹图谱。

3.2.4.3 方法流程

针对受体采样数据直接进行矩阵分解,得到各污染源组分及其贡献率的统计方法(图3.5)。

图3.5 方法流程图

(1)缺失值处理

正定矩阵因子分析是基于多元统计的分析方法,对数据有效性具有一定的要求,因此在进行分析之前首先对数据进行预处理。根据已有数据的特征结合实际情况主要有以下5种处理方法。

1)采样数据量充足的情况下直接丢弃含缺失数据的记录。

2)存在部分缺失值情况下用全局变量或属性的平均值来代替所有缺失数据。把全局变量或是平均值看作属性的一个新值。

3)先根据欧式距离或相关分析来确定距离具有缺失数据样本最近的K个样本,将这K个值加权平均来估计该样本的缺失数据。

4)采用预测模型来预测每一个缺失数据。用已有数据作为训练样本来建立预测模型,如神经网络模型预测缺失数据。该方法最大限度地利用已知的相关数据,是比较流行的缺失数据处理技术。

5)对低于数据检测限的数据可用数据检测限值或1/2检测限以及更小比例检测限值代替。

(2)不确定性处理

计算数据不确定性。

地下水型饮用水水源地保护与管理:以吴忠市金积水源地为例

式中:s——误差百分数;

c——指标浓度值;

l——因子数据检出限。

(3)数据合理性分析

本研究所用数据在放入模型前以信噪比S/N(Signal to Noise)作为标准进行筛选,信噪比S/N为:

地下水型饮用水水源地保护与管理:以吴忠市金积水源地为例

式中:xij——第i采样点第j个样品的浓度;

sij——第i采样点第j个样品的标准偏差。

信噪比小,说明样品的噪声大,信噪比越大则表示样品检出的可能性越大,越适合模型。

(4)数据输入及因子分析

与其他因子分析方法一样,PMF不能直接确定因子数目。确定因子数目的一般方法是尝试多次运行软件,根据分析结果和误差,Q值以及改变因子数目时Q值的相对变化等来确定合理的因子数目。

3.2.4.4 适用范围

PMF对污染源和贡献施加了非负限制,并考虑了原始数据的不确定性,对数据偏差进行了校正,使结果更具有科学的解释。PMF使用最小二乘方法,得到的污染源不需要转换就可以直接与原始数据矩阵作比较,PMF方法能够同时确定污染源和贡献,而不需要事先知道源成分谱。适用于水文地质条件简单,观测数据量较大,污染源和污染种类相对较少的地区,运用简便,可应用分析软件进行计算。

3.2.4.5 NMF 源解析

NMF在实现上较PMF算法简单易行,非负矩阵分解根据目的的不同大致可以分为两种:一是在保证数据某些性质的基础上,将高维空间的样本点映射到某个低维空间上,除去一些不重要的细节,获得原数据的本质信息;二是在从复杂混乱的系统中得到混合前的独立信息的种类和强度。因此,基于非负矩阵分解过程应用领域的不同,分解过程所受的约束和需要保留的性质都不相同。本书尝试性地将NMF算法应用于水质影响因素的分离计算中(表3.2)。

表3.2 RMF矩阵分解权值表

依照非负矩阵分解理论的数学模型,寻找到一个分解过程V≈WH,使WH和V无限逼近,即尽可能缩小二者的误差。在确保逼近的效果,定义一个相应的衡量标准,这个衡量标准就叫作目标函数。目标函数一般采用欧氏距离和散度偏差来表示。在迭代过程中,采用不同的方法对矩阵W和H进行初始化,得到的结果也会不同,算法的性能主要取决于如何对矩阵W和H进行初始化。传统的非负矩阵算法在对矩阵W和H赋初值时采用随机方法,这样做虽然简单并且容易实现,但实验的可重复性以及算法的收敛速度是无法用随机初始化的方法来控制的,所以这种方法并不理想。许多学者提出改进W和H的初始化方法,并发展出专用性比较强的形式众多的矩阵分解算法,主要有以下几种:局部非负矩阵分解(Local Non-negative Matrix Factorization,LNMF)、加权非负矩阵分解(Weighted Non-negative Matrix Factorization,WNMF)、Fisher非负矩阵分解(Fisher Non-negative Matrix Factorization,FNMF)、稀疏非负矩阵分解(Sparse Non-negative Matrix Factorization,SNMF)、受限非负矩阵分解(Constrained Non-negative Matrix Factorization,CNMF)、非平滑非负矩阵分解(Non-smooth Non-negative Matrix Factorization,NSNMF)、稀疏受限非负矩阵分解(Nonnegative Matrix Factorization with Sparseness Constraints,NMF-SC)等理论方法,这些方法针对某一具体应用领域对NMF算法进行了改进。

本书尝试应用MATLAB工具箱中NNMF程序与改进的稀疏非负矩阵分解(SNMF)对研究区11项指标(同PMF数据)进行分解,得到各元素在综合成分中的得分H,初始W0,H0采用随机法取初值。r为分解的基向量个数,合适的r取值主要根据试算法确定,改变r值观察误差值变化情况,本书利用SMNF算法计算时,r分别取2,3,4,采用均方误差对迭代结果效果进行评价,结果显示当r取2,4时误差值为0.034,取3时误差值为0.016,因此r=3是较合理的基向量个数。采用NNMF算法进行计算时,利用MATLAB工具箱提供的两种计算法分别进行计算,乘性法则(Multiplicative Update Algorithm)计算结果误差项比最小二乘法(Alternating Least-squares Algorithm)计算误差值小且稳定,但总体NNMF计算误差较大,改变初始W0,H0取值和增加迭代次数误差均未明显减小,调整r取值,随着r值的增大误差逐渐减小。

对比SNMF和NNMF算法所得权值结果,两种方法所得权值趋势一致,但得分值有所不同,由于SNMF算法对矩阵进行了稀疏性约束,计算结果中较小的权值更趋近于0,两次结果中在三个基向量上总体权值较大的元素项为T-Hard、

、Mg2+、Ca2+

,从盲源分离的角度来看该几种元素对地下水具有较大的影响,但从地下水水质影响因素来看,该方法对数据的分析偏重于突出局部数据的特征,在各因素相关性较大但含量不高的情况下,容易忽略了关键的影响因素。从权值得分来看,SNMF法解析的第一个基向量上的元素包括EC、T-Hard、NH4—N、

、TDS;第二基向量主要有Na+、Mg2+、Cl-;第三个基向量

、Ca2+,从结果可以看出该方法进行矩阵分解并未得到可合理解释的源项结果,方法有待进一步研究及验证。

❹ 什么是矩阵低秩逼近

矩阵低秩逼近就是对一个一般来说很大规模的矩阵,希望用一个秩比较低的矩阵。
矩阵:构成动态平衡的循环体系。
例子:可以把能量循环体系视为矩阵。聚能/平衡效应。人体可以视为矩阵,地球可以比喻视为矩阵,宇宙也比喻的视为矩阵。
在数学中,矩阵(Matrix)是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。
矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,三维动画制作也需要用到矩阵。 矩阵的运算是数值分析领域的重要问题。将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算。对一些应用广泛而形式特殊的矩阵,例如稀疏矩阵和准对角矩阵,有特定的快速运算算法。关于矩阵相关理论的发展和应用,请参考矩阵理论。在天体物理、量子力学等领域,也会出现无穷维的矩阵,是矩阵的一种推广。

❺ positive+matrix+factorization+数据前处理

摘要 positive+matrix+factorization+,也就是常说的PMF。在环境领域中做污染源识别的比较多,在数据处理中PMF与PCA-MLR两者一般都可以接受。

❻ 矩阵论中low-rank matrix是什么东西呢

low-rank matrix是低秩矩阵。
矩阵的秩,需要引入矩阵的SVD分解:X=USV',U,V正交阵,S是对角阵。如果是完全SVD分解的话,那S对角线上非零元的个数就是这个矩阵的秩了(这些对角线元素叫做奇异值),还有些零元,这些零元对秩没有贡献。
1.
把矩阵当做样本集合,每一行(或每一列,这个无所谓)是一个样本,那么矩阵的秩就是这些样本所张成的线性子空间维数。如果矩阵秩远小于样本维数(即矩阵列数),那么这些样本相当于只生活在外围空间中的一个低维子空间,这样就能实施降维操作。举个例子,同一个人在不同光照下采得的正脸图像,假设每一张都是
192x168的,且采集了50张,那构成的数据矩阵就为50行192x168列的,但是如果你做SVD分解就会发现,大概只有前10个奇异值比较大,其
他的奇异值都接近零,因此实际上可以将接近零的奇异值所对应的那些维度丢掉,只保留前10个奇异值对应的子空间,从而将数据降维到10维的子空间了。
2.
把矩阵当做一个映射,既然是映射,那就得考虑它作用在向量x上的效果Ax。注意Ax相当于A的列的某个线性组合,如果矩阵是低秩的,这意味着这些列所张成
的空间是外围空间的一个低维子空间,这个空间由Ax表达(其中x任意)。换句话说,这个矩阵把R^n空间映射到R^m空间,但是其映射的像只在R^m空间
的一个低维子空间内生活。从SVD理解的话,Ax=USV'x,因此有三个变换:第一是V'x,相当于在原始的R^n空间旋转了一下坐标轴,这样只是坐标
的变化,不改变向量本身(例如长度不变);第二是S(V'x),这相当于沿着各个坐标轴做拉伸,并且如果S的对角线上某些元素为零,那么这些元素所对应的
那些坐标轴就相当于直接丢掉了;最后再U(SV'x),还是一个坐标轴旋转。总的来看,Ax就相当于把一个向量x沿着某些特定的方向做不同程度的拉伸(附带上一些不关乎本质的旋转),甚至丢弃,那些没被丢弃的方向个数就是秩了。

❼ 矩阵补全的经典算法有哪些

简单科普一下这个问题,最早这个问题火起来是因为Netflix公司的公开挑战:悬赏100万美金给予能够improve公司现行的matrix completion算法10%以上的最优胜队伍。最后的结果是09年9月BellKor’s
Pragmatic拿走了奖金。当时比赛的网址:Netflix Prize: Home
我们先看看什么是matrix completion问题,就用Netflix的dataset来说明。简单来说就是在一个豆瓣电影评分系统做inference,要根据非常稀疏的现有数据集(一个用户可能就只rate了几十部电影)来推断整个用户群对不同电影的评分。见下图,480000 x 18000规模的matrix completion(各位可以算算光存储这个矩阵就需要多少GB)。
这个问题在推荐系统、图像处理等方面都有广泛的运用。接着,这类问题一般来说都有隐含的假设即最终的矩阵应该是低秩(low rank)的。这其实也很好理解,因为我们一般会觉得:1、不同用户对于电影的偏好可以分成聚落(cliques),即最多也就是这么几大类的用户,比如按照年龄:年轻人,中年人,老年人...,而电影因为也可以分成不同的题材(genres),战争片,魔幻片,言情片...所以会有low rank的特性。简单来说,就是这个矩阵的行和列会有“合作”的特性,这也是这个问题的别名collaborative filtering得名的原因。另外,low rank限制下的matrix completion也会比较实用,因为一般人都会喜欢稀疏(sparse)的解,这样利于存储且有更好的诠释性。最后则是理论上的意义,更利于reconstruction,这点先隐去不表(下图有几篇paper可以refer)。当然我们注意到,data是会有noise的(有些用户可能会乱填rating...)。这段总结如下图。
好了,那么这个问题的数学形式其实非常简洁。Z是我们要complete的矩阵,X则是现有的data(大部分缺失)。我们希望找到一个和X不缺失部分差距尽量小的rank最小的矩阵。