文档库 最新最全的文档下载
当前位置:文档库 › 大数据课程报告

大数据课程报告

大数据课程报告
大数据课程报告

摘要

流形学习方法作为一类新兴的非线性维数约简方法,主要目标是获取高维观测数据的低维紧致表示,探索事物的内在规律和本征结构,已经成为数据挖掘、模式识别和机器学习等领域的研究热点。流形学习方法的非线性本质、几何直观性和计算可行性,使得它在许多标准的toy 数据集和实际数据集上都取得了令人满意的结果,然而它们本身还存在着一些普遍性的问题,比如泛化学习问题、监督学习问题和大规模流形学习问题等。因此,本文从流形学习方法存在的问题出发,在算法设计和应用(图像数据与蛋白质相互作用数据)等方面展开了一系列研究工作。首先对流形学习的典型方法做了详细对比分析,然后针对流形的泛化学习和监督学习、表征流形的局部几何结构、构造全局的正则化线性回归模型、大规模数据的流形学习等几个方面进行了重点研究,提出了三种有效的流形学习算法,并和相关研究成果进行了理论与实验上的比较,从而验证了我们所提算法的有效性。

关键词:流形学习,维数约简,正交局部样条判别投影,局部多尺度回归嵌入

目录

目录 ................................................................................................................................................. II 第1章研究背景.. (1)

1.1流形学习的研究背景 (1)

1.2流形学习的研究现状 (2)

1.3流形学习的应用 (4)

第2章流形学习方法综述 (5)

2.1流形学习方法介绍 (6)

第3章流形学习方法存在的问题 (9)

3.1本征维数估计 (9)

3.2近邻数选择 (10)

3.3噪声流形学习 (10)

3.4监督流形学习 (11)

第4章总结 (11)

第1章研究背景

1.1流形学习的研究背景

随着信息时代的到来,使得数据集更新更快、数据维度更高以及非结构化性等问题更突出。在科研研究的过程中不可避免地遇到大量的高维数据,这就需要一种技术能够使在保持数据信息足够完整的意义下从海量数据集中提取出有效而又合理的约简数据,满足人的存储需求和感知需要。流形学习这一非监督学习方法应运而生,引起越来越多机器学习和认知科学工作者的重视。而在海量的高维数据中,往往只有少量的有用信息,如果想快速高效的搜集到人们想要的、有用的那些少量信息且快速的处理信息,这就需要一些关键技术的支持,即是必须采用相应的降维技术。而流形学习正是在数据降维方面有着重要的贡献。然而,降维的过程与《矩阵分析》中的内容有着密切的关系。

基于流形的降维方法能充分利用数据中所隐藏的低维有价值信息,进一步提高检索性能。Seung从神经心理学的角度提出“感知以流形的形式存在,视觉记忆也可能是以稳态的流形存储”,为流形提供了与人类认识相关的理由。流形学习的方法主要有主成分分析(PCA)、多维尺度化(MDS)、基于局部切空间排列法(LTSA)和基于等度规映射(ISOMAP)、局部线性嵌入算法(LLE)、拉普拉斯特征映射(LE)等。另外,流形学习方法在人脸识别、图像处理、模式识别、计算机视觉、认知科学、人工智能、人机交互等众多学科中有着广泛的应用。

线性维数约简方法是通过在高维输入空间与低维子空间之间建立线性映射关系,把高维数据样本集投影到低维线性子空间。线性维数约简技术通常假设数据集采样于一个全局线性的高维观测空间。如果所要处理的数据集分布确实呈现出全局线性的结构,或者在一定程度上可以近似为全局线性结构,则这些方法能够有效地挖掘出数据集内在的线性结构,获得数据紧致的低维表示。在线性维数约简方法中,使用最广泛的算法有主分量分析(Principal Component Analysis, PCA)(Jolliffe, 2002; Turk and Pentland, 1991)

和线性判别分析(Linear Discriminant Analysis, LDA)(Duda et al., 2001)。

主分量分析(PCA)主要是根据高维数据在低维空间重构误差最小的原则,来寻找一组最优的单位正交向量基(即主分量),并通过保留数据分布方差较大的若干主分量来达到降维的目的。然而,众所周知,由于PCA 算法没有利用数据样本的类别信息,所以它是一种非监督的线性维数约简方法。与PCA 算法不同,LDA 算法考虑到样本的类别信息,它是一种有监督的方法。基于各类样本服从高斯分布且不同类的协方差矩阵相同的假设,LDA 算法在Fisher 准则下选择最优的投影向量,以使得数据样本的类间散度最大而类内散度最小。由于LDA 算法利用了样本的类别信息,而样本的类别信息通常有助于改善识别率,因此LDA 算法更适用于分类问题。

1.2流形学习的研究现状

流形学习假定输入数据是嵌入在高维观测空间的低维流形上,流形学习方法的目的是找出高维数据中所隐藏的低维流形结构。经过十多年的研究与探索,人们提出了大量的流形学习理论与算法。经典的流形学习方法有等距特征映射算法(ISOMAP)(Tenenbaum et al., 2000)、局部线性嵌入算法(LLE)(Roweis and Saul, 2000; Saul and Roweis, 2003)、Laplacian 特征映射算法(Laplacian Eigenmaps,LE)(Belkin and Niyogi, 2002; Belkin and Niyogi, 2003)、Hessian特征映射算法(Hessian-based Locally Linear Embedding,HLLE)(Donoho and Grimes, 2003)、最大差异展开算法(Maximum Variance Unfolding,MVU)(Weinberger et al., 2005; Weinberger and Saul, 2004; Weinberger and Saul, 2006; Weinberger et al., 2004)、局部切空间排列算法(Local Tangent Space Alignment, LTSA)(Zhang and Zha, 2004)、黎曼流形学习算法(Riemannian Manifold Learning, RML)(Lin and Zha, 2007; Lin et al., 2006)和局部样条嵌入算法(Local Spline Embedding,LSE)(Xiang et al., 2006; Xiang et al., 2008)等。

Tenenbaum 提出的ISOMAP 算法是多维尺度分析(Multidimensional Scaling, MDS)(Cox and Cox, 1994)在流形框架下的非线性推广,其核心思想是用测地距离代替欧氏距离来表征流形上数据点的内在几何关系。对于样本

点和它的近邻点之间的测地距离用它们之间的欧氏距离来代替;对于样本点和近邻点之外的点之间的测地距离用它们之间的最短路径来代替。Bernstein 等人证明了只要样本是随机抽取的,在样本集足够大且选择适当近邻参数k 时,近邻图上两点的最短路径可以逼近它们的测地距离(Bernstein et al., 2000)。当应用于内蕴平坦的凸流形时,ISOMAP 算法能够忠实地捕获数据内在的低维流形结构(De Silva and Tenenbaum, 2003)。ISOMAP 算法的主要缺点在于:①对样本点的噪声比较敏感;②对于具有较大曲率或稀疏采样的数据集,不能发现其内在的本征结构;③需要计算全体数据集的测地距离矩阵,因此算法的时间复杂度较高。围绕ISOMAP算法,已经出现了许多相关的理论分析与研究工作。

Balasubramanian 等人对ISOMAP 算法的拓扑稳定性进行了深入探讨(Balasubramanian and Schwartz, 2002)。对于数据分布所在的低维流形具有较大的内在曲率情况,de Silva 和Tenenbaum 提出了保角等距特征映射算法(conformal ISOMAP)(De Silva and Tenenbaum, 2003)。为了减小ISOMAP 算法的计算复杂度,de Silva 和Tenenbaum提出了带标记的等距特征映射算法(Landmark ISOMAP)(De Silva and Tenenbaum, 2003)。

针对ISOMAP 算法对于数据集噪声敏感的问题,Choi 等人通过观察图中的网络流提出了一种消除临界孤立点的方法以加强ISOMAP 算法的拓扑稳定性(Choi and Choi, 2007)。在构建近邻图方面,Yang 提出通过构造k 连通图方式来确保近邻图的连通性,以提高测地距离的估计精度(Yang, 2005)。

