什么是数据挖掘?
计算和通信的结合建立了一个以信息为基础的新领域。海量信息以数据的形式存在着,数据挖掘就是将数据中隐含的有用信息提取出来,用于分类或者预测。从某种角度来看,机器学习也有类似的功能,但是更强调学习,自动或者半自动地寻找有效的模式。
在数据挖掘中,数据以样本集的形式出现。当概念、实例和属性作为输入时,经历多次学习和修正我们能得到模型。这些模型有多种形式,比如树、线性模型等等,都以一定的算法和规则对即将输入的数据做出评价。通过一些可信度的评估,能够给预测结果打分,也能对多种数据挖掘方法进行比较。
数据挖掘领域有10个经典算法。分类决策树C4.5算法、K—means聚类算法、支持向量机算法、Apriori布尔关联规则频繁项集算法、最大期望EM算法、PageRank链接流行度算法、Adaboost迭代分类器算法、K最近邻分类KNN算法、朴素贝叶斯模型、CART分类与回归树算法。
除了对以上算法要有所了解之外,数据挖掘领域还涵盖了许多数学知识,比如关联、聚类、回归等等。
我认为本科阶段的水平至少要达到基本了解算法原理,掌握相关软件的应用方法,最重要的是能够根据实际需求选择合适的算法来解决实际问题。
机器学习和统计学在原理和方法上有很大相似,但是本质不同。统计学注重测试假说,根据已有的数据产生学术猜想;机器学习注重从数据中获得未知的模式,并强调学习能力,多应用于分类和预测。模型对于数据也不是全盘接收,需要按照一定的原则经过筛选使用。
目前数据挖掘应用在许多领域:
(1)web挖掘。记录链接到网站的网页数量,度量网站的权威值,便于搜索引擎排列显示。挖掘用户点击信息,针对客户的兴趣进行广告精准投放。
(2)信贷决策。对于不能明确接受或者拒绝的案例,需要引进一系列参数进行判断。
(3)图像筛选。卫星图片探测浮油区域,实际用于训练的数据极少,人工分类成本昂贵,样本背景不同。
(4)负载预测。预测电力需求量,合理进行维护调度和库存管理。模型从历史数据中建立起来,有频率和周期上的相似性。
(5)故障诊断。需要配合相关领域专家的意见。
(6)市场销售。关联技术开展购物篮分析,有针对性地对有可能产生最大利润的用户群加强服务。
数据挖掘以概念、实例和属性作为输入。机器学习中,信息以实例集的形式呈现给学习者。被学习的东西称为概念。每一个实例都是一个被用来学习的单一的、独立的概念样本,由一组预先定义的属性值来表示。属性可以用数值来表示,也可以用名目来表示。
在数据挖掘应用领域存在4种完全不同的学习方式。分类学习是用一个已分类的样本集来表示学习方案,并希望从这个样本集中学习对未来样本进行分类的方法。关联学习寻找任何特性之间的关联,而不仅仅是为了预测一个特定的类值。聚类寻找能够组合在一起的样本,并据此分组。数值预测给出一个数值量作为结论。
数据输入也有标准的格式,比如属性相关文件格式(ARFF),是weka系统实用的一个输入格式。
数据输出的格式根据具体需求分为很多种:
(1)表。与输入的格式相同,是表示机器学习输出结构的最简单、最基本的方法。常见的有决策表和回归表。
(2)线性模型。表示成各有权重的属性值的和的形式,输出结果使这个和满足一定条件来筛选和优化。
(3)树。树的结点包含了对某个特定属性的测试,叶子结点对所有到达叶子的实例给出分类,或者包括了所有可能分类的概率分布。常见的有决策树、回归树、模型树。如果加入新的实例,树的结构要相应作出调整。
(4)规则。给出适合于所覆盖实例的一个或多个分类,或者给出实例在所有类上的分布。每个叶子都可以产生一个规则。加入新的规则时,不改变已有的规则集。
(5)基于实例的表达。不能对所学到的知识给出一个清晰的数据结构,但是实例结合距离度量在实例空间划出的边界能够区别不同的类别。
(6)聚类。一般以图形形式表现分类,有时一个实例可能落入多个类别。