最近后台收到不少读者留言,问“数据挖掘概念与技术(第三版)第一章的课后题怎么答”、“概念太多抓不住重点”,还有人直接说“看完第一章连数据挖掘和数据仓库都分不清”。这本书作为数据挖掘领域的老牌教材,第一章其实是一把钥匙,但它偏偏写得比较“教材腔”,初学者容易越读越闷,越闷越抓不住主线。
这篇东西不是官方标准答案的复读机,而是把我自己复习和带项目时反复梳理过的一整套答题思路、易错点和拆解角度整理出来。第一章的题目大多是概念辨析、流程说明、任务分类、场景设计这几类,只要把几条主线理清楚,后面的关联规则、分类、聚类章节其实都是在第一章的框架下填空。下面我就按习题里最常见的几类题目,一章一章掰开来说。
1. 第一章到底在讲什么:从“为什么需要数据挖掘”说起
1.1 教材定位:这章不是“简介”,而是整套书的坐标系
很多人把第一章当成可跳过的前言,这就吃大亏了。数据挖掘概念与技术第三版的第一章承担的角色是“给整个领域画地图”:数据挖掘解决什么问题、数据从哪里来、能挖出哪些类型的模式、这些模式又分哪些大类、和数据库/统计学/机器学习是什么关系、应用场景有哪些、面临的挑战是什么。
这一章的课后题也基本顺着这条线走。你会发现,如果只记定义,题目换一种问法就懵了。比如同一道题,可以问“数据挖掘是什么”,也可以问“数据挖掘与KDD的关系”,还可以问“描述性任务和预测性任务的区别”,本质上考的是同一个知识点:数据挖掘是从大量数据中发现有效、新颖、潜在有用、最终可理解的模式的非平凡过程。所谓KDD(Knowledge Discovery in Databases)是“数据库中的知识发现”这个完整流程,数据挖掘只是其中的一个关键步骤。
所以复习第一章,建议先画一张粗线条的逻辑链:数据源→数据预处理→数据挖掘→模式评估→知识表示。画完这条链,整章内容就都挂得上钩了。
1.2 学习第一章要建立的四个核心心智模型
我读这本书的经验是,第一章不要死记定义,而是要建立四个“默认思维框架”,答题时直接往里面套,思路不会跑偏。
第一个框架是“输入-处理-输出”。输入是数据(事务数据、关系表、数据仓库、文本、Web、多媒体等),处理是各类挖掘算法,输出是模式(概念描述、关联规则、分类模型、聚类结果、离群点、演化规律)。大多数问“这个应用场景适合用什么方法”的题目,本质就是让你把输入、任务、输出三者对号入座。
第二个框架是“预测 vs 描述”。预测性任务用历史数据预测未知值,典型代表是分类和回归;描述性任务概括数据中的规律,典型代表是聚类、关联规则、离群点检测。两者不是互斥的,但从教材题目角度来讲,题目只要问“这是预测还是描述”,你就要先判断这句话的焦点在“预测未来/未知标签”还是“总结已有规律”。
第三个框架是“数据挖掘不等于数据库查询”。很多初学者把SQL查一下平均值、count一下数量也当成数据挖掘,这是典型的概念混淆。第一章反复强调数据挖掘发现的模式是事先未知的、隐含的、非平凡的,而OLAP这类工具做的是按维度汇总查询,两者层级不同。理解这一点,后面对比OLAP和DM的题就稳了。
第四个框架是“跨学科交叉”。第一章列了一串相关领域:数据库、统计学、机器学习、模式识别、可视化、信息检索、高性能计算等。这里要注意,教材对每个领域都给了“贡献了什么”,比如统计学提供假设检验和置信度,机器学习提供分类和聚类算法,数据库提供存取与检索,可视化提供直观展示。答题时如果问“为什么数据挖掘要借鉴多个学科”,就把每个学科的具体价值写出来,分点作答,考官一看就知道你读到位了。
2. 定义类和辨析类题目的答题骨架
2.1 数据挖掘定义题:别丢“非平凡过程”这五个字
第一章几乎必考的一道题是“什么是数据挖掘,它与知识发现过程有什么关系”。很多同学背了一堆话,但丢分点往往很一致:漏掉“非平凡”这个限定词,或者把数据挖掘等同于KDD全流程。
我答题时习惯这样组织:先给定义,再拆关键词,再画边界。定义可以直接采用书上的标准表述——数据挖掘是从大量数据中发现有趣模式的过程,这里的“有趣”可以具化为有效性、新颖性、潜在有用性、最终可理解性。这四条属性就是教材里模式评价的四条准则,一道简答题让你“解释有趣模式的含义”,实际上就是让你逐个解释这四个词。
“非平凡”这个词是辨析题的关键分水岭。对于“非平凡”,我会用自己的话解释:如果一个结论用几条SQL或者一个简单统计就能得到,那它是平常的,谈不上挖掘;数据挖掘强调在不知道问题精确形式的情况下自动发现数据中的规律,这个过程不是一眼能看穿的。日常用生活类比,就像在超市购物小票里偶然发现“买啤酒的人大概率买尿布”一样,这种隐含关联才是挖掘。
把定义答完之后,紧接着解释KDD。完整的KDD流程一般分五步:数据清理、数据集成、数据选择、数据变换、数据挖掘。注意,模式评估和知识表示通常在教材里被单独列出,但很多题目会让你按经典的五步流程来讲,所以在答题时要根据题目括号里的提示词决定写五步还是七步。如果题目没限定,我更推荐写“数据清理→数据集成→数据选择→数据变换→数据挖掘→模式评估→知识表示”七步,写全总比写少稳。
2.2 预测性任务与描述性任务:分类、回归、聚类、关联一个都不能少
有一种题特别爱考:已知某业务场景,让你指出其中包含哪些数据挖掘任务。这种题要想答完整,必须先分大类再逐个点名。预测性任务包含分类和回归,描述性任务包含聚类、关联规则分析、离群点分析、演化分析、概念描述。把大类分完,再用例子补全,基本就是满分格式。
每个任务用一个例子锚定:分类是“根据信用卡历史交易记录判断持卡人会不会逾期”;回归是“根据房屋面积、位置、房龄预测房价”;聚类是“把电商海量用户分成若干个兴趣小组,事前不知道有几类”;关联规则是“发现同时被购买的商品组合,比如啤酒和尿不湿的经典段子”;离群点检测是“在银行转账流水中识别异常交易,可能是欺诈”;演化分析是“分析股票价格序列,发现长期波动规律或趋势”。这样每一个任务都有画面感,答题时例子信手拈来。
一个容易丢分的点:很多同学只写“分类和聚类”,忘了回归和离群点检测。教材第一章的图里任务分得清清楚楚,简答题里如果问“数据挖掘的主要任务有哪些”,最好把预测/描述这个两级结构作为骨架,把所有任务都覆盖到,宁可多写也不漏写。
2.3 可挖掘模式类型:六大模式与描述性/预测性的对应
教材第一章另一个重要表格是“可挖掘的模式类型”。这里需要理清的不是“你有没有背下来”,而是“你能不能把它们放在同一逻辑里”。我自己的梳理维度是这些模式属于描述性还是预测性,在什么数据类型上表现最明显。
可以整理成一张表:
| 模式类型 | 任务归类 | 一句话解释 |
|---|---|---|
| 概念描述 | 描述性 | 对数据集的某一部分总结出特征,包括特征化和区分化 |
| 关联规则 | 描述性 | 发现项集间的共存规律,比如A→B的支持度和置信度 |
| 分类与回归 | 预测性 | 用标注样本学模型,再用模型预测新样本标签或数值 |
| 聚类 | 描述性 | 无监督地把相似对象分到同一簇,簇标签事先不可知 |
| 离群点检测 | 描述性/偏向诊断 | 找出与一般行为差异极大的对象,常用于欺诈和异常检测 |
| 演化分析 | 描述性 | 分析对象在时间轴上的行为规律,用序列模式、周期模式刻画 |
回答问题时候如果题目是“列举答案”,我的排版习惯是每个模式用一两行解释,写模式时一定要跟上具体例子。比如离群点检测别只写“找异常点”,要补一句“比如信用卡欺诈检测中正常消费和异常消费的区别”。有了例子,阅卷人一眼就知道你是真懂还是硬背。
3. 数据挖掘与其他学科/系统的关系:教材爱问的对比题
3.1 与统计学的关系:重叠很多,但出发点和目标不一样
关于统计学背景的题,很大程度上是考“多维分析、假设检验与挖掘的区别”。教材里讲统计学是数据挖掘的基础之一,提供相关系数、置信区间、显著性检验等方法,但两者不同在于:统计学的常规路径是先有假设,再用数据验证;数据挖掘则希望在没有明确假设的情况下自动发现假设。打个不太严谨但很形象的比方:统计学更像“针对性审问”,数据挖掘更像“无预设扫描”。
答题时我建议用“重叠不相等”这个关键词。共同点是都用数据说话、都涉及随机性与不确定性;不同点从四个维度对比:问题来源(预先设定vs自动发现)、方法重点(推断vs搜索)、数据类型(相对规整的小样本vs海量高维)、结果形式(统计显著性结论vs可执行的模式规则)。用这个框架,无论题目怎么变都能答出结构性。
3.2 与OLAP/数据仓库的关系:查询和挖掘是两个层级
有一道经典题:“OLAP和数据挖掘有何区别”。这道题容易答糊的地方在于,很多同学只知道OLAP是多维分析,但说不清“为什么OLAP不是数据挖掘”。我的答题套路是三步:
第一,先交代OLAP是什么——一种在多维数据模型上的联机分析处理,操作包括上卷、下钻、切片、旋转等,本质是聚合查询。
第二,交代DM本质——自动发现隐含的、事先未知的模式。
第三,给出对照表格:
| 对比维度 | OLAP | 数据挖掘 |
|---|---|---|
| 交互方式 | 用户驱动,不断查询求证 | 系统驱动,自动搜索模式 |
| 知识类型 | 汇总统计,已知维度组合 | 隐含关联、分类规则、聚类结构等 |
| 事先假设 | 分析者心里通常有目标 | 可以没有具体目标,让算法发现 |
| 数据依托 | 数据仓库事实表和维表 | 多源数据,经过预处理即可 |
这样答完,再补一句“OLAP是验证型的,数据挖掘是发现型的”,逻辑就很清爽。如果题目还问“数据仓库和数据挖掘的关系”,要多说一句数据仓库能为挖掘提供高质量、集成且一致的数据源,是挖掘的重要输入平台,但数据挖掘也能直接面向数据库和文件展开。
3.3 为什么需要数据挖掘:信息爆炸与数据丰富、知识贫乏
“为什么数据挖掘很重要”几乎是必答题,而且出题方式很多:可能给一段物联网、社交媒体或企业数据库的数据量背景,问你面临哪些挑战、为什么需要数据挖掘。回答这个问题的核心素材,书里已经埋好了:数据丰富,知识贫乏。
展开方式我建议按“三层”来写。第一层是数据量层面:数据量爆炸式增长,传统人工分析和简单统计已经处理不过来;第二层是知识层面:海量数据背后隐藏着有价值的模式,但人们缺乏自动工具把这些原始数据转成决策知识;第三层是商业层面:数据本身没有价值,模式才有价值,数据挖掘把“沉睡的数据”变现为“可行动的洞察”。
在答案里加一句很提分的表述:“数据挖掘是连接数据和决策的桥梁。”然后举实际场景,比如零售业从销售流水发现关联商品、金融业从交易记录识别欺诈、制造业从传感器数据做故障预测,不用贪多,两三个例子就够了。
4. 应用与综合设计题:场景题怎么答才不丢步骤
4.1 场景题的通用破题框架:目标→数据→任务→模式→验证
第一章最后的应用型题目,最典型的是给你一个商业场景,让你“识别可能挖掘的模式类型,并说明使用哪种技术”。我从复习到带项目,一直用一套“五段式”答题框架,用来应对所有这类题。
第一段写“业务目标”,比如提高销售额、降低流失率、检测欺诈;第二段写“可用数据”,比如用户基本信息、购买记录、点击日志、传感器序列,这一步让阅卷人知道你做的是数据层面的分析;第三段写“适用的挖掘任务”,用任务列表逐一点出,每个任务配一句简单理由;第四段写“预期输出模式”,比如关联规则、聚类簇、分类模型;第五段写“如何验证/应用”,比如通过支持度置信度评估规则,或者通过准确率评估分类模型。
这个框架既是答题结构,也是实际做数据挖掘项目的初始思路。第一章不要求你去算算法,但要求你有全局观,五段式正好把全局观体现出来。
4.2 超市购物篮题的标准参考答案模板
购物篮分析是第一章课后题的高频案例,几乎每版教材都会涉及。它的标准答案是“关联规则挖掘”,这个大家都知道,但满分答法需要写全三个层次:任务名(关联分析)、经典度量(支持度、置信度、提升度)、业务价值(商品摆放、促销捆绑、交叉销售)。
我通常这样组织:购物篮分析的目的,是从海量销售事务表中发现哪些商品经常被同时购买,比如“面包+牛奶”的组合比较稳定;然后解释支持度表示包含该组合的事务比例,置信度表示买了A的情况下买B的条件概率,提升度大于1表示A对B有正向促进,最后落到应用上,比如把高度关联的商品摆在一起,或做“加购推荐”的促销活动。
如果题目进一步问“给定三张表或若干事务记录,求支持度和置信度”,那就是要动手计算了。第一章不会考得太深,但基本公式要记得:A→B的支持度是“同时包含A和B的事务数/总事务数”,置信度是“同时包含A和B的事务数/包含A的事务数”。我自己的经验是,凡是涉及计算的题,先列事务总条数,再数分子分母,最后统一保留两位小数,这样能有效避免在加减法上丢分。
4.3 容易漏答的离群点与演化分析场景
考试和作业里,最容易被漏掉的两个任务是离群点检测和演化分析。比如一道题给了“信用卡欺诈识别”的场景,多数人只会答“分类”,因为训练数据里有正常和欺诈标签,分类确实没错。但要拿满分,还得补上离群点视角:欺诈交易本质上是与正常消费行为差异极大的异常点,即便没有足够的标注数据,也能用离群点检测直接找出可疑交易。这也体现了无监督方法在标签稀缺场景下的价值。
演化分析也是常被遗忘的考点。只要题目里出现时间序列、历史数据、季节变化,就值得考虑演化分析或序列模式挖掘。比如“分析某商品近三年的销售趋势”“监测气象站月度数据变化”,这些不仅要做回归预测,也要做趋势、周期、转折点的分析。答题时点一句“通过演化分析可以发现数据随时间迁移的规律,例如夏季饮料销售额上升,节假日电商订单激增”,分数就有了。
5. 复习时最容易踩的坑与自查清单
5.1 概念辨析中的五个高频错误
我把复习时见过最多的概念混淆整理成了五条,容易踩坑的可以逐条对照:
第一条,数据挖掘等于KDD。严格来说,数据挖掘是KDD流程里的核心环节,KDD还包括数据清理、集成、选择、变换以及后续评估和知识表示。答题时先说明包含关系,再展开流程,不要直接画等号。
第二条,分类和聚类分不清。分类是有监督的,需要用已知类别标签的数据训练模型;聚类是无监督的,类别标签事先不存在,算法自己把样本分组。一句话记忆法:“分类是贴标签,聚类是造标签。”
第三条,AR/关联规则的“置信度”和概率论中的条件概率混为一谈。条件概率算的是事件发生概率,置信度算的是规则的支持程度,两者在语义上有关联,但置信度是在项集层面计算的,必须限定在事务数据集里。
第四条,OLAP的汇总查询算数据挖掘。这是一个反复出现的错误。OLAP是按已知维度验证问题,数据挖掘是自动发现未知模式,边界在前面的对比表里已经理清。
第五条,认为离群点检测就是噪声处理。这是最容易翻车的概念。噪声是数据中无意义的随机误差,通常要被清理掉;离群点虽然与大部分数据不一致,但可能承载着重要信息,比如欺诈、故障、入侵、罕见病病例。一句话:噪声是脏数据,离群点是潜在信号,处理策略完全不同。
5.2 考前自测:五道小题检查自己是否真正看懂第一章
学完一章,最好的检测方法是“合上书,能回答几个问题”。我列几个自己常用的自测题,供大家检查用:
- 第一题,什么是数据挖掘?用一句话加一个例子说明,并指出KDD和数据挖掘的包含关系。
- 第二题,描述性任务和预测性任务各包含哪些主要功能?给出真实场景中的对应例子。
- 第三题,为什么说数据挖掘是“非平凡”的?举一个看似能发现但没有挖掘价值、以及一个真正体现挖掘价值的相对案例。
- 第四题,简述数据挖掘与统计、OLAP的主要区别,至少各写两个维度。
- 第五题,给定一个电商平台的海量日志数据,请设计一个数据挖掘方案,写出目标、数据、任务、输出和应用五部分。
如果第五题能在十分钟内写出一份结构清晰的回答,第一章的基础基本就夯实了。如果写不出来,那就回头把第二节和第四节再过一遍,然后拿出一张白纸把教材第一章的各类模式画成脑图,直到能不看书写出完整框架为止。
说一点个人体会:《数据挖掘概念与技术》第一章的道理都很朴素,但它把后面十几章的算法问题统统挂在了几个大框架上。花一个下午把这一章的课后题认真过一遍,把“预测/描述”、“有趣模式四要素”、“DM vs OLAP”三张表吃透,比直接到第二章去啃信息熵更划算。第一章的答案不在书后,而在你自己建立的坐标系里;坐标系立起来了,后面章节的题目,再难也只是往这个框架里填肉。