2009 年,Xiang 等人提出了局部样条嵌入算法(LSE)(Xiang et al., 2006; Xiang et al., 2008)。Xiang 认为,对于嵌入在高维输入空间的低维流形,非线性维数约简的任务实际上是寻找一组非线性的复合映射,即由局部坐标映射(Local Coordinatization Mapping)与全局排列映射(Global Alignment Mapping)复合而成的兼容映射(Compatible Mapping)。在兼容映射的概念框架下,LSE 算法首先通过主分量分析计算每个样本点局部邻域在切空间上的投影获得该邻域所有样本的局部坐标,从而保持流形的局部几何结构信息;然后采用Sobolev 空间的一组样条函数把每个样本点的局部坐标映射成

全局唯一的低维坐标。它们均是利用每个样本的局部切空间来捕获流形的局部几何,样本点在切空间的投影来表示样本点的局部坐标。然而它们的主要区别在于全局排列,LTSA 算法是利用仿射变换来进行全局排列,而LSE 算法是利用样条函数来获得全局唯一的坐标。因此相对于LTSA 而言,LSE 算法能够实现更小的重构误差。LSE 算法的主要缺点在于:一是无法保持全局尺度信息;二是不能学习具有较大曲率的低维流形结构。除此,如何选择满足要求的样条函数也是一个值得考虑的问题。

不同流形学习算法的区别在于所尝试保持流形的局部邻域结构信息以及利用这些信息构造全局嵌入的方法不同,与以往的维数约简方法相比,流形学习能够有效地探索非线性流形分布数据的内在规律与性质。但是在实际应用中流形学习方法仍然存在一些缺点,比如本征维数估计问题、样本外点学习问题、监督流形学习问题和噪声流形学习问题等。为了解决这些问题,相关的算法也不断涌现出来。Freedman 等提出了一种基于简化单纯复形的流形重构方法来自动估计流形的本征维数(Freedman, 2002)。

为了解决样本外点学习问题,研究人员分别在流形学习的线性化、核化和张量化等方面作了有益的探索(Yan et al., 2007)。Geng 等将样本的类别信息融入到ISOMAP 算法,提出了一种用于可视化和分类的有监督的等距特征映射算法(S-ISOMAP)(Geng et al., 2005)。Zhang 等提出了一种基于局部线性平滑的流形学习消噪模型(Zhang and Zha, 2003)。这些方法的提出在一定程度上缓解了目前流形学习方法中存在的一些问题,但是还需要进一步充实和完善。

1.3流形学习的应用

目前,流形学习方法的应用可归纳为以下几个方面:

1)数据的可视化。流形学习方法在高维数据的可视化方面有了广泛的

应用。人不能直接感知高维数据的内部结构,但对三维以下数据的

内在结构却有很强的感知能力。由于流形学习方法可以发现高维观

测数据中蕴含的内在规律和本征结构,而且这种规律在本质上不依

赖于我们实际观测到的数据维数。因此我们可以通过流形学习方法

对高维输入数据进行维数约简,使高维数据的内部关系和结构在低

于三维的空间中展示出来,从而使人们能够直观地认识和了解高维

的非线性数据的内在规律,达到可视化的目的。

2)信息检索。随着多媒体和网络技术的迅猛发展,图像和文本信息的

应用日益广泛,对规模逐渐庞大的图像和文本数据库如何进行有效

的管理已成为亟待解决的问题。灵活、高效、准确的信息检索策略

是解决这一问题的关键技术之一。这些图像和文本信息呈现出高维、

大规模、非线性结构,利用流形学习方法来处理这些信息,在大大

降低时间和空间计算复杂度的同时,能够有效地保留这些信息在原

始高维空间的相似性。

3)图像处理。流形学习给图像处理领域提供了一个强有力的工具。众

所周知,图像处理与图像中物体的轮廓以及骨架等密切相关。如果

我们把图像中物体的轮廓以及骨架等看成是嵌入在二维平面中的一

维流形或者由一组一维流形构成,那么显然流形学习方法凭借其强

大的流形逼近能力可以应用于图像处理领域。

第2章流形学习方法综述

流形学习方法作为一种新兴的非线性维数约简方法,主要目标是获取高维观测数据的低维紧致表示,探索事物的内在规律和本征结构,已经成为数据挖掘、模式识别和机器学习等领域的研究热点。本章首先探讨了流形学习的基础性问题,即高维数据分析的流形建模问题;然后依据保持流形几何特性的不同,把现有的流形学习方法划分为全局特性保持方法和局部特性保持方法,并介绍了每一类方法中有代表性的流形学习算法的基本原理,对各种流形学习算法进行性能比较和可视化分析,最后就流形学习方法普遍存在的本征维数估计、近邻数选择、噪声流形学习、样本外点学习和监督流形学习问题等进行了分析和讨论。

2.1 流形学习方法介绍

流形学习的定义:流形是局部具有欧氏空间性质的空间。假设数据是均匀采样于一个高维欧氏空间中的低维流形,流形学习就是从高维采样数据中恢复低维流形结构,即找到高维空间中的低维流形,并求出相应的嵌入映射,以实现维数约简或者数据可视化。它是从观测到的现象中去寻找事物的本质,找到产生数据的内在规律。

流形学习用数学语言描述是:令Y ∈()i y 且?: Y →D

?是一个光滑的嵌套,其中D >> d 。那么流形学习的目标是基于D ?上的一个给定被观测数据集合()i x 去恢复Y 与? ,也就是在Y 中随机产生隐藏的数据()i y ,然后通过?

映射到观测空间,使得(){}i i x f y =。

从流形学习的定义中可以看出,这是一个把数据从高维映射到低维的过程,用到了线性变换,当然少不了矩阵的分解及其基本运算。

2.1.1 多维尺度分析(Multidimensional Scaling, MDS )

多维尺度分析(Multidimensional Scaling, MDS )是一种经典的线性降维方法,其主要思想是:根据数据点间的欧氏距离,构造关系矩阵,为了尽可能地保持每对观测数据点间的欧氏距离,只需对此关系矩阵进行特征分解,从而获得每个数据在低维空间中的低维坐标。

设给定的高维观测数据点集为T

Y =,D i x ∈?,观测数据点对i x , j y 间的欧氏距离为ij i j x y ?=-,传统MDS 的算法步骤如下:

a) 首先根据求出的两点之间的欧氏距离ij ?构造n 阶平方欧式距离矩阵()

2ij n n A ?=?。

b) 将矩阵A 进行双中心化计算,即计算12B HAH =-(其中H 为中心化矩阵,T

ee H I n =-,将矩阵H 左乘和右乘时称为双中心化)。

c) 计算低维坐标Y 。即将B 奇异值分解,设B 的最大的d 个特征值()

1,2,...,d diag λλλΛ=,对应特征向量,则d 维低维坐标

为T Y =。 虽然作为线性方法,MDS 在流形学习中不能有效发现内在低维结构。但是从这一基本的算法中我们可以清楚的看出矩阵分析在流形学习研究中的应用。在这个MDS 算法中,运用到了矩阵中的线性空间变换、矩阵特征值和特征向量的计算、矩阵的中心化计算、矩阵的奇异值的分解等相关知识点。想象一下,如果没有这些知识点做基础,这些算法如何进行。

2.1.2 等距特征映射(ISOMAP )

(1)基本思想:Tenenbaum 等人提出的等距特征映射算法(ISOMAP )是建立在多维尺度分析(MDS )基础上的一种非线性维数约简方法。ISOMAP 算法利用所有样本点对之间的测地距离矩阵来代替MDS 算法中的欧氏距离矩阵,以保持嵌入在高维观测空间中内在低维流形的全局几何特性。算法的关键是计算每个样本点与所有其它样本点之间的测地距离。对于近邻点,利用输入空间的欧氏距离直接得到其测地距离;对于非近邻点,利用近邻图上两点之间的最短路径近似测地距离。然后对于构造的全局测地距离矩阵,利用MDS 算法在高维输入空间与低维嵌入空间之间建立等距映射,从而发现嵌入在高维空间的内在低维表示(Tenenbaum et al., 2000)。

(2)算法流程

<1>构造近邻图G

<2>计算最短路径

<3>计算 d 维嵌入

(3)算法分析

1,2,...,d U u u u ?

?=??

