请高手帮我找出这两组数据的对应关系,谢谢!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请高手帮我找出这两组数据的对应关系,谢谢!!相关的知识,希望对你有一定的参考价值。
参考技术A 数据:在计算机系统中,各种字母、数字符号的组合、语音、图形、图像等统称为数据,数据经过加工后就成为信息。在计算机科学中,数据是指所有能输入到计算机并被计算机程序处理的符号的介质的总称,是用于输入电子计算机进行处理,具有一定意义的数字、字母、符号和模拟量等的通称。是组成地理信息系统的最基本要素,种类很多。
按性质分为
①定位的,如各种坐标数据;②定性的,如表示事物属性的数据(居民地、河流、道路等);③定量的,反映事物数量特征的数据,如长度、面积、体积等几何量或重量、速度等物理量;④定时的,反映事物时间特性的数据,如年、月、日、时、分、秒等。
按表现形式分为
①数字数据,如各种统计或量测数据;②模拟数据,由连续函数组成,是指在某个区间连续变化的物理量,又可以分为图形数据(如点、线、面)、符号数据、文字数据和图像数据等,如声音的大小和温度的变化等。
编辑本段按记录方式分为
地图、表格、影像、磁带、纸带。按数字化方式分为矢量数据、格网数据等。在地理信息系统中,数据的选择、类型、数量、采集方法、详细程度、可信度等,取决于系统应用目标、功能、结构和数据处理、管理与分析的要求。
编辑本段数据仓库
目前,数据仓库一
词尚没有一个统一的定义,著名的数据仓库专家w.h.inmon在其著作《building the data
warehouse》一书中给予如下描述:数据仓库(data warehouse)是一个面向主题的(subject
oriented)、集成的(integrate)、相对稳定的(non-volatile)、反映历史变化(time
variant)的数据集合,用于支持管理决策。对于数据仓库的概念我们可以从两个层次予以理解,首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。
数据仓库的特点
根据数据仓库概念的含义,数据仓库拥有以下四个特点:
1、面向主题。操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。
2、集成的。面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。而数据
仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于
整个企业的一致的全局信息。
3、相对稳定的。操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
4、反映历史变化。操作型数据库主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础。数据仓库不是静态的概念,只有把信息及时交
给需要这些信息的使用者,供他们做出改善其业务经营的决策,信息才能发挥作用,信息才有意义。而把信息加以整理归纳和重组,并及时提供给相应的管理决策人
员,是数据仓库的根本任务。因此,从产业界的角度看,数据仓库建设是一个工程,是一个过程。
数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。
数据仓库的层次
数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。
(1)物理数据层。它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。
(2)概念数据层。它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。
(3)逻辑数据层。它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。
数据库的特点
数据库不同层次之间的联系是通过映射进行转换的。数据库具有以下主要特点:
(1)实现数据共享。数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
(2)减少数据的冗余度。同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
(3)数据的独立性。数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。
(4)数据实现集中控制。文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
(5)数据一致性和可维护性,以确保数据的安全性和可靠性。主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;④故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。
数据挖掘(Data Mining,DM)又称数据库中的知识发现(Knowledge Discover in Database,KDD),是目前人工智能和数据库领域研究的热点问题,所谓数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程。数据挖掘是一种决策支持过程,它主要基于人工智能、机器学习、模式识别、统计学、数据库、可视化技术等,高度自动化地分析企业的数据,做出归纳性的推理,从中挖掘出潜在的模式,帮助决策者调整市场策略,减少风险,做出正确的决策。
知识发现过程由以下三个阶段组成:(1)数据准备,(2)数据挖掘,(3)结果表达和解释。数据挖掘可以与用户或知识库交互。
数据挖掘
数据挖掘是通过分析每个数据,从大量数据中寻找其规律的技术,主要有数据准备、规律寻找和规律表示3个步骤。数据准备是从相关的数据源中选取所需的数据并整合成用于数据挖掘的数据集;规律寻找是用某种方法将数据集所含的规律找出来;规律表示是尽可能以用户可理解的方式(如可视化)将找出的规律表示出来。
数据挖掘的任务有关联分析、聚类分析、分类分析、异常分析、特异群组分析和演变分析,等等。
并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索(information retrieval)领域的任务。虽然这些任务是重要的,可能涉及使用复杂的算法和数据结构,但是它们主要依赖传统的计算机科学技术和数据的明显特征来创建索引结构,从而有效地组织和检索信息。尽管如此,数据挖掘技术也已用来增强信息检索系统的能力。
编辑本段起源
需要是发明之母。近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。获取的信息和知识可以广泛用于各种应用,包括商务管理,生产控制,市场分析,工程设计和科学探索等。
数据挖掘利用了来自如下一些领域的思想:(1) 来自统计学的抽样、估计和假设检验,(2)人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论。数据挖掘也迅速地接纳了来自其他领域的思想,这些领域包括最优化、进化计算、信息论、信号处理、可视化和信息检索。一些其他领域也起到重要的支撑作用。特别地,需要数据库系统提供有效的存储、索引和查询处理支持。源于高性能(并行)计算的技术在处理海量数据集方面常常是重要的。分布式技术也能帮助处理海量数据,并且当数据不能集中到一起处理时更是至关重要。
编辑本段发展阶段
第一阶段:电子邮件阶段
这个阶段可以认为是从70年代开始,平均的通讯量以每年几倍的速度增长。
第二阶段:信息发布阶段
从1995年起,以Web技术为代表的信息发布系统,爆炸式地成长起来,成为目前Internet的主要应用。中小企业如何把握好从“粗放型”到“精准型”营销时代的电子商务。
第三阶段: EC(Electronic Commerce),即电子商务阶段
EC在美国也才刚刚开始,之所以把EC列为一个划时代的东西,是因为Internet的最终主要商业用途,就是电子
商务。同时反过来也可以说,若干年后的商业信息,主要是通过Internet传递。Internet即将成为我们这个商业信息社会的神经系统。1997年
底在加拿大温哥华举行的第五次亚太经合组织非正式首脑会议(APEC)上美国总统克林顿提出敦促各国共同促进电子商务发展的议案,其引起了全球首脑的关
注,IBM、HP和Sun等国际著名的信息技术厂商已经宣布1998年为电子商务年。
第四阶段:全程电子商务阶段
随着SaaS(Software as a service)软件服务模式的出现,软件纷纷登陆互联网[5],延长了电子商务链条,形成了当下最新的“全程电子商务”概念模式。
典型关联分析(CCA)原理总结
典型关联分析(Canonical Correlation Analysis,以下简称CCA)是最常用的挖掘数据关联关系的算法之一。比如我们拿到两组数据,第一组是人身高和体重的数据,第二组是对应的跑步能力和跳远能力的数据。那么我们能不能说这两组数据是相关的呢?CCA可以帮助我们分析这个问题。
一、CCA概述
在数理统计里面,我们都知道相关系数这个概念。假设有两组一维的数据集X和Y,则相关系数\(\rho\)的定义为:
\[
\rho(X,Y) = \fraccov(X,Y)\sqrtD(X)\sqrtD(Y)
\]
其中\(cov(X,Y)\)是X和Y的协方差,而\(D(X), D(Y)\)分别是X和Y的方差。相关系数\(\rho\)的取值为[-1,1], \(\rho\)的绝对值越接近于1,则X和Y的线性相关性越高。越接近于0,则X和Y的线性相关性越低。
虽然相关系数可以很好的帮我们分析一维数据的相关性,但是对于高维数据就不能直接使用了。拿上面我们提到的,如果X是包括人身高和体重两个维度的数据,而Y是包括跑步能力和跳远能力两个维度的数据,就不能直接使用相关系数的方法。那我们能不能变通一下呢?CCA给了我们变通的方法。
CCA使用的方法是将多维的X和Y都用线性变换为1维的X‘和Y‘,然后再使用相关系数来看X‘和Y‘的相关性。将数据从多维变到1位,也可以理解为CCA是在进行降维,将高维数据降到1维,然后再用相关系数进行相关性的分析。下面我们看看CCA的算法思想。
二、CCA的算法思想
上面我们提到CCA是将高维的两组数据分别降维到1维,然后用相关系数分析相关性。但是有一个问题是,降维的标准是如何选择的呢?回想下主成分分析PCA,降维的原则是投影方差最大;再回想下线性判别分析LDA,降维的原则是同类的投影方差小,异类间的投影方差大。对于我们的CCA,它选择的投影标准是降维到1维后,两组数据的相关系数最大。
现在我们具体来讨论下CCA的算法思想。假设我们的数据集是X和Y,X为\(n_1 \times m\)的样本矩阵。Y为\(n_2 \times m\)的样本矩阵.其中m为样本个数,而\(n_1,n_2\)分别为X和Y的特征维度。
对于X矩阵,我们将其投影到1维,或者说进行线性表示,对应的投影向量或者说线性系数向量为\(a\),?对于Y矩阵,我们将其投影到1维,或者说进行线性表示,对应的投影向量或者说线性系数向量为\(b\), 这样X ,Y投影后得到的一维向量分别为X‘,Y‘。我们有
\[
X' = a^TX, Y'=b^TY
\]
我们CCA的优化目标是最大化\(\rho(X',Y')\)得到对应的投影向量\(a,b\),即
\[
\underbracearg\;max_a,b\fraccov(X',Y')\sqrtD(X')\sqrtD(Y')
\]
? 在投影前,我们一般会把原始数据进行标准化,得到均值为0而方差为1的数据X和Y。这样我们有:
\[
cov(X',Y') = cov(a^TX, b^TY) = E(<;a^TX, b^TY>;) = E((a^TX)(b^TY)^T) = a^TE(XY^T)b
\]
\[
D(X') = D(a^TX) = a^TE(XX^T)a
\]
\[
D(Y') =?D(b^TY) = b^TE(YY^T)b
\]
由于我们的X,Y的均值均为0,则
\[
D(X) = cov(X,X) = E(XX^T), D(Y)= cov(Y,Y) = E(YY^T)
\]
\[
cov(X,Y) = E(XY^T), ?cov(Y,X) = E(YX^T)
\]
令\(S_XY =cov(X,Y)\),则优化目标可以转化为:
\[
\underbracearg\;max_a,b\fraca^TS_XYb\sqrt?a^TS_XXa\sqrtb^TS_YYb
\]
由于分子分母增大相同的倍数,优化目标结果不变,我们可以采用和SVM类似的优化方法,固定分母,优化分子,具体的转化为:
\[
\underbracearg\;max_a,b\;\;a^TS_XYb
\]
\[
s.t. a^TS_XXa =1,\; b^TS_YYb =1
\]
? 也就是说,我们的CCA算法的目标最终转化为一个凸优化过程,只要我们求出了这个优化目标的最大值,就是我们前面提到的多维X和Y的相关性度量,而对应的\(a,b\)则为降维时的投影向量,或者说线性系数。
这个函数优化一般有两种方法,第一种是奇异值分解SVD,第二种是特征分解,两者得到的结果一样,下面我们分别讲解。
三、CCA算法的SVD求解
对于上面的优化目标,我们可以做一次矩阵标准化,就可以用SVD来求解了。
首先,我们令\(a=S_XX^-1/2u, b=S_YY^-1/2v\),这样我们有:
\[
a^TS_XXa =1 \Rightarrow u^TS_XX^-1/2S_XXS_XX^-1/2u =1??\Rightarrow ?u^Tu=1
\]
\[
b^TS_YYb =1 \Rightarrow v^TS_YY^-1/2S_YYS_YY^-1/2v=1 ?\Rightarrow ?v^Tv=1?
\]
\[
a^TS_XYb = u^TS_XX^-1/2S_XYS_YY^-1/2v?
\]
也就是说,我们的优化目标变成下式:
\[
\underbracearg\;max_u,vu^TS_XX^-1/2S_XYS_YY^-1/2v
\]
\[
s.t. u^Tu =1,\; v^Tv =1
\]
仔细一看,如果将u和v看做矩阵\(M=S_XX^-1/2S_XYS_YY^-1/2\)的某一个奇异值对应的左右奇异向量。那么利用奇异值分解,我们可以得到\(M=U\Sigma V^T\),其中\(U,V\)分别为M的左奇异向量和右奇异向量组成的矩阵,而\(\Sigma\)为M的奇异值组成的对角矩阵。由于\(U,V\)所有的列都为标准正交基,则\(u^TU\)和\(V^Tv\)得到一个只有一个标量值为1,其余标量值为0的向量。此时我们有
\[
u^TS_XX^-1/2S_XYS_YY^-1/2v = u^TU\Sigma V^Tv = \sigma_uv
\]
也就是说我们最大化\(u^TS_XX^-1/2S_XYS_YY^-1/2v\),其实对应的最大值就是某一组左右奇异向量所对应的奇异值的最大值。也就是将M做了奇异值分解后,最大的奇异值就是我们优化目标的最大值,或者说我们的X和Y之间的最大相关系数。利用对应的左右奇异向量\(u,v\)我们也可以求出我们原始的X和Y的线性系数\(a=S_XX^-1/2u, b=S_YY^-1/2v\)。
可以看出,SVD的求解方式非常简洁方便。但是如果你不熟悉SVD的话,我们也可以用传统的拉格朗日函数加上特征分解来完成这个函数的优化。
四、4.?CCA算法的特征分解求解
特征分解方式就比较传统了,利用拉格朗日函数,优化目标转化为最大化下式:
\[
J(a,b) = a^TS_XYb -\frac\lambda2(a^TS_XXa-1)-\frac\theta2(b^TS_YYb-1)
\]
分别对\(a,b\)求导并令结果为0,我们得到:
\[
S_XYb-\lambda S_XXa=0
\]
\[
S_YXa-\theta S_YYb=0
\]
将上面第一个式子左乘\(a^T\),第二个式子左乘\(b^T\),并利用\(a^TS_XXa =1,\; b^TS_YYb =1\),我们得到
\[
\lambda = \theta = a^TS_XYb
\]
其实也就是说我们的拉格朗日系数就是我们要优化的目标。我们继续将上面的两个式子做整理,第一个式子左乘\(S_XX^-1\),第二个式子左乘\(S_YY^-1\),我们得到:
\[
S_XX^-1S_XYb=\lambda a
\]
\[
S_YY^-1S_YXa =?\lambda b
\]
将上面第二个式子带入第一个式子,我们得到
\[
S_XX^-1S_XYS_YY^-1S_YXa=\lambda^2a
\]
这个式子我们就熟悉了,这不就是特征分解吗!要求最大的相关系数\(\lambda?\),我们只需要对矩阵\(N=S_XX^-1S_XYS_YY^-1S_YX\)做特征分解,找出最大的特征值取平方根即可,此时最大特征值对应的特征向量即为X的线性系数\(a\)。
同样的办法,我们将上面第一个式子带入第二个式子,我们得到
\[
S_YY^-1S_YXS_XX^-1S_XYb=\lambda^2b
\]
,?我们只需要对矩阵\(N’=S_YY^-1S_YXS_XX^-1S_XY\)做特征分解,找出最大的特征值取平方根即可,此时最大特征值对应的特征向量即为Y的线性系数\(b\)。
可以看出特征分解的方法要比SVD复杂,但是两者求得的结果其实是等价的,只要利用SVD和特征分解之间的关系就很容易发现两者最后的结果相同。
五、CCA算法流程
这里我们对CCA的算法流程做一个总结,以SVD方法为准。
输入:各为m个的样本X和Y,X和Y的维度都大于1
输出:X,Y的相关系数\(\rho\),X和Y的线性系数向量a和b
1)计算X的方差\(S_XX\), Y的方差\(S_YY\),X和Y的协方差\(S_XY\),?Y和X的协方差\(S_YX=S_XY^T\)
2) ?计算矩阵\(M=S_XX^-1/2S_XYS_YY^-1/2\)
3)对矩阵\(M\)进行奇异值分解,得到最大的奇异值\(\rho\),和最大奇异值对应的左右奇异向量\(u,v\)
4) 计算X和Y的线性系数向量a和b, \(a=S_XX^-1/2u, b=S_YY^-1/2v\)
可见算法流程并不复杂,但是要理解这个算法需要了解一些背景知识。
六、CCA算法小结
CCA算法广泛的应用于数据相关度的分析,同时还是偏最小二乘法的基础。但是由于它依赖于数据的线性表示,当我们的数据无法线性表示时,CCA就无法使用,此时我们可以利用核函数的思想,将数据映射到高维后,再利用CCA的思想降维到1维,求对应的相关系数和线性关系,这个算法一般称为KCCA。
此外,我们在算法里只找了相关度最大的奇异值或者特征值,作为数据的相关系数,实际上我们也可以像PCA一样找出第二大奇异值,第三大奇异值,。。。得到第二相关系数和第三相关系数。然后对数据做进一步的相关性分析。但是一般的应用来说,找出第一相关系数就可以了。
有时候我们的矩阵\(S_XX,S_YY\)不可逆,此时我们得不到对应的逆矩阵,一般遇到这种情况可以对\(S_XX,S_YY\)进行正则化,将\(S_XX,S_YY\)变化为\(S_XX+\gamma I,S_YY+\gamma I\),然后继续求逆。其中\(\gamma\)为正则化系数。
(欢迎转载,转载请注明出处。欢迎沟通交流: 微信:nickchen121)
以上是关于请高手帮我找出这两组数据的对应关系,谢谢!!的主要内容,如果未能解决你的问题,请参考以下文章