版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据挖掘学习报告一、引言数据挖掘是通过分析每个数据,从大量数据中寻找其规律的技术,主要有数据准备、规律寻找和规律表示3 个步骤。数据挖掘的任务有关联分析、聚类分析、分类分析、异常分析、特异群组分析和演变分析等。二、基本概念数据挖掘,在人工智能领域,习惯上又称为数据库中的知识发现也有人把数据挖掘视为数据库中知识发现过程的一个基本步骤。知识发现过程由以下三个阶段组成: ( 1)数据准备,(2)数据挖掘,(3)结果表达和解释。数据挖掘可以与用户或知识库交互。数据挖掘是通过分析每个数据,从大量数据中寻找其规律的技术,主要有数据准备、规律寻找和规律表示 3 个步骤。数据准备是从相关的数据源中选取所需的数
2、据并整合成用于数据挖掘的数据集;规律寻找是用某种方法将数据集所含的规律找出来;规律表示是尽可能以用户可理解的方式(如可视化)将找出的规律表示出来。数据挖掘的任务有关联分析、聚类分析、分类分析、异常分析、特异群组分析和演变分析,等等。并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的 Web 页面,则是信息检索领域的任务。虽然这些任务是重要的,可能涉及使用复杂的算法和数据结构,但是它们主要依赖传统的计算机科学技术和数据的明显特征来创建索引结构, 从而有效地组织和检索信息。尽管如此,数据挖掘技术也已用来增强信息检索系统的能力。1、数据挖
3、掘的基本步骤数据挖掘的步骤会随不同领域的应用而有所变化,每一种数据挖掘技术也会有各自的特性和使用步骤,针对不同问题和需求所制定的数据挖掘过程也会存在差异。此外,数据的完整程度、专业人员支持的程度等都会对建立数据挖掘过程有所影响。这些因素造成了数据挖掘在各不同领域中的运用、规划,以及流程的差异性,即使同一产业,也会因为分析技术和专业知识的涉入程度不同而不同,因此对于数据挖掘过程的系统化、标准化就显得格外重要。如此一来,不仅可以较容易地跨领域应用,也可以结合不同的专业知识,发挥数据挖掘的真正精神。数据挖掘完整的步骤如下: 理解数据和数据的来源(understanding)。 获取相关知识与技术(
4、acquisition)。 整合与检查数据( integration and checking)。 去除错误或不一致的数据(data cleaning)。 建立模型和假设( model and hypothesis development)。 实际数据挖掘工作( data mining)。 测试和验证挖掘结果( testing and verification)。 解释和应用( interpretation and use)。由上述步骤可看出,数据挖掘牵涉了大量的准备工作与规划工作,事实上许多专家都认为整套数据挖掘的过程中,有 80%的时间和精力是花费在数据预处理阶段,其中包括数据的净化、数据
5、格式转换、变量整合,以及数据表的链接。可见,在进行数据挖掘技术的分析之前,还有许多准备工作要完成。2、数据挖掘十大经典算法1C4.5:是机器学习算法中的一种分类决策树算法,其核心算法是ID3 算法。2. K-means算法:是一种聚类算法。3.SVM :一种监督式学习的方法,广泛运用于统计分类以及回归分析中4.Apriori:是一种最有影响的挖掘布尔关联规则频繁项集的算法。5.EM :最大期望值法。6.pagerank:是 google 算法的重要内容。7. Adaboost:是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器然后把弱分类器集合起来,构成一个更强的最终分类器。8.KN
6、N: 是一个理论上比较成熟的的方法,也是最简单的机器学习方法之一。9.Naive Bayes:在众多分类方法中,应用最广泛的有决策树模型和朴素贝叶斯(NaiveBayes)10.Cart:分类与回归树,在分类树下面有两个关键的思想,第一个是关于递归地划分自变量空间的想法,第二个是用验证数据进行减枝。下面我们着重研究一下动态规划法。三、动态规划法动态规划是运筹学的一个分支,是求解决策过程最优化的数学方法。20世纪 50年代初美国数学家 R.E.Bellman 等人在研究多阶段决策过程(multistep decision process)的优化问题时,提出了著名的最优化原理(principle
7、of optimality) ,把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的新方法动态规划。(一)基本思想动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是, 适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被重复计算了很多次。如果我们能够保存已解
8、决的子问题的答案,而在需要时再找出已求得的答案,这样就可以避免大量的重复计算,节省时间。我们可以用一个表来记录所有已解的子问题的答案。不管该子问题以后是否被用到,只要它被计算过,就将其结果填入表中。这就是动态规划法的基本思路。具体的动态规划算法多种多样,但它们具有相同的填表格式。(二)基本结构多阶段决策问题中,各个阶段采取的决策,一般来说是与时间有关的,决策依赖于当前状态,又随即引起状态的转移,一个决策序列就是在变化的状态中产生出来的,故有“动态”的含义,称这种解决多阶段决策最优化问题的方法为动态规划方法。动态规划程序设计是对解最优化问题的一种途径、一种方法,而不是一种特殊算法。不象前面所述的
9、那些搜索或数值计算那样,具有一个标准的数学表达式和明确清晰的解题方法。动态规划程序设计往往是针对一种最优化问题,由于各种问题的性质不同,确定最优解的条件也互不相同,因而动态规划的设计方法对不同的问题,有各具特色的解题方法,而不存在一种万能的动态规划,可以解决各类最优化问题。因此在学习时,除了要对基本概念和方法正确理解外,必须具体问题具体分析处理,以丰富的想象力去建立模型,用创造性的技巧去求解。(三)基本模型根据上例分析和动态规划的基本概念,可以得到动态规划的基本模型如下:(1)确定问题的决策对象。(2)对决策过程划分阶段。(3)对各阶段确定状态变量。(4)根据状态变量确定费用函数和目标函数。(
10、5)建立各阶段状态变量的转移过程,确定状态转移方程。四、应用举例用动态规划实现导弹拦截。某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000 的正整数),计算这套系统最多能拦截多少导弹,并依次输出被拦截的导弹飞来时候的高度。SAMPLE INPUT:389 207 155 300 299 170 158 65SAMPLE
11、OUTPUT:6389 300 299 170 158 65因为只有一套导弹拦截系统,并且这套系统除了第一发炮弹能到达任意高度外,以后的每一发炮弹都不能高于前一发炮弹的高度;所以,被拦截的导弹应该按飞来的高度组成一个非递增序列。题目要求我们计算这套系统最多能拦截的导弹数,并依次输出被拦截导弹的高度,实际上就是要求我们在导弹依次飞来的高度序列中寻找一个最长非递增子序列。设 X=x 1 ,x 2 , ,x n 为依次飞来的导弹序列, Y=y 1 ,y 2 , ,y k 为问题的最优解(即 X 的最长非递增子序列),s 为问题的状态(表示导弹拦截系统当前发送炮弹能够到达的最大高度, 初值为 s= 第
12、一发炮弹能够到达任意的高度) 。如果 y 1 =x1 ,即飞来的第一枚导弹被成功拦截。那么,根据题意“每一发炮弹都不能高于前一发的高度 ”,问题的状态将由s= 变成 sx 1( x 1 为第一枚导弹的高度);在当前状态下,序列 Y 1 =y 2 ,y k 也应该是序列X 1 =x 2 ,x n 的最长非递增子序列 (大家用反证法很容易证明) 。也就是说,在当前状态sx1 下,问题的最优解Y 所包含的子问题(序列X 1 )的解(序列Y 1 )也是最优的。这就是拦截导弹问题的最优子结构性质。设 D(i) 为第 i 枚导弹被拦截之后,这套系统最多还能拦截的导弹数(包含被拦截的第i 枚)。我们可以设想
13、,当系统拦截了第k 枚导弹x k,而x k又是序列X=x 1 ,x2 , ,x n 中的最小值,即第k 枚导弹为所有飞来的导弹中高度最低的,则有D(k)=1;当系统拦截了最后一枚导弹x n ,那么,系统最多也只能拦截这一枚导弹了,即D(n)=1 ;其它情况下,也应该有D(i) 1。假设系统最多能拦截的导弹数为 dmax(即问题的最优值),则 dmax = max(D(i) 所以,要计算问题的最优值 dmax ,需要分别计算出 D(1) 、 D(2) 、 D(n) 的值,然后将它们进行比较,找出其中的最大值。根据上面分析出来的递归方程,我们完全可以设计一个递归函数, 采用自顶向下的方法计算D(i
14、) 的值。然后,对 i 从 1 到 n分别调用这个递归函数,就可以计算出D(1) 、 D(2) 、 D(n) 。但这样将会有大量的子问题被重复计算。 比如在调用递归函数计算D(1) 的时候,可能需要先计算D(5)的值;之后在分别调用递归函数计算D(2) 、 D(3) 、 D(4) 的时候,都有可能需要先计算 D(5) 的值。如此一来,在整个问题的求解过程中,D(5) 可能会被重复计算很多次,从而造成了冗余,降低了程序的效率。其实,通过以上分析, 我们已经知道: D(n)=1 。如果将 n 作为阶段对问题进行划分,根据问题的动态规划递归方程,我们可以采用自底向上的方法依次计算出D(n-1) 、D(n-2) 、 D(1) 的值。这样,每个D(i) 的值只计算一次,并在计算的同时把计算结果保存下来,从而避免了有些子问题被重复计算的情况发生,提高了程序的效率。算法代码如下:for(i=n-2;i=0;i-)/ 从后往前计算di 值for(j=i+1;jn;j+)if(arrayj=arrayi)&(didj+1)di=dj+1;dmax = 0;xh = 1;for(i=0;idmax)dmax = di;xh = i;coutdmaxendl;/输出结果coutarrayxh);int temp = xh;for(i=xh+1;in;i+)if(di=dtemp-1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《普通玉米新组合评价指标体系的构建与应用》
- 永久性征地使用前规范协议书(2篇)
- 2024年度虚拟现实技术与应用开发合同
- 2024年度幼儿园食堂食材配送合同:送货上门服务
- 2024年度营销推广合同:电商平台合作
- 2024年度云计算数据中心建设运营合同
- 解读机器学习算法研究-第3篇
- 2024年度教育培训合同标的及培训内容
- 多肽类药物研发
- 跨文化谈判中的决策制定
- 双眼视觉的分析方法-双眼视觉分析图表
- 第8课+自制信封(课件)-苏教版劳动三年级上册
- 2023年社会养老保险调研报告3篇
- 2021新版GJB9001C-2017体系文件内审检查表
- 徽派建筑课件完整版
- 生物技术与医疗
- 机动车检测站可行性研究报告-建设机动车检测站可行性报告
- 水字的演变与含意
- RoHS物料及产品管理规定
- 幼儿行为观察与指导:日记描述法
- 路灯工程施工劳务清包合同
评论
0/150
提交评论