ISOMAP算法是一种保持全局几何特性的方法,它的低维嵌入结果能够反映出高维观测样本所在流形上的测地距离。如果高维观测样本所在的低维流形与欧氏空间的一个子集是整体等距的,且与样本所在流形等距的欧氏空间的子集是一个凸集,那么ISOMAP算法能够取得比较理想的嵌入结果。但是当流形曲率较大或者流形上有“孔洞”,即与流形等距的欧氏空间的子集非凸时,流形上的测地距离估计会产生较大的误差,导致嵌入结果产生变形。

从算法的时间复杂度来看,ISOMAP算法有两个计算瓶颈(De Silva and Tenenbaum, 2003)。第一个是计算n×n 的最短路径距离矩阵D G。当使用Floyd 算法时,计算复杂度为O(n3) ;若采用Dijkstra算法,可将计算复杂度降低到O(kn2log n) (k 为近邻数大小)(Cormen, 2001)。第二个计算瓶颈源于应用MDS时的特征分解。由于距离矩阵是稠密的,所以特征分解的计算复杂度为O(n3) 。从中我们可以看出,随着样本个数n 的增大,ISOMAP算法计算效率低下的问题会变得十分突出。

2.1.3局部线性嵌入(LLE)

1、基本思想

与ISOMAP和MVU算法不同,局部线性嵌入算法(LLE)是一种局部特性保持方法。LLE算法的核心是保持降维前后近邻之间的局部线性结构不变。算法的主要思想是假定每个数据点与它的近邻点位于流形的一个线性或近似线性的局部邻域,在该邻域中的数据点可以由其近邻点来线性表示,重建低维流形时,相应的内在低维空间中的数据点保持相同的局部近邻关系,即低维流形空间的每个数据点用其近邻点线性表示的权重与它们在高维观测空间中的线性表示权重相同,而各个局部邻域之间的相互重叠部分则描述了由局部线性到全局非线性的排列信息(Roweis and Saul, 2000)。这样就可以把高维输入数据映射到全局唯一的低维坐标系统。

2、算法流程

LLE算法的基本步骤分为三步:

(1)选择邻域

(2)计算重构权值矩阵W

(3)求低维嵌入Y

3、算法分析

通过前面算法描述我们不难发现,LLE算法可以学习任意维具有局部线性结构的低维流形。它以重构权值矩阵作为高维观测空间与低维嵌入空间之间联系的桥梁,使得数据点与其近邻点在平移、旋转和缩放等变化下保持近邻关系不变。而且LLE算法具有解析的全局最优解,无需迭代。在算法的计算复杂度上,选择邻域的计算复杂度为O(Dn2) ,计算重构权值矩阵的计算复杂度为O((D+k)k2n) ,求解低维嵌入Y 的计算复杂度为O(dn2) 。因此与ISOMAP和MVU算法相比,LLE算法的计算复杂度要小得多。

但LLE算法也存在一些缺点:①由于LLE算法只是保持局部近邻的重构权值关系,并不是保持距离关系,因此,LLE算法通常不能很好的恢复出具有等距性质的流形。②LLE算法希望样本集均匀稠密采样于低维流形,因此,对于受噪声污染、样本密度稀疏或相互关联较弱的数据集,在从高维观测空间到低维嵌入空间的映射过程中,可能会将相互关联较弱的远点映射到局部近邻点的位置,从而破坏了低维嵌入结果。

第3章流形学习方法存在的问题

流形学习相对于传统的线性维数约简方法来说,它能够更好地发现高维复杂非线性数据内在的几何结构与规律。但其各种算法本身还存在着一些普遍性的问题,比如本征维数估计问题、近邻数选择问题、噪声流形学习问题、泛化学习问题和监督学习问题等。本小节将对这些问题进行简要的分析和讨论。

3.1本征维数估计

本征维数估计是流形学习的一个基本问题(赵连伟et al., 2005)。本征维数一般被定义为描述数据集中所有数据所需要的自由参数(或独立坐标)的最小数目。它反映了隐藏在高维观测数据中潜在低维流形的拓扑属性。在非

线性维数约简过程中,本征维数估计的准确与否对低维空间的嵌入结果有着重要的影响。如果本征维数估计过大,将会保留数据的冗余信息,使嵌入结果中含有噪声;相反如果本征维数估计过小,将会丢失数据的有用信息,导致高维空间中不同的点在低维空间可能会交叠。因此,设计稳定可靠的本征维数估计方法将有助于流形学习算法的应用和性能的改善。

目前现有的本征维数估计方法大致分为两大类:特征映射法和几何学习法(Camastra, 2003)。特征映射法包括全局PCA 方法(Bennett, 1969)、局部PCA 方法(Bruske and Sommer, 1998; Fukunaga and Olsen, 1971)和多维尺度分析方法(Cox and Cox, 2000),它主要利用了数据分布的本征特征是数据的局部特征的基本思想,对局部数据进行特征分解,选取对应特征值最大的特征向量作为本征特征。显然,这类方法所估计的本征维数大小在很大程度上取决于数据的局部邻域划分和阈值的选择,因此特征映射方法不能提供本征维数的可靠估计。几何学习法主要基于最近邻距离(Nearest Neighbor Distances)或分形维(Fractal Dimension)(Camastra, 2003)来探索数据集所蕴含的几何信息,这类方法通常需要充足的样本数,因此,对于样本数少、观测空间维数较高的情况,经常会出现本征维数欠估计的情况。

3.2近邻数选择

流形学习探测低维流形结构成功与否在很大程度上取决于近邻数的选择(Zeng, 2008),然而在构造近邻图时如何选择一个合适的近邻数是一个公开的问题。如果近邻数选择过大,将会产生“短路边”现象(“short-circuit” edges),从而严重破坏原始流形数据的拓扑连通性。

3.3噪声流形学习

当观测数据均匀稠密采样于一个理想的低维光滑流形时,流形学习方法可以成功地挖掘出其内在的低维结构和本质规律。但是在实际应用中,我们经常发现高维采样数据由于受各种因素的影响,一般总是存在着噪声和污染,这将势必影响流形学习算法的低维嵌入结果。

3.4监督流形学习

现有的流形学习方法多数用于无监督学习情况,如解决降维与数据可视化等问题。当已知数据的类别信息,如何利用这些信息有效地改进原始流形学习算法的分类识别能力是监督流形学习所要解决的问题。从数据分类的角度来看,人们希望高维观测数据经过维数约简后在低维空间中类内差异小而类间差异大,从而有利于样本的分类识别。原始的流形学习算法都是无监督学习过程,一些引进监督信息的改进算法纷纷被提出来(Li et al., 2009; Zhao et al., 2006)。这些方法的基本思想是利用样本的类别信息指导构建有监督的近邻图,然后利用流形学习方法进行低维嵌入。尽管这些方法能够获得较好的分类结果,但是这种通过类别属性构建的近邻图往往会被分割成多个互不相连的子图,而不是一个完整的近邻图,这就给原始流形学习算法的最终应用带来了很大的不便。

第4章总结

流形学习是一个具有基础性、前瞻性的研究方向,其研究成果和技术已经立即应用于模式识别、计算机视觉、图像处理等相关领域。如高维数据的可视化、可听化;基于内容检索的模型;视频中三维对象的跟踪和检测;从静态二维图像中进行三维对象的姿态估计和识别;二维和三维对象的形状重构;从运动中构建结构、从阴影中成形等。此外流形学习还应用于自然语言处理、基因表达分析等生物信息处理领域,特别是在基因表达分析中,用于检测和区分不同的疾病和疾病类型。

尽管流形学习的算法和应用在过去的几年中已经取得了丰硕的成果,但是由于其数学理论基础较为深厚复杂,以及多个学科之间交叉融合,所以仍有许多亟需研究和解决的问题,尤其在下述几个方面:

1.目前已有很多流形学习算法,但很多算法只是建立在实验的基础之上,并没有充分理论基础支持,所以我们一方面要进一步探索能够有效学习到流形局部几何和拓扑结构的算法,提高流形投影算法的性能,另外更重要的是要不断完善理论基础。

2.各支几何都是研究空间在变换群下的不变性,微分几何亦是如此。而很多情况下我们正需要这种不变性,所以研究局部样本密度、噪声水平、流形的正则性、局部曲率、挠率结构的交互作用对流形学习的研究有积极促进作用。

