第一章 绪论
P44
1、数据挖掘产生的背景?驱动力是什么?
DRIP(Data Rich,Information Poor);
2、大数据的特点是什么?
3V——海量,高速,多种类;
3、什么是数据挖掘?
数据->知识(规律);
4、数据挖掘一般流程是什么?以及业界数据整合& 分析的过程是什么?
定义问题,收集数据,整理准备数据,定义使用模型,评估,应用模型;
第二章 数据
P19
1、什么是非对称属性?
只重视少部分非0属性,这些属性具有意义;
2、数据集的一般特性
维数、稀疏性、分辨率。
3、什么是维度灾难?如何理解维度灾难?以及如何避免维度灾难?
是当增加更多特征维度时,模型的效果反而下降的现象;
随着维数增加,数据在特征空间中越来越稀疏,导致过拟合学习了噪声和异常值。
增加训练样本数量(理论无限就不会灾难);更改模型类型;
4、数据集的类型:
记录数据(数据矩阵、交易数据、文本数据)
图数据(万维网、分子结构)
序列数据(时间序列、空间数据、图像数据、视频数据)
数据集的常用标准形式是什么?什么是词袋模型?
数据对象具有相同的数值属性集,那么可以将数据对象视为多维特征空间中的点,每个维度代表一个属性。
数据集可以用m乘n矩阵表示。其中,m行:每个对象为一行,n列:每个属性为一列。
5、数据质量: 数据质量差会对许多数据处理工作产生负面影响
常见数据质量问题: 噪声、异常值、重复值、不一致值、不均衡数据。
6、数据相似性与相异性度量: 相似性度量方法:二元向量相似度(SMC、Jaccard系数)、余弦相似度、相关性
皮尔森相关:corr(x,y)=Sxy/Sx*Sy
Sxy=离均差乘积和/n-1
Sx=离均差平方和/n-1 开根号
相异度量方法:Euclidean 距离(物理距离)、Minkowski 距离(前者平方开方换成参数)、马氏距离
余弦相似度:向量点积/长度之积
第三章 数据预处理
为什么:
数据预处理是数据挖掘中最为艰巨的任务;
数据不完整;
有噪声;
数据不一致;
冗余;
其他;
主要任务:
数据清理,数据集成,数据归约,数据变换和离散化。
无关数据、冗余属性、缺失数据、异常数据
缺失数据填补是一门艺术; 填补方法:忽略、手动填、模型填
异常数据:噪声,异常值
如何平滑异常值?分箱、回归、聚类
属性类型:连续型、离散型、序数型、标称型、字符串型等
离散化:连续型->离散型
离散化是将连续属性转换为有序属性的过程
无监督离散化:等宽离散化、等频率离散化、k-均值离散化
K-means:找K个点,每次分类到最近的点形成簇,再对簇计算质心;
有监督离散化
下采样、上采样、边缘采样
什么是不平衡数据集?会产生什么弊端?如何规避?
不平衡:数据集各个类别的样本数目相差巨大;
问题:若相差巨大,分类器将偏向于大的类别,降低分类准确率;
处理方法:扩充数据集、重新采样、人造数据、改变分类算法;
有明确上下界:Min-max 标准化
对原始数据进行线性变换。将值映射到[0,1]区间内;
无上下界:Z-score标准化
评估样本点到总体均值相差多少个标准差;
如何判断属性的好坏呢?
定性:类别柱状图(离散型属性)、类别分布图(连续型属性)
定量:熵、信息增益
Gain (S ,X ) = H(S ) - H(S | X )
思考:连续型属性如何求熵、信息增益呢?微积分
特征子集选择的方法有那些?
穷举;
分支定界 ;
贪婪算法:最优的K个单独的属性、顺序正向选择、顺序逆向选择
优化算法;
两个具有代表性的特征提取方法(降维方法):
无监督的PCA
有监督的LDA
主成分分析法(PCA)是设法将原来变量重新组合成一组新的相互无关的几个综合变量,同时根据实际需要从中可以取出几个较少的总和变量尽可能多地反映原来变量的信息
问题:PCA是无监督方法,并没有考虑类标签信息
线性判别分析(LDA)保持尽可能多的类别信息的同时进行降维。
第四章 分类
从数据中推导函数的技术,一种有监督的方法
基本方法包括:最近邻、决策树、贝叶斯、支持向量机、神经网络
集成方法:Boosting、随机森林
K最近邻算法(K-Nearest Neighbor, KNN)是最基本的分类算法,其基本原理是:从距离样本最近的K个邻居(样本)中,选择出现次数最多的类别作为判定该样本的类别。K最近邻算法可以理解为是一个分类算法,常用于标签的预测,如性别。
不是直接复制与测试样本最近邻样本的标签,而是在训练样本中找到K个最近邻的样本,通过投票的方式确定标签。
ID3算法:分别对每个属性 算信息增益;
属性值加权求和,用E(S)减之;
贝叶斯定理
朴素贝叶斯:假定条件独立,后验概率乘积
Yes: pa*p(b|a)*p(c|a)*...
No: p~a*p(b|~a)*...
所占权重(yes/yes+no)即为当前条件下得出结论的概率,应上升到整体概率而非当前样本数量下概率。
超平面分类器
间隔、对偶、核函数
SVM 将会寻找可以区分两个类别并且能使间隔(margin)最大的划分超平面。
核函数是在高维特征空间中对应于内积的函数: K(xi,xj) = φ(xi)*φ(xj)
核函数意义:将向量的维度从低维映射到高维;降低运算复杂度;
基本的感知机(神经元)的结构?其本质是实现什么功能?
对输入神经元的值进行线性加权后,输入到激励函数,再通过输出神经元输出;
本质实现的是线性分类器,即线性超平面。
梯度下降:
基本思想:沿着梯度的方向,一步步向下去寻找使得损失函数值为最小的过程。
代表性的方法:
BGD批量梯度下降、SGD随机梯度下降、MBGD小批量梯度下降、Adam、Momentum等
其中E(w)为损失值,n为学习率,超参数;
BP:
首先正向传播数据,计算神经网络输出结果,与正确结果比对,将误差沿神经网络反向传播修改参数;
第五章 聚类
5.1 聚类概述
1、什么是聚类?与分类的区别是?
寻找一组对象,使一组中的对象彼此相似(或相关),与其他组中的对象不同(或无关)
特点:
无监督学习;
没有标签;
数据驱动去生成不同的簇;
一般操作:
最小化簇内样本的距离;
最大化簇间样本的距离;
形态——特征选择/提取——特征表现——组间相似性(影响特征选择和分类)——分类分组——形成聚类
一个好的聚类:
高类内相似度
低类间相似度
聚类方法质量体现:
聚类方法所使用的相似性度量
方法的实施
方法发现隐藏模式的能力
相似性/相异性度量
相似性通常用一个距离函数来表示:d(i,j)
对不同类型变量(布尔、序数、向量),相似性/相异性度量的定义是不同的
根据应用和数据语义需求,不同变量应该有不同权重
评价标准方法:误差平方和SSE、剪影
可扩展性、处理任意形状数据、可解释性可用性、处理噪声数据能力、高维性
划分方法(K-means);
层次的方法 ;
基于密度的方法 ;
基于模型的方法 ;
基于网格的方法 ;
基于图论的方法 ;
5.2 K-Means
1、流程
确定 K 的值。
随机生成 K 个聚类中心。
每个数据点都被分配到其最近的中心。
使用每个簇的平均值更新每个中心。
重复这个过程,直到没有新的分配点,达到迭代次数上限。
返回K个中心点。
2、优缺点
优点
– 简单,适用于规则不相交的簇,如:球型。
– 收敛速度相对较快。(5-6步)
– 相对有效,算法复杂度: O(t·k·n)
T 迭代次数; k 中心点的个数; n 样本点的数目
缺点
对噪声点和奇异点很敏感:
数据点的均值 ,基于密度的DBSCAN…
不适合的聚类:
大小、密度、非球型
初始质心设置不当,可能会收敛到局部最优:
尝试不同的初始质心,二分K-Means…
需要提前决定K的值:
高维无法预先判断K值,二分K-Means…
5.3 层次型聚类
层次型聚类:凝聚型和分裂型
凝聚:
以点作为各个簇开始
每一步, 合并最近的两个簇直到只剩一个(or k clusters) 簇
分裂:
从一个包括所有点的簇开始
每一步, 分裂一个簇直到每个簇只包含一个点 (or there are k
clusters)
凝聚聚类基本思想:
自底向上的方法
产生一个分层树的嵌套簇集, 无需设定任何特定的簇数目计
基本流程:
算簇之间的邻近度矩阵--结合最相近的两个簇,直到只有一个簇为止
主要方法:
不同的定义簇间距离方法,如:
Min、Max、Group Average、Distance Between Centroids
Min:
Max:也是将距离近的加入到聚类,判断距离标准变为max
问题局限性:
不同的方案存在一个或多个以下问题:
– 对噪声和离群点敏感
– 难以处理不同大小的簇和非凸形状
– 打破大的簇
5.4基于密度聚类 DBSCAN
优点:
有点像人类的视觉、无需预先设置K值、生成任意形状的簇、抗噪音能力强。
缺点:
易受超参数影响。
基本思想:
簇被定义为最大密度连通点集。
从一个随机选择的点P开始.
如果P是一个核心点,则通过逐步将密度可达的所有点添加到当前点集来构
建簇。
噪声点被丢弃。
Eps:指定密度半径大小
Minpts:以当前点为圆心,eps内至少有几个点;大于的为核心点,小于的为边界点;
第六章 关联分析
1、概述
事务:一组项的集合;
关联分析:
用于发现隐藏在大型数据集中令人感兴趣的联系,所发现的模式通常用关联规则或频繁项集的形式表示。
关联规则具有以下形式:
P Þ Q where P Ì I, Q Ì I and P ÇQ = Æ
数据集:包括一组事务;
项集:一组项的集合;
项集(Itemset):
包含0个或多个项的集合
例子: {Milk, Bread, Diaper}
k-项集:
包含k个项的项集
支持度计数(Support count )(σ)
包含特定项集的事务个数
例如: sσ({Milk, Bread,Diaper}) = 2
支持度(Support)(s)
包含项集的事务数与总事务数的比值 s=x/n
例如: s({Milk, Bread, Diaper}) = 2/5
频繁项集(Frequent Itemset)
满足最小支持度阈值(minsup)的所有项集
关联规则
关联规则是形如 X ® Y的表达式,其中 X 和 Y 是不相交的项集 ;
例子:
{Milk, Diaper} ® {Beer}
关联规则的评价
– 支持度 Support (s):
是同时包含X,Y事务和总事务数的比值: s=x/n;
– 置信度 Confidence (c)
是包含{X,Y}的事务数和包含X的事务数的比值: c=P(y|x)
n(milk,bread,beer)/n(milk,bread)=2/3
总结:
1、什么是频繁项集?评价指标是什么?
项集是包含0个或多个项的集合,形如 {Milk, Bread, Diaper}
频繁项集满足最小支持度阈值的所有项集.
支持度:项集的频率
2、什么是关联规则?评价指标是什么?
关联规则是形如 X -> Y的表达式, 其中 X Y 是不相交的项集.
强规则是一个频繁且置信度高于Φ的规则.
支持度:规则X -> Y的频率
置信度:规则X -> Y的强度
3、挖掘关联规则的基本思路?
频繁项集产生à从频繁项集中产生强规则
4、频繁项 强规则
支持度和置信度受到阈值的限制:
最小支撑 Minimum support σ
最小置信 Minimum confidence Φ
频繁项集是支持度大于σ的项集。
强规则是一个频繁且置信度高于Φ的规则。
关联规则问题
给定数据集D, 支持度和置信度阈值σ 、 Φ, 需找出具有 X->Y形式的所有规则。
所有可能的关联规则的数量是巨大的。
暴力策略是不可行的。
一个聪明的方法是先找到频繁项集.
频繁项集产生、强规则产生
A priori当项集越来越大时,支持度单调不增的
一般步骤:
生成特定大小的项集 (通常是1-项集)。
扫描数据库一次,看看哪一个是频繁的。
使用频繁项集来产生候选项集(size=size+1)。返回上一步重复执行,直到达到频繁项集阈值;
迭代产生从1~k的频繁项集 。
可避免产生不是频繁项集的候选者。
需要对数据库进行多次扫描。
总结:
频繁项集的产生:
先验:一个项集是频繁的,那么它的所有子集都是频繁的。 任何不频
繁项集的超集都不能是频繁的 。
一个逐层迭代算法。即从频繁1-项集到最长的频繁项集。在每次迭代,
新的候选项集由前一次迭代发现的频繁项集产生,然后对每个候选的支
持度进行计数,满足最小支持度阈值的候选项集为新的频繁项集。
关联规则在频繁项集中产生:
先验:如果规则X ®Y-X不满足置信度阈值,则形如X‘®Y-X’的规则一
定也不满足置信度阈值,其中X‘是X的子集。
利用频繁项集构造出满足用户最小置信度的规则,在构造过程中依据规
则先验的原理进剪枝。
频繁项集的产生是Apriori算法的核心,占整个算法工作量的大部分。