【有书共读】数据挖掘导论 第1章 绪论
写在最前:
- 之前一直在帮老板没日没夜地整综述,导致【有书共读】的笔记拖后了,在这里跟大家,尤其是期待这本书的读书笔记的同学们道个歉。当然道歉是没用的,为了表现出我的诚意,我会以比较快的速度更新。So far忙完了上一段,近期会有比较充足的时间来阅读此书,系统地学习和总结。
- 我个人的习惯是喜欢集中精力攻克某件事,因此我一口气刷了50页,感觉此书讲得很详细,知识很基础,可以搬出来学习和讨论的点很多。因此,每一次更新会以知识量为基础,而不是章节。
- 作为非科班出身的菜鸟,在基础方面我可能不如诸多数据挖掘、机器学习以及深度学习出身的很多同学,不过本人博士出身,理解能力还不错,对知识喜欢刨根问底,理解到本质,再深入浅出、举一反三。我在写笔记的时候,会尽量用朴素的语言解释清楚概念,并尽可能辅以实例帮助理解。
- 正如我实习时的督导所言,其实不管是数据挖掘、机器学习以及深度学习(目前的AI,包括强化学习),都属于数据科学的一部分。那么想要在这几方面做好工作,不管研究也好,实际工程项目也好,最好还是具备数据科学的基本素养。
- 希望我的读书笔记可以帮助到对数据挖掘感兴趣,或者是来年即将参加相关岗位招聘的同学。书本上的知识经过我的加工成笔记,难免会有一些错误或者不严谨的地方,欢迎大家进行纠正,也欢迎大家给我提提意见,希望能跟大家一起学习和进步。
- 如果感觉良好并且之后能腾得出时间的话,我可能会继续跟大家分享别的技术教程,以及比较经典或者有意思的文献。
1.1 什么是数据挖掘
数据挖掘是指在大型数据存储库中,自动发现有用信息的过程。通俗的来说,就是通过探查大型数据库,发现先前未知的模式,也可以预测未来观测结果。
1. 可伸缩(scalable)
通俗的说,可伸缩性代表了数据挖掘算法随着数据量呈指数增长时所表现的性能以及能力。海量的数据意味着数据挖掘的算法需要用特殊的搜索策略处理指数级搜索问题,同时还可能需要实现新的数据结构,才能有效地进行搜索和访问。抽样技术和分布算法,也可以提高算法的可伸缩程度。
2. 高维性
现实中,数据集的数据对象可能包含着很多属性,有时成百上千中,在数据挖掘算法中的表现为数据对象的向量维数很高,通常会给数据分析和挖掘算法带来困难,因为计算复杂度会随着维度增加而迅速增加。
3. 异种数据和复杂数据
所谓“异种”,指的是异种属性,比如DNA数据、结构化的文本数据等,需要我们进行特殊处理的数据。当数据中掺入异种数据,那么数据挖掘的算法可能需要进行相应的改变,抑或是对数据进行预处理转化为算法适用的数据。
4. 数据的所有权与分布
这个问题主要偏工程,因为数据量大,所以需要开发分布式数据挖掘技术,那么久面临以下几个挑战:
(1) 如何降低分布式计算所需的通信量?
(2) 如何有效的统一从多个资源得到的数据挖掘结果?
(3) 如何处理数据安全性问题?
5. 非传统的分析
1.3 数据挖掘的起源
为了解决1.2中提到的问题,不同学科的研究者汇集到一起,开发更有效、可伸缩的工具。数据挖掘借鉴了统计学的抽样、估计和假设检验,人工智能和模式识别、机器学习的搜索算法、建模技术和学习理论,还包括最优化、进化计算、信息论、信号处理、可视化和信息检索。因此,数据挖掘是一个交叉学科,融合了各领域的思想。
1.4 数据挖掘的任务
主要有两大类:
1. 预测任务:根据其它属性值,预测特定属性的值。
被预测的属性—目标变量,因变量。
用来预测的属性—说明变量,自变量。
2. 描述任务:找到数据中潜在联系的模式(相关、趋势、聚类、轨迹和异常),属于探查性的任务。
具体的任务有四大类:
1. 预测建模(predictive modeling)
简单地说就是建立模型,预测目标。两类任务分别是分类(classification)和回归(regression),这个跟机器学习中的定义是一样的。
2. 关联分析(association analysis)
指用来发现描述数据中强关联特征的模式或者算法。比如经典的购物篮问题,买牛奶的人也买面包,啤酒和尿布,之后关联分析的章节会详细讨论。
3. 聚类分析(cluster analysis)
旨在发现紧密相关的观测值组群。这个跟机器学习中无监督学习聚类是一个概念,简单的来说就是找出具有相似特征的点簇。
4. 异常检测(anomaly detection)
异常检测的任务是识别其特征显著不同于其他数据的观测值,这些观测值成为异常点(anomaly)或离群点(outlier)。异常检测的一个典型例子就是信用卡欺诈的识别,我没记错的话kaggle上应该有信用卡欺诈识别的项目,感兴趣的同学可以去看看。
1.5 本书的内容与组织
第2章主要讨论数据的基本类型、数据质量、与处理技术以及相似性和相异性度量,这些是数据分析的重要基础。
第3章设计数据探查,讨论汇***计、可视化技术和联机分析处理(On-Line Analytical Processing,OLAP)。
第4章和第5章主要介绍分类,包括最邻近分类器、贝叶斯分类器、神经网络、支持向量机以及组合分类器,决策树也会有所涉及。
第6章和第7章主要讨论关联分析,以及相关的更深入的算法。
第8章和第9章主要讨论聚类分析,包括K means,凝聚层次聚类和DBSCAN,更高阶的内容包括模糊和概率聚类、自组织映射(SOM)、基于图的聚类和基于密度的聚类。
第10章,也就是最后一章,主要讨论异常检测。