3.统计学习理论得到充分发展并逐渐成熟,流形学习理论在其基础上发展自然可以把统计学中有用的技术应用于流形学习中,如流形上的取样和Monte Carlo 估计、假设检验,以及流形上关于不变测度的概率分布密度问题,都值得进一步研究。

4.目前大部分学习算法都是基于局部的,而基于局部算法一个很大缺陷就在于受噪声影响较大,所以要研究减小局部方法对于噪声和离群值的影响,提高学习算法鲁棒性及泛化能力。

5. 谱方法对噪声十分敏感。希望大家自己做做实验体会一下,流形学习中谱方法的脆弱。

6.采样问题对结果的影响。

7. 一个最尴尬的事情莫过于,如果用来做识别,流形学习线性化的方法比原来非线性的方法效果要好得多,如果用原始方法做识别,那个效果叫一个差。也正因为此,使很多人对流形学习产生了怀疑。

8. 把偏微分几何方法引入到流形学习中来是一个很有希望的方向。这样的工作在最近一年已经有出现的迹象。

参考文献

[1] R. Basri and D. W. Jacobs. Lambertian reflectance and linear subspaces. IEEE Transactions on Pattern Analysis and Machine Intelligence, 25(2):218–233, 2003. [2] R. Vidal. Subspace clustering. IEEE Signal Processing Magazine, 28(2):52–68, 2011.

[3] J. Shi and J. Malik, “Normalized cuts and image segmentation,” IEEE Transactions Pattern Analysis Machine Intelligence, 22(8):888–905, 2000.

[4] G. Liu, Z. Lin, S. Yan, J. Sun, Y. Yu, and Y. Ma. Robust recovery of subspace structures by

low-rank representation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 35(1):171–184, 2013.

[5] E. Elhamifar and R. Vidal. Sparse subspace clustering: Algorithm, theory, and applications.

IEEE Transactions on Pattern Analysis and Machine Intelligence, 35(11):2765–2781,

2013.

[6] Y. Wang, Y. Jiang, Y. Wu, and Z. Zhou. Spectral clustering on multiple manifolds. IEEE Transactions on Neural Networks, 22(7):1149–1161, 2011.

[7] B. Cheng, G. Liu, J. Wang, Z. Huang, and S. Yan, Multi-task low rank affinity pursuit for image segmentation, ICCV, 2011.

[8] C. Lang, G. Liu, J. Yu, and S. Yan, Saliency detection by multitask sparsity pursuit, IEEE Transactions on Image Processing, 21(3): 1327–1338, 2012.

大数据课程设计报告

大数据课程设计报告 导语:读书切戒在慌忙,涵泳工夫兴味长。未晓不妨权放过,切身须要急思量。以下小编为大家介绍大数据课程设计报告文章,欢迎大家阅读参考! 大数据课程设计报告最近几年,我国各个院校相继开设交互设计课程,但是目前我国的交互设计教学处于初步阶段,交互设计教学的模式研究仍然是一个值得重视的问题。本文通过对我国交互设计现状的分析,探讨现代教学模式中存在的问题,针对问题提出相关建议,以期推进我国交互设计教学的进步。 交互设计;教学模式;大数据时代 随着科学技术和互联网的发展,交互设计越来越受到人们的重视。联想、新浪、腾讯等等众多企业对交互设计人才的需求越来也多,但是行业内人才比较缺乏。如何提高交互设计专业的教学质量,满足日益增长的人才需要,成为教育工作者亟需解决的一个难题。 《高等教育法》第5条规定:“高等教育的任务是培养具有创新精神和实践能力的高级专门人才,发展科学技术文化,促进社会主义现代化建设。”这意味着高等教育肩负着人才培养和科学技术文化发展两大任务,高校理工科教师身兼教学工作者和科研工作者双重身份,在教学与科研两大阵

地中耕耘。因此,发挥高校理工科教师的双重角色优势,在理工科教学的课堂上引入科学研究的思维与方法,使大学生“像科学家一样工作”地学习,能促进“学术性之教学”的形成,培养创新精神与实践能力,铸造学生的科学精神与人文精神。基于此,如何将科研思维有效地引入课堂是值得探索的一个方向。 最近几年,交互设计专业在我国各个院校相继开设,发展迅速,但是我国的交互设计教学的发展仍然处于初级阶段,虽然在交互专业教学方面积累了一定的经验,却也存在不少问题。 课堂教学以教师为中心目前,各个院校主要利用多媒体进行交互设计课程教学,这种教学模式是通过老师向学生传递知识,学生接受知识,从而完成教学的目的,但是这种教学模式只考虑到了课程内容的前瞻性和系统性,并没有考虑到怎样才能保证教学的效率,因而造成学生在学习的过程处于被动的位置。 课程体系不完善交叉设计是一门综合性很强的专业,涉及设计艺术学、计算机科学、认知科学、心理学等等交叉研究的领域。但是目前各个院校内交叉设计这门课程的教学体系还不够完善,只包括了交互设计体验设计、交互界面设计、感性工学、人机工程学等课程。在逻辑学、认知心理学等方面很多院校还未创立相关课程。另外,很多院校设立的交叉

最新数据库管理系统实验报告含答案

武汉纺织大学《最新数据 库管理系统》课程实验报告 班级: _______姓名:实验时间:年月日指导教师:_______ 一、实验目的 1、通过实验,使学生全面了解最新数据库管理系统的基本内容、基本原理。 2、牢固掌握SQL SERVER的功能操作和Transact-SQL语言。 3、紧密联系实际,学会分析,解决实际问题。学生通过小组项目设计,能够运用最新数据库管理系统于管理信息系统、企业资源计划、供应链管理系统、客户关系管理系统、电子商务系统、决策支持系统、智能信息系统中等。 二、实验内容 1.导入实验用示例数据库: f:\教学库.mdf f:\教学库_log.ldf f:\仓库库存.mdf f:\仓库库存_log.ldf 1.1 将数据库导入 在SqlServer 2005 导入已有的数据库(*.mdf)文件,在SQL Server Management Studio 里连接上数据库后,选择新建查询,然后执行语句 EXEC sp_attach_db @dbname = '教学库', @filename1 = 'f:\教学库.mdf', @filename2 = 'f:\教学库_log.ldf' go use [教学库] EXEC sp_changedbowner 'sa' go EXEC sp_attach_db @dbname = '仓库库存',

@filename1 = 'f:\仓库库存.mdf', @filename2 = 'f:\仓库库存_log.ldf' go use [仓库库存] EXEC sp_changedbowner 'sa' go 1.2 可能出现问题 附加数据库出现“无法打开物理文件"X.mdf"。操作系统错误5:"5(拒绝访问。)"。(Microsoft SQL Server,错误: 5120)”。 解决:找到要附加的.mdf文件-->右键-->属性-->安全-->选择当前用户-->编辑-->完全控制。对.log文件进行相同的处理。 2.删除创建的数据库,使用T-SQL语句再次创建该数据库,主文件和日志文件的文件名同上,要求:仓库库存_data最大尺寸为无限大,增长速度为20%,日志文件初始大小为2MB,最大尺寸为5MB,增长速度为1MB。 CREATE DATABASE仓库库存 (NAME = '仓库库存_data', FILENAME = 'F:\仓库库存_data.MDF' , SIZE = 10MB, FILEGROWTH = 20%) LOG ON (NAME ='仓库库存_log', FILENAME = 'F:\仓库库存_log. LDF', SIZE = 2MB, MAXSIZE = 5MB, FILEGROWTH = 1MB) 2.1 在数据库“仓库库存”中完成下列操作。 (1)创建“商品”表,表结构如表1:

数据库课程设计大作业

《数据库原理》课程设计报告 专业:测控技术与仪器 班级:测控071班 学号:200710402112 200710402115 姓名:杜文龙王京京 题目名称:物资管理系统 完成日期:2009年12月25日 昆明理工大学信息工程与自动化学院 2009年12月

