深入浅出Python数据分析
上QQ阅读APP看书,第一时间看更新

1.1.5 数据挖掘、机器学习与深度学习

1.数据挖掘

数据挖掘的英文是Data Mining,其主要的意思是Mining From Data,即从数据中挖掘金矿。另外,KDD(Knowledge Discovery in Databases)是数据挖掘的另一个常见的同义词。Data Mining是在20世纪90年代从数据库领域发展而来的,所以一开始通常用KDD这个名称,在知名的学术论坛也称为SIGKDD。

第一届SIGKDD会议讨论了这个问题,即沿用KDD还是改名为Data Mining。会议最终决定这两个名字都保留,KDD有其科学研究上的含义,而Data Mining也适用于产业界。数据挖掘方法主要分为3种:关联(Association)法、分类(Classification)法和聚类(Clustering)法。

提到数据挖掘,一定会提到“啤酒尿布”这样的案例。该案例涉及一个经典的数据挖掘算法—关联规则(Association Rule)。因其常用在商品数据上,所以也被称为购物篮数据分析(Basket Data Analysis)。关联规则通过数据间的关系,找出怎样的组合是比较常出现的。关联规则与传统统计的相关性差异在于关联法则更重视关联性。

分类法是数据挖掘与机器学习中的重要算法。分类法主要用于区分数据,判断数据属于哪一个类别,即从原有的已知类别的数据集进行学习,以判断新进的未知类别数据。因为是用已知类别的数据集进行学习,所以分类法也被称为监督式学习(Supervised Learning)。

分类法的用法有两种:分析与预测。

分析:解释模型形成的原因,以了解数据本身的特性及应用。

预测:根据数据的特征及模型预测未来新的数据走向。

分类法可应用在多个领域,如银行用来判断是否发放贷款,医生用来判断某人是否患病等。

聚类法又称丛集法,是相对于分类法的另一种数据挖掘方法。聚类法也是用来区分数据的,它与分类法的差别在于原本的数据都是未经类别区分的。因为是对未知类别的数据集进行区分,所以聚类法也被称为非监督式学习(Unsupervised Learning)。

聚类法通常用于分组。举例来说,一家营销公司想要对不同的用户投放广告,就可以利用聚类法先对其进行初步的分组。聚类法可以用在市场研究、图形识别等领域。因为数据是由不同的属性所组成的向量,会呈现一个多维的对象,所以人们通常利用“距离”的概念表示相似程度。两笔数据会被表示为两个点,两点之间的距离越大,代表两笔数据越相似,反之越不相似。

当然,随着数据样式的变化,许多进阶用法不断出现,如时间序列分析(Time Series Analysis)和序列模式分析(Sequential Pattern Analysis)。

2.机器学习

机器学习是从人工智能这门学科延伸出来的分支,主要是通过演算法试图从数据中“学习”到数据的规律,从而预测数据的特性。机器学习、数据挖掘与统计分析是用不同的观点看待“数据”的技术。随着技术的演进,这些技术所涵盖的方法与技术越来越相近。《大演算》一书从不同的思维角度将机器学习流派分成5种。

● 符号理论学派:归纳法—从数据反向推导出结论的方法。

● 演化论学派:遗传算法—通过程序模拟遗传演化产出最后的结果。

● 类神经网络学派:通过多层的节点模拟脑神经传导的思考。

● 贝氏定理学派:根据统计学及概率的理论产生模型。

● 类比推理学派:基于相似度判断进行推论学习。

3.深度学习

深度学习是机器学习的一个支派,也称为进阶的方法,以前也称为类神经网络。目前业界使用较多的是深度学习这个名称。1980年,多层类神经网络失败,浅层机器学习方法(SVM等)兴起。直到2006年辛顿成功训练出多层神经网络,带动了新一波的深度学习发展。几个数据相关名词的搜寻量变化如图1.3所示。

图1.3 几个数据相关名词的搜寻量变化