物资管理系统 一、课程设计目的: 1.加深对讲授内容的理解 《数据库原理及应用》中有关数据库技术的基本理论、基本概念、设计与实现的方法和阶段性知识,光靠课堂讲授既枯燥无味又难以记住,但它们都很重要,要想熟练掌握,必须经过大量实践环节加深对它们的理解。 2.通过课程设计,掌握数据库系统设计与开发的方法及步骤 数据库是一门应用性很强的学科,开发一个数据库系统需要集理论、系统和应用三方面为一体,以理论为基础,以系统(DBMS)作支柱,以应用为目的,将三者紧密结合起来。同时结合实际需要开发一个真实的数据库系统,对于较大型的系统可多人一起完成,但无论如何都应完成数据库的需求分析、数据的分析与建模、数据库的建立、数据库的开发与运行等全部过程。在此过程中将所学的知识贯穿起来,达到能够纵观全局,分析、设计具有一定规模的题目要求,基本掌握数据库系统设计与开发的基本思路和方法并且做到对知识的全面掌握和运用。 3.培养学生自学以及主动解决问题的能力 通过本次设计,使同学能够主动查阅与数据库相关资料,掌握一些课堂上老师未曾教授的知识,从而达到培养学生自学以及主动解决问题的能力的目的。 二、课程设计基本要求: 1.课程设计应由学生本人独立完成,严禁抄袭。 2.掌握所学的基础理论知识,数据库的基本概念、基本原理、关系数据库的设 计理论、设计方法等。熟悉数据建模工具Visio与数据库管理系统SQLServer 软件的使用。 3.按时上机调试,认真完成课程设计。 4.认真编写课程设计报告。 三、需求分析 信息管理系统是集计算机技术、网络通讯技术为一体的信息系统工程,它能够使企业运行的数据更加准确、及时、全面、详实,同时对各种信息进一步地加工,使企业领导层对生产、经营的决策依据更充分,更具有合理性和库、科学性,并创建出更多的发展机会;另外也进一步加强企业的科学化、合理化、制度化、规范化管理,为企业的管理水平跨上新台阶,为企业持久、健康、稳定的发展打下基础。 这个物资管理系统是以客户机/服务器模式的信息管理模式的信息管理系统。它的开发过程不仅仅是一个编写应用程序的过程,而是以软件工程的思想为指导,从可行性研究开始,经过系统分析、系统设计、系统实施

大数据实验报告

学生实验报告册 (理工类) 课程名称:大型数据库技术专业班级:12计算机科学与技术(1)学生学号:学生姓名: 所属院部:计算机工程学院指导教师:陈爱萍

2014——20 15学年第2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:Oracle数据库安装与配置实验学时: 1 同组学生姓名:实验地点:1316 实验日期:2015/3/27 实验成绩: 批改教师:陈爱萍批改时间:

实验1:Oracle数据库安装与配置 一、实验目的和要求 (1)掌握Oracle数据库服务器的安装与配置。 (2)了解如何检查安装后的数据库服务器产品,验证安装是否成功。 (3)掌握Oracle数据库服务器安装过程中出现的问题的解决方法。 (4)完成Oracle 11g数据库客户端网路服务名的配置。 (5)检查安装后的数据库服务器产品可用性。 (6)解决Oracle数据库服务器安装过程中出现的问题。 二、实验设备、环境 设备:奔腾Ⅳ或奔腾Ⅳ以上计算机 环境:WINDOWS 7、ORACLE 11g中文版 三、实验步骤 (1)从Oracle官方网站下载与操作系统匹配的Oracle 11g数据库服务器和客户机安装程序。 (2)解压Oracle 11g数据库服务器安装程序,进行数据库服务器软件的安装。

大数据基础课程设计报告

大数据基础课程设计报告 一、项目简介: 使用hadoop中的hive、mapreduce以及HBASE对网上的一个搜狗五百万的数进行了一个比较实际的数据分析。搜狗五百万数据,是经过处理后的搜狗搜索引擎生产数据,具有真实性,大数据性,能够较好的满足分布式计算应用开发课程设计的数据要求。 搜狗数据的数据格式为:访问时间\t 用户 ID\t[查询词]\t 该URL 在返回结果中的排名\t 用户点击的顺序号\t 用户点击的 URL。其中,用户 ID 是根据用户使用浏览器访问搜索引擎时的 Cookie 信息自动赋值,即同一次使用浏览器输入的不同查询对应同一个用户ID。 二、操作要求 1.将原始数据加载到HDFS平台。 2.将原始数据中的时间字段拆分并拼接,添加年、月、日、小时字段。 3.将处理后的数据加载到HDFS平台。 4.以下操作分别通过MR和Hive实现。 ●查询总条数 ●非空查询条数

●无重复总条数 ●独立UID总数 ●查询频度排名(频度最高的前50词) ●查询次数大于2次的用户总数 ●查询次数大于2次的用户占比 ●Rank在10以内的点击次数占比 ●直接输入URL查询的比例 ●查询搜索过”仙剑奇侠传“的uid,并且次数大于3 5.将4每步骤生成的结果保存到HDFS中。 6.将5生成的文件通过Java API方式导入到HBase(一张表)。 7.通过HBase shell命令查询6导出的结果。 三、实验流程 1. 将原始数据加载到HDFS平台 2. 将原始数据中的时间字段拆分并拼接,添加年、月、日、小时字段 (1)编写1个脚本sogou-log-extend.sh,其中sogou-log-extend.sh的内容为: #!/bin/bash #in infile=$1 #out

汽车修理管理系统 课程设计 数据库大作业(有源文件)

数据库大作业 《数据库原理与设计》课程设计汽车修理管理系统 学号: 姓名: 年级层次: 教学中心:

汽车修理管理系统 一. 概述 1.项目背景 在计算机不断发展的今天,计算机已经运用到各个领域,计算机的作用使由手工的操作到计算机的操作是一个大的飞跃,代替的复杂的容易出错的人工操作,节省了大量的时间,提高了正确性,提高了数据的可靠性。因此每个公司使用计算机建立自己的业务是迫在眉睫,汽车修理厂根据业务发展的需要,决定建立一个数据库管理系统,以代替单一的人工管理。这样使人工操作的管理方便,简单。 2.编写目的 编写的目的是使汽车修理厂由单一的人工管理到计算机管理的飞跃,使汽车修理厂的管理的效率得到很大的提高,使人工管理的出错的机会大大减少,实现数据的共享,便于查询自己的数据信息,使汽车修理厂的业务的流程时间大大减少,从而可以提高该汽车修理厂的竞争性,在社会有立足之地。 3.软件定义 该软件为第一版,既汽车修理管理系统1.0 版。 4.开发环境 数据库: SQL SERVER 2000 开发和编译环境: Visual C++6.0。 二.需求分析 1.通过分析得知,该修理厂共使用5种单据,4种账册和3种主要报表。 ⑴五种单据如表1所示: 表中D1由送修人填写。修理派工员据此开出修理单D2,分派给指定的修理工执行。如果在修理中需要更换零件,一律由修理工填写零件领用单D3向仓库领用。修理结束后,修理工将D2交回给派工员,然后转财务部门结账并开修车发票D5。D4在零件入库时由仓库管理员验收并且填写。图6显示了这些单据的格式内容。 编号名称填写人 D1 修车登记单送修人 D2 汽车修理单修理派工员和修理工 D3 零件领用单修理工 D4 零件入库单仓库管理员 D5 修车发票财务人员 表1 当前系统单据一览表

黑大数据库实验报告资料

黑龙江大学 “数据库系统原理课程设计”总结报告 学院软件学院 年级2014级 专业软件工程 学号20143983 姓名陆芝浩 报告日期2016.11.9 成绩 黑龙江大学软件学院

1、开发环境 操作系统:Windows7 编程语言环境:VC++6.0 2、DBMS系统架构 3、DBMS主要功能模块 1、实现SQL语句中的Create Table建表语句,建立相应的数据库表,并生成相应的数据字典文件和数据文件。 2、实现alter table表模式的修改功能: ①能够为已建立的表添加属性。 ②能够从已建立的表中删除属性。

3、实现drop table删除表功能。 4、实现create index创建索引的功能。 5、实现drop index删除索引的功能。 6、实现insert可以向已经创建的表插入元组。 7、实现delete从已经创建的表中删除元组。 8、实现update修改表中的数据。 9、实现SELECT语句,包括: 实现单表全属性查询。 实现单表单属性查询。 实现多表的连接全属性查询。 实现多表的连接和选择条件的全属性查询。 实现多表的连接的单属性查询。 实现多表的连接和选择的单属性查询。 实现单表的选择的单属性查询。 实现单表的选择的全属性查询。 10、利用启发式关系代数优化算法进行查询优化。 11、建立访问权限,根据数据字典(DD)实现对数据库的安全性检查和完整性约束的机制。 3.1 SQL语言的词法和语法分析 (1)功能介绍 通过编译原理的知识对输入的SQL语句进行词法分析,将SQL语句拆分为若干个单词,对其进行语法分析,确定输入的SQL语句的含义. (2)相关理论 利用编译原理的相关知识,对输入的SQL语句进行模仿SQL语言的词法及语法结构的分析。

课程设计报告

课程设计报告 题 目 基于数据挖掘的航电系统故障诊断 专业名称 电子信息工程 学生姓名 王腾飞 指导教师 陈 杰 完成时间 2014年3月18日

摘要 航电系统是飞机的重要组成部分,由于其综合应用了电子、机械、计算机及自动检测等许多学科的先进技术,结构层次很多,所以对其实施故障诊断具有涉及专业领域多、诊断难度大、要求时间短等特点。这对快速处理故障数据提出了很大的挑战。 从独立的联合式航电机箱的按键通电测试,到集中式飞机管理系统数据收集,飞机维修系统经过漫长的发展已演变成故障诊断工具。 现代飞机均采用了中央维修系统,用以收集所有子系统的故障报告、判断故障根源并推荐修理方法。飞机的故障信息和历史数据存放在数据库中。如果用传统的数据分析方法对这些海量的数据进行分析时会显得力不从心,不仅浪费时间而且对于隐含的知识难以有效的进行挖掘。数据挖掘技术十分符合现实的需要,它可以客观地挖掘出历史数据库中潜在的故障规则,这些规则能更好地指导故障的定位与检修,并对潜在的故障做出预测。随着数据的不断增长,如何能自动获取知识已经成为故障诊断技术发展的主要制约条件,而数据挖掘技术为解决这个“瓶颈”问题提供了一条有效的途径。 本文详细介绍了故障诊断技术与数据挖掘技术,并总结了航电系统的故障诊断的特点。拟采用聚类分析的技术对故障数据快速处理,实现对故障的快速定位。 关键词:故障诊断数据挖掘聚类分析航电系统

故障诊断技术 故障诊断技术简介 故障诊断就是指当设备系统不能完成正常的功能时,利用一定的方法找出使该功能丧失的原因及发生故障的部位,实现对故障发展趋势的预测的过程。故障诊断涉及到多方面的技术背景,主要以系统论、信息论、控制论、非线性科学等最新技术理论为基础,它是一门综合性的学科,具有重要的实用价值。 设备系统故障及故障诊断 随着现代化工业的发展,设备系统能够以最佳状态可靠地运行,对于保证产品质量、提高企业的产能、保障生命财产安全都具有极其重要的意义。设备系统的故障是指设备系统在规定时间内、规定条件下丧失规定功能的状况。故障诊断的作用则是发现并确定发生故障的部位及性质,找出故障的起因,预测故障的发展趋势并提出应对措施。故障诊断技术的使用范围不应只局限于设备系统使用和维修过程中,在设备系统的设计制造过程中也可以使用故障诊断技术,为以后的故障监测和设备系统维护创造条件。因此,故障诊断技术应该贯穿于设备系统的设计、制造、运行和维护的全过程当中。 机载设备的故障诊断流程框图:

数据库课程设计实验报告一

一、需要实现得功能 1、1录入学生基本信息得功能 学生基本信息主要包括:学号、姓名、性别、年龄、出生地、专业、班级、总学分,在插入时,如果数据库则已经存在该学号,则不能再插入该学号。 1、2修改学生基本信息得功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 1、3查询学生基本信息得功能 可使用“姓名”对已存有得学生资料进行查询。 1、4删除学生基本信息得功能 在管理员模式下,只要选择表格中得某个学生,就可以删除该学生. 1、5用户登陆 用不同得登录权限可以进入不同得后台界面,从而实现权限操作。 1、6用户登陆信息设置 可以修改用户登陆密码 二、设计得目得 课程设计就是学习完该课程后进行得一次较全面得综合练习。其目得在于通过实践加深学生对面向对象程序设计得理论、方法与基础知识得理解,掌握使用Java语言进行面向对象设计得基本思路与方法;加强学生研发、调试程序得能力;培养学生分析、解决问题得能力;提高学生得科技论文写作能力。 三、总体设计 3、1功能图

3、2 Use Case图

3、3系统执行流程图 3、4、数据库设计

主要就是E-R 图与数据库二维表得设计 3、4、1数据库E-R 模型 3、4、2数据库关系模型—-二维表 学生表(s tu dent ) 字段 数据类型 说明 st uId nvarc har(30) 学号 s tuName n varchar(30) 姓名 st uSe x nva rchar(30) 性别 stuAg e i nt 年龄 s tuJg nvar char (30) 籍贯 stuZy n var cha r(30) 专业 cl as sId nvarch ar(30) 班号 stuSour se numeric(5,2) 总学分 学号 姓名 性别 年龄 出生地 专业 班级 总学分 登陆用户管理 账号 密码 职位 学 生

数据库课程设计工厂管理系统大作业

摘要 姓名:颜超丽学号:200915553013027 此文运用了数据字典、数据流图等方法对工厂管理系统进行了需求分析,运用E-R图进行了概念结构设计,在逻辑结构设计中将E-R图转化为关系模型,在物理结构设计中确定该数据库的存储结构,最后通过SQL语言实现数据库的设计。在这过程中,还详细地分析了各个子系统的属性、实体间的联系以及子系统间的关系。在这基础上,通过金仓数据库软件,运用SQL语言将所建工厂管理系统数据库顺利实现。 关键字:数据字典,E-R图,SQL语言 目录 一、系统概述 (1) 二、需求分析 (1) 1信息分析 (1) 2数据流图 (2) 3数据字典 (2) 三、概念结构设计 (4) 1实体列表 (4) 2分E-R图 (4) 3全局E-R图 (5) 四、物理结构设计 (5) 1关系模式存取方式选择 (5) 2确定数据库的存储结构 (5)

3评价物理结构 (5) 五、逻辑结构设计 (6) 六、数据库的实施 (7) 七、设计总结........ (8) 八、文献 (9)

工厂管理系统库 一、系统概述 工厂管理信息化是工厂管理系统应用信息技术及其产品的过程,是信息技术应用于工厂管理的过程。工厂信息化的实施,自下而上而言,必须以管理人员使用信息技术水平的逐步提高为基础;自上而下而言,必须与工厂的制度创新、组织创新和管理创新结合。 工厂管理系统算是比较简单一种信息系统。它主要应用于工厂仓库管理、职工管理、车间管理和零件管理。其中车间对职工和零件来说是很重要的。 工厂管理信息化建设工作具有长期性和内容的多变性;正因为这样,车间管理信息系统也不是一个简单的、静止的、封闭的系统,而是一个开放的,随着时间的推移会逐步变化和发展的系统。 二、需求分析 1、信息分析 根据工厂方面取得的信息资料,得出系统的信息需求和处理要求,得到设计所需的需求信息。这些信息是是选择了对数据库设计直接有用的信息。 A.工厂系统: a.车间:一个工厂有很多个车间,每个车间有车间号、车间主任名、地址、 电话。 b.工人:一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和 工种。 c.产品:一个车间生产多钟产品,产品有产品号,价格。 d.零件:一个车间有多个零件,一个零件也可以由多个车间制造。零件有 零件号、重量和价格。 e.仓库:产品与零件存入仓库中,厂内有多个仓库,仓库有仓库号、仓库 保管员、姓名、电话。 B.系统联系: a.生产:一个车间有多个零件,一个零件也可以由多个车间制造。 b.组成:一个产品由多个零件组成,一种零件也可装配多中产品内。 c.保管:产品与零件存入仓库中,厂内有多个仓库。

大型数据库管理实验报告4

武汉轻工大学 经济与管理学院实验报告 实验课程名称大型数据库管理 实验起止日期2019.11.5至2019.12.10 实验指导教师程红莉 实验学生姓名学生班级学号物流管理1702 实 验 评 语 实验 评分 教师 签名 年月日

实验项目名称数据完整性实验日期2019.12.10 学生姓名班级学号物流管理1702 一、预习报告(请阐述本次实验的目的及意义) 1.熟悉通过SQL对数据进行完整性控制。 2.完成书本上习题的上机练习。 二、实验方案(请说明本次实验的步骤和进程) 1.用Constraint和Check建立完整性约束条件 教材164页例[7] Student表的ssex 只允许取‘男’或‘女’ create table student1 (sno char(9) primary key, sname char(8) not null, sex char(2) check(sex in('男','女')), sage smallint, sdept char(20) ); 教材164页例[8] create table sc1 (sno char(9), cno char(4), grade smallint check(grade>=0 and grade<=100), primary key(sno,cno), foreign key(sno)references student1(sno), foreign key(cno)references course(cno) ); 教材164页例[7]、例[8](给学生表的性别增加约束条件,即只允许“男”或“女”。可用语句: alter table student add constraint course1 check(sex in('男','女')) alter table sc add constraint course2 check (score>=0 and score<=100) go

大数据结构与算法课程设计程序及报告材料

数据结构与算法课程设计报告 题目 两两相连的房间问题: 一所奇怪的房子,这所房子里有n个房间,每个房间里有一些门通向别的房间,可是这些门十分奇怪,它们只能从房间a开向房间b,也就是说,一扇从a开向b的门是不能让一个人从b房间走到a房间的。你能计算一下任意两个房间之间都互相相通吗? 问题分析 此程序需要完成如下要求:在这所房子里,从任意一个房间开始,按照开门的方向,均能够找到一个合适的路线,使得一个人能够不重复的到达其他的每一个房间,所以,需以每一个房间都为一次起始点来走向其他的房间,以此来判断这所房子里的任意两个房间之间是否互相相通。 实现本程序需要解决以下问题: 1.如何表示每一个房间,即存储房间的信息,并且还要确定这所房子里的各个房间的位置。 2.各个房间之间的门,以及门是从哪个房间开向哪个房间的该如何表示和存储的。 3.从某一个房间开始,如何走到其他各个房间,即如何对房间进行遍历。 4.为了在遍历过程中,不重复的遍历每一个房间,该如何标记已被遍历过的房间,从而只 访问未走过的房间。 5.最后通过什么的遍历方式才能判断各个房间之间是否互相相通。

数据结构的选择和概要设计 通过对题目要求的理解,我们可以用图来表示这所房子,而房子中的各个房间就相当于图中的各个结点,由于房间的门是有方向的,一扇从a开向b的门是不能让一个人从b房间走到a 房间的,从而可知该图为有向图,那么门就相当于有向图中的弧,从一个门开向另一个门即代表有向图中弧的起始点和终止点。 对于图的存储,我采用邻接表的形式来存储,并将每一个房间进行编号,对于邻接表,则需要定义一个邻接表结点类型、邻接表表头结点类型,通过表头与结点的连接而将有向图中弧的信息存储起来。那么人从任意一个房间走向另一个房间,即相当于有向图中从一个结点按照弧的信息访问其他的结点,可以采用深度优先搜索遍历。如果从每一个结点以起始点开始一次遍历就都能访问到其他结点的话则说明有向图是连通图,即该房子里的各个房间能够互相相通。定义一个全局的整形变量flag,如果是连通图的话则flag=1,否则flag=0。 程序实现的流程图如下:

大数据结构课设资料报告材料--学生成绩管理系统

课程设计(论文)说明书 题目:学生成绩管理系统 学院:计算机科学与工程学院 专业: 姓名: 学号: 指导教师: 2012年月日 摘要

随着科学的发展和社会的进步,许多过去由人工处理的繁杂事务开始交付计算机来完成。明显地加快了经济信息化和社会信息化的进程。因此,计算机教育在各国备受重视,计算机知识与能力已成为21世纪人才素质的基本要素之一。 本报告简单叙述了学生管理系统的现状,重点介绍了学生成绩管理系统的实现过程:包括系统分析、数据流程分析、功能设计、系统实现、系统测试和调试。 C语言是一种通用的程序设计语言,c语言在很多方面继承和发展了以往许多高级程序设计语言的成果经验与特色,具有适应性强、应用围广、书写格式自由、数据类型丰富、数据结构系统化、运行程序质量高、可移植性好和运行效率高等优点。而《数据结构与算法》则是对数据进行一定的结构化,通过运用各种算法使系统的实现更简便易行。 关键词:管理;需求;模块 目录

引言 (3) 1 系统概述 (3) 2 需求分析 (3) 2.1安全需求分析 (3) 2.2 数据需求分析 (4) 2.3 功能需求分析 (4) 2.4 界面需求分析 (4) 2.5 开发环境 (4) 3 详细设计 (4) 3.1 系统结构 (4) 3.2 各模块功能 (5) 3.3 功能模块的设计 (6) 3.4 数据结构设计 (8) 4 所遇到的问题和分析解决 (9) 5 测试结果 (9) 6 系统特色和关键技术 (12) 7 结论 (12) 参考文献 (13) 引言 背景:21世纪,科学技术突飞猛进,特别是信息技术和网络技术的迅速发展,各个学校的规模也随之不断增大,有关学生成绩管理工作所涉及的数据量越来越大,

《数据库原理》课程实验报告.

2013-2014学年第一学期《数据库原理》 课程实验报告 学号: 20112723 学生姓名:林苾湲 班级:软件工程2011-2 教师:陶宏才 辅导老师:张建华刘宝菊 2013年12月

实验一:表及约束的创建1.1 实验目的与内容 目的:创建数据表、添加和删除列、实现所创建表的完整性约束。 内容:11-2、11-26~33。 报告:以11-31作为实验一的报告。 1.2 实验代码及结果 1.2.1 实验代码 (1)CREATE TABLE orderdetail20112723 ( Order_no char(6) PRIMARY KEY CONSTRAINT Order_no_constraint20112723 CHECK(Order_no LIKE'[A-Z][A-Z][0-9][0-9]'), Cust_no char(6) NOT NULL, P_no char(6) NOT NULL, Order_total int NOT NULL, Order_date datetime NOT NULL, CONSTRAINT person_contr20112723 FOREIGN KEY (P_no) REFERENCES person20112723(P_no) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT customer_contr20112723 FOREIGN KEY (Cust_no) REFERENCES customer20112723(Cust_no) ON DELETE CASCADE ON UPDATE CASCADE, ) (2)ALTER TABLE salary20112723 ADD CONSTRAINT Pno_FK20112723 FOREIGN KEY(P_no) REFERENCES person20112723(P_no) 1.2.2 实验结果 (1)

大型数据库实验报告

中南大学大型数据库实验报告 课程名称大型数据库技术指导教师 姓名 学号 专业班级

《大型数据库技术》实验三 1.写一个PROC程序,查询并显示表Agents的所有记录。要求定义一个数组类型的宿主变量,一次性把所有记录从服务器端传送到客户端,然后逐行显示。 Java代码如下: public void selectAgents() throws Exception { Connection conn = this.getConnection(); Statement stmnt = conn.createStatement(); ResultSet set = stmnt.executeQuery("select * from Agents"); System.out.println("查询结果如下:\n"); while (set.next()) { String id = set.getString("AID"); String name = set.getString("ANAME"); String city = set.getString("CITY"); int percent = set.getInt("PERCENT"); System.out.println("aid:"+ id + " aname:"+ name + " city:" + city + " percent:" + percent); } set.close(); stmnt.close(); conn.close(); } 测试代码: public static void main(String[] args) throws Exception { String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; String user = "jelly"; String pwd = "csusoft"; DBOpers db = new DBOpers(url, user, pwd); db.selectAgents(); } 测试结果: 2.写一个PROC程序,根据用户输入的城市,查询并逐行显示该城市所有顾客的编号、名称和折扣。如果该城市中不存在任何顾客,则调用一个错误处理函数,函数中显示错误信息:“该城市中不存在顾客”。 Java代码如下:

数据库管理系统实验报告含答案

xxxx大学《数据库管理系统》课程实验报告 班级: _______姓名:实验时间:年月日指导教师:_______ 一、实验目的 1、通过实验,使学生全面了解最新数据库管理系统的基本内容、基本原理。 2、牢固掌握SQL SERVER的功能操作和Transact-SQL语言。 3、紧密联系实际,学会分析,解决实际问题。学生通过小组项目设计,能够运用最新数据库管理系统于管理信息系统、企业资源计划、供应链管理系统、客户关系管理系统、电子商务系统、决策支持系统、智能信息系统中等。 二、实验内容 1.导入实验用示例数据库: f:\教学库.mdf f:\教学库_log.ldf f:\仓库库存.mdf f:\仓库库存_log.ldf 1.1 将数据库导入 在SqlServer 2005 导入已有的数据库(*.mdf)文件,在SQL Server Management Studio 里连接上数据库后,选择新建查询,然后执行语句 EXEC sp_attach_db @dbname = '教学库', @ = 'f:\教学库.mdf', @ = 'f:\教学库_log.ldf' go use [教学库] EXEC sp_changedbowner 'sa' go EXEC sp_attach_db @dbname = '仓库库存', @ = 'f:\仓库库存.mdf',

@ = 'f:\仓库库存_log.ldf' go use [仓库库存] EXEC sp_changedbowner 'sa' go 1.2 可能出现问题 附加数据库出现“无法打开物理文件"X.mdf"。操作系统错误5:"5(拒绝访问。)"。(Microsoft SQL Server,错误: 5120)”。 解决:找到要附加的.mdf文件-->右键-->属性-->安全-->选择当前用户-->编辑-->完全控制。对.log文件进行相同的处理。 2.删除创建的数据库,使用T-SQL语句再次创建该数据库,主文件和日志文件的文件名同上,要求:仓库库存_data最大尺寸为无限大,增长速度为20%,日志文件初始大小为2MB,最大尺寸为5MB,增长速度为1MB。 CREATE DATABASE仓库库存 (NAME = '仓库库存_data', = 'F:\仓库库存_data.MDF' , SIZE = 10MB, = 20%) LOG ON (NAME ='仓库库存_log', = 'F:\仓库库存_log. LDF', SIZE = 2MB, MAXSIZE = 5MB, = 1MB) 2.1 在数据库“仓库库存”中完成下列操作。 (1)创建“商品”表,表结构如表1: (2)创建“仓库”表,表结构如表2: 表2 仓库表

大数据库课程设计——图书管理系统

数据库系统原理课程设计 课题名称:图书信息管理系统 姓名: 班级: 学号: 指导老师: 2014年 01月 02日

目录 1.绪论------------------------------------------------------------ 3 1.1背景介绍------------------------------------------------------ 3 1.2开发背景的选用及介绍------------------------------------------ 3 2.需求分析-------------------------------------------------------- 4 2.1系统分析------------------------------------------------------ 4 2.2系统目标------------------------------------------------------ 4 2.3总体需求------------------------------------------------------ 4 3.概念设计阶段---------------------------------------------------- 5 3.1实体E-R图---------------------------------------------------- 5 3.2数据流程图---------------------------------------------------- 8 4.逻辑结构设计阶段------------------------------------------------ 8 4.1E-R图转换为关系模型 ------------------------------------------ 8 4.2数据字典------------------------------------------------------ 9 5.物理结构设计阶段---------------------------------------------- 10 5.1物理设计阶段的目标和任务------------------------------------- 10 5.2数据存储方面------------------------------------------------- 10 6.数据库实施与维护----------------------------------------------- 10 6.1创建数据库,数据表------------------------------------------- 10 6.2创建视图----------------------------------------------------- 12 6.3创建索引----------------------------------------------------- 13 6.4创建触发器--------------------------------------------------- 13 6.5数据表的初始化----------------------------------------------- 14 6.6初始表的显示------------------------------------------------- 16 7.数据库界面实现------------------------------------------------ 19 7.1系统总的功能模块图------------------------------------------- 19 7.2系统的实现--------------------------------------------------- 19 8.心得体会------------------------------------------------------- 25

大数据分析教程——制作数据报告的流程

大数据分析教程——制作数据报告的流程 上图中可以很清楚的看到,一个数据报告(副本)依据需求不同,有普通难度(蓝->橙->绿->红),也有英雄难度(蓝->橙->绿+黄->红),这次我们先讲普通难度的攻略,英雄难度放到下次讲。普通难度的数据报告要经历7个步骤:Step 1:目标确定 这一步在工作中通常是由你的客户/上级/其他部门同事/合作方提出来的,但第一次的数据报告中,需要你自己来提出并确定目标。 选择目标时,请注意以下几点: 1、选择一个你比较熟悉,或者比较感兴趣的领域/行业; 2、选择一个范围比较小的细分领域/细分行业作为切入点; 3、确定这个领域/行业有公开发表的数据/可以获取的UGC内容(论坛帖子,用户点评等)。 逐一分析上面三个注意点:

1、选择熟悉/感兴趣的领域/行业,是为了保证你在后续的分析过程中能够真正触及事情的本质——这一过程通常称为洞察——而不是就数字论数字; 2、选择细分领域/行业作为切入点,是为了保证你的报告能够有一条清晰的主线,而非单纯堆砌数据; 3、确定公开数据/UGC内容,是为了保证你有数据可以分析,可以做成报告,你说你是个军迷,要分析一下美国在伊拉克的军事行动与基地组织恐怖活动之间的关系……找到了数据麻烦告诉我一声,我叫你一声大神…… 不管用什么方法,你现在有了一个目标,那么就向下个阶段迈进吧。 Step 2:数据获取 目标定下来了,接下来要去找相应的数据。如果你制定目标时完全遵循了第一步的三个注意点,那么你现在会很明确要找哪些数据。如果现在你还不确定自己需要哪些数据,那么……回到第一步重来吧。 下面我总结一下,在不依赖公司资源,不花钱买数据的情况下,获取目标数据的三类方法: 1、从一些有公开数据的网站上复制/下载,比如统计局网站,各类行业网站等,通过搜索引擎可以很容易找到这些网站。举例:要找汽车销量数据,在百度输入“汽车销量数据查询”关键字,结果如下:

数据库课程实验报告

课程实验报告课程名称:数据库系统原理 专业班级:CS1110 学号:U201114468 姓名:梅超 指导教师:杨茂林 报告日期:2014年6月23日 计算机科学与技术学院

目录 1实验目的与内容 (1) 1.1实验目的 (1) 1.2实验内容 (1) 2系统分析与设计 (2) 2.1系统分析 (2) 2.2系统设计 (3) 2.2.1数据库设计 (3) 2.2.2功能模块设计 (4) 3系统实现 (5) 3.1数据库的实现 (5) 3.2模块功能实现 (6) 3.2.1开发环境 (6) 3.2.2模块实现 (6) 3.2.2.1系统登录模块设计 (6) 3.2.2.2系统注册模块设计 (9) 3.2.2.3数据库主界面设计 (11) 3.2.2.4学生信息查询模块设计 (16) 3.2.2.5学生信息插入模块设计 (19) 3.2.2.6学生信息删除模块设计 (22) 3.2.2.7学生信息修改模块设计 (26) 3.2.2.8课程信息查询模块设计 (29) 3.2.2.9课程信息插入模块设计 (30) 3.2.2.10课程信息删除模块设计 (31) 3.2.2.11课程信息修改模块设计 (32) 3.2.2.12选课信息查询模块设计 (33) 3.2.2.13选课信息插入模块设计 (34) 3.2.2.14选课信息删除模块设计 (35) 3.2.2.15选课信息修改模块设计 (36) 3.2.2.16SQL复杂操作模块设计 (37) 4总结 (40) 参考文献 (41)

1实验目的与内容 1.1实验目的 本综合实验的目的主要是通过理论联系实际,巩固课堂所学理论知识,如关系数据库规范化理论与数据库设计的方法,同时提高实践能力和创新能力,培养数据库应用系统开发的能力,以及技术总结和撰写实验报告的基本技能。 1.2实验内容 设计一个学生-课程信息管理系统,实现以下功能: 1.实现对学生信息的查询、插入、删除、修改 2.实现对课程信息的查询、插入、删除、修改 3.实现对学生选课信息的查询、插入、删除、修改 4.通过SQL语句实现多表连接复杂查询 5.实现新建用户功能

相关文档
相关文档 最新文档