数据挖掘概述

1、数据量不是越大越好

2、数据挖掘方法过程:数据清理、数据集成、数据选择、数据变换、数据挖掘、模式评估、只是表示

3、数据属性:标称属性、二元属性、序数属性、数值属性(数值属性是定量的,其他事定性的)

4、如何对属性的区间标度变量和二元变量进行相似度度量?

区间标度变量相似性度量:首先需要进行标准化(标准化是剪掉均值,再除以均值曼哈顿)、然后计算欧氏距离(平方和开平方);曼哈顿距离(绝对值之差);标准化欧氏距离

二元变量相似性度量:分为对称和分对称,对称就是简单匹配系数,也叫恒定的相似度;非对称就是杰卡德相似系数,也叫非恒定的相异度

分类挖掘

HMM

1、什么是HMM是隐马尔可夫模型:由两个随机过程组成,一个是不可观测的有限状态马氏链,成为状态链,还有一个可观测到的,称为观测链。

2、三大问题:评估问题,给出观测序列和模型,计算P(O)max,前向和后向算法;解码模型,给定观测序列和模型,判断O对应的最优状态序列,叫做viterbi算法;给定观察序列O,确定产生O最可能HMM的模型,叫做学习问题,Baum-welch算法

强化学习

1、Qlearing:动作效用函数、评价特定状态下采取某个动作的优劣
2、DQN

决策树(重点)

1、什么是决策树?

一个分类和预测工具,每条路径代表识别一个规则。

2、Backfitting法是一种迭代的方法,用于调整叶节点的分类比例以生成一个分数或概率。这个分数或概率可以表示样本属于某一类别的可能性。通过反复迭代调整叶节点的分类比例,直到满足停止准则为止,

3、决策树如何分割?

计算纯度——基尼值、熵

基尼值:见p58(基尼值越大,纯度越大)

熵:p61(纯度越高,信息量越小,熵也就越小)

4、决策树生成算法ID3

按照纯度最高的属性进行分割(会到达最纯的情况)

5、决策树生成算法C4.5

除了考虑纯度之外,还要考虑样本集合的分裂程度(信息增益)

6、信息增益如何计算?

首先,计算数据集的熵(Entropy)作为分类的基准值。

然后,对于每个特征,计算根据该特征进行分类后的条件熵(Conditional Entropy)。

最后,用基准值的熵减去条件熵,得到信息增益。

(也就是总熵剪掉划分后的熵,信息增益率就是信息增益/划分后的熵)

7、连续值如何取值?

划分区间

8、前期修剪(预修剪)——边生长边剪

实例个数小于某个阈值、到达某个高度、具有相同的特征向量、增益小于阈值

9、后期修剪(后修剪)——生长完了再剪

避免噪声、过拟合、无意义

10、剪枝的核心思想:剪掉了重新算增益,提升了就剪

11、F1=2×Precision×Recall/Precision+Recall

12、为什么要进行规则提取,如何进行规则提取?

深度优先读取每个原始规则集,将规则集进行合并,得到最终规则集(只考虑将后置条件相同的前置条件合并)

13、决策树的进一步改进策略有哪些?

纯度计算、错误率计算、多隶属组合分类

1、中心性和权威性的区别

中心性主要是连出

权威性主要是连入

2、Pagerank

有向图有一个权重(竖着的出度,横着的入度),初始概率都是1/4

然后乘起来就行了

不管迭代直到收敛,收敛的向量就是各个页面的rank

(解决陷阱和终止点问题:添加一个随机跳转系数,有一定规律跳转)

3、漏斗模型

4、关键路径

5、矩阵分析

表示两个因素之间的关联关系

聚类算法

离群点检测

  • 统计
  • 基于距离的离群点检测
  • 基于偏离的离群点检测

划分聚类

1、Kneans算法

分配依据:对象到簇的代表点距离

簇的代表点是簇中对象的均值

2、k均值算法流程:首先随机选择k个代表点,对剩余每一个对象,根据它和簇均值的距离,把它指派到最相似的簇,然后计算每个簇的新均值,循环直到收敛

3、考虑到k均值的局限,改为k众数的方法:用众数代替簇的均值,使用k中心点方法

层次聚类

1、不用指定簇的数目,也无需初始代表

2、初始条件有凝聚or分裂

(考虑一下层次聚类计算距离的各种方法)

单链的优点:能处理非椭圆状聚类,但容易受到噪声干扰

全链的优点:不易受到噪声干扰,但是请先与把大聚类分为小聚类,而且偏向于球状聚类

组平均:也偏向于球状

密度聚类

首先是基于距离的聚类知识和发现类球状的簇,但是对于非球状的簇挖掘效果比较差

基于密度聚集:有一个Minpus邻域,如果一个对象的邻域至少包含最少数目的minptns个对象,则称该对象为核心对象

密的区域的连通性:

  • 直接密度可达:q在核心对象p的邻域内(q是从p直接密度可达)
  • 密度可达:有一个直接密度可达的链
  • 密度相连:不是密度可达,但是都对一个对象密度相连,那么叫做关于对象的密度相连

密度相连的对象闭集作为一个簇——DBSCAN算法

网格聚类:CLIQUE

聚类评估

准确率(查准率):正肯定/正肯定+错肯定

召回率(查全率):正肯定/正肯定+错否定

图聚类

实际上是一个图的切割问题

切割选择:割的代价、切割的效果

SCAN算法:基于结构相似性,类似于密度聚类的思路,找到结构相似性高的点,然后连接生长(有图表示怎么算,重要的是求结构相似性)

谱聚类:

将样本看作顶点,样本间的相似度看作带权的边,将样本空间变成一个图,这样就把聚类问题转为图分割的问题(需要用到特征向量和特征值)

GMM(混合高斯模型)

是一种不确定的聚类方法:其中的点属于哪个类是有概率的

GMM过程就是找出k个高斯分布过程,每个样本点是k个高斯模型的加权和,每个高斯模型代表了一个类,样本点在k个高斯模型上的投影分别得到在每个类上的概率

模糊挖掘

模糊集运算p53

空间挖掘

网格文件:瓜分k为数据空间,由k个一维数组表示

网格目录每一网格单元包含一外存页地址,这一外存页存储了该网格单元内的数据,成为数据页

频繁模式挖掘

1、顾名思义,频繁模式就是频繁出现在数据集中的模式,作用是根据某些项的出现来预测其他项的出现

2、了解项和项集的概念,了解事务的概念,了解事务和项集的包含关系

3、关联规则的定义

A →B (s, c)

c是置信度:在所有包含X的事务中包含Y的事务所占比例(有些小众事件反而具有很高的置信度 但却并不一定反应实际情况)

s是支持度:指事务集D中包含A∪B的百分比(注意是A∪B!!!不要记错了!!!)

4、关联规则挖掘目的 – 给定一个事务数据库,关联规则挖掘的目标是要找到所有支持度和置信度都不小于指定阈值的规则。

5、频繁项集,对于一个项集P,如果它的支持度不小于给定阈值,那么就称P为频繁项集

6、源自同一项集的规则有相同的支持度,但置信度不同

7、关联规则步骤:首先找到支持度大于min的项集,在项集里找到置信度大于min的规则

【如果P是一个频繁项集,那么P的任意子集也是频繁项集】

8、关于闭频繁项集和极大频繁项集的概念

9、关联规则挖掘分类(最简单的关联规则挖掘,即单维、单层、布尔关联规则的挖掘)

10、基于枚举的方法复杂度太高,进行优化

缩小候选集:Apriori性质——如果一个项集是频繁的,那么它的所有子集都是频繁的。

如果发现一个集合不频繁,那么其超集都可以裁剪掉。

11、Apriori算法:利用Apriori性质进行频繁项集挖掘。逐层搜索,先搜索K项集,然后再探索k+1项集。知道找不到频繁k项集。(减少搜索空间)

Apriori算法由连接和剪枝两个步骤组成(有一张示例图,首先是Dataset,然后是C1,之后是L1,然后是C2,L2,中间由1stScan…格式不重要,重要的是要讲明白这个算法的过程)

12、虽然剪枝减少了候选集的个数,但是计算候选集支持度依旧是个难题——使用hash树

(两种优化)

13、生成关联规则:令|L| = k,则有2 k–2 个候选的关联规则

14、由同一个项集生成的规则(按原顺序)却具有反单调性质:c(ABC →D) ≥c(AB →CD) ≥c(A →BCD)

15、通过合并具有共同前缀结论的关联规则生成候选规则 – 合并(CD=>AB,BD=>AC)将生成D => ABC – 裁减D=>ABC如果其子集AD=>BC置信度小于最小阈值

16、构建条件模式基、然后是条件FP-Tree,最后是频繁项集

集成挖掘

bagging

1、bagging通过在原始数据集上进行有放回的重抽样(bootstrap),生成多个不同的训练数据集

最终的预测结果是这些基本模型预测结果的平均值(回归问题)或投票(分类问题)——主要是投票

2、关于抽样

简单随机抽样:分层抽样、分层比例抽样、分层最佳抽样(根据各层标准差的大小调整各层样本数目);系统抽样,将总体排序,然后按照一定间隔抽样(但是如果有周期性变化那就有问题);只能群抽样,将总体分为若干群,然后随机抽取一部分群,是不重复抽样;

【样本放回和不放回都是随机抽样的一种形式】

非随机抽样:任意抽样、判断抽样(依据人的偏好)、配额抽样(和分层完全相同,不过是非随机抽)、滚雪球抽样

不平衡问题:先验性信息更偏向于多类别,因此需要使得不同类别样本对于模型的贡献是均衡的

解决不平衡问题比如随机欠采样,nearmiss,ENN。过采样比如随即过采样,增加了过拟合的可能。图像领域可以使用单样本增强,文本领域也有,主要是词语替换,词语遮盖。多样本增强,通过组合转换等方式构建已知样本的邻域值样本。Mixup四案发,随机混合两个训练样本和标签。

生成模型:生成对抗网络GAN——有一个生成网络还有一个判别网络。生成器比如是一个反卷积,输入噪声生成图片。判别器是一个卷积网络,判断是否来自于真实世界,是一个二分类。

VAE是变分自编码器,也就是输入真实样本,输出生成样本。有一个encoder和decoder,类似于压缩和解压缩。但是隐空间在解码时很容易给出无意义的内容。一般采用高斯分布作为隐空间的分布。

为了保证隐空间足够规则,因此在网络训练中引入正则化。变分自编码器将输入编码为单个点,变成空间中的概率分布。VAE训练过程

扩散模型(Diffusion):输入图像加入高斯噪声,然后会产生一系列的噪声样本,反向过程就是去除图像中的噪声,类似于马尔可夫过程实现。

Bagging算法的优点包括:

  • 降低方差:由于每个基学习器只是在部分数据集上训练,因此降低了模型的方差,使得模型更加稳定。
  • 防止过拟合:通过随机抽样和集成学习的方式,可以减少模型对训练数据的过度拟合。

Bandit

类强化学习,分为确定性算法和概率算法(概率算法会根据历史情况调整选择动作)

随机森林算法

构建多个决策树对预测结果进行平均,对样本呢和特征进行随机抽样

GBDT:梯度提升决策树,串行训练多个决策树来提升模型的预测性能。训练过程中,GBDT会根据前一棵树的预测结果和真实标签之间的残差来训练下一颗树。最后将所有树的预测结果累加。

Adaboost算法:穿行训练多个弱学习器来构建一个强学习器。在训练过程中,Adaboost会根据前一轮训练样本的权重调整样本的权重

一些问题

1、Bagging和boosting机制分别是什么,有什么异同点?

Bagging就是对样本进行随机抽样,获得多轮样本,然后选用相同的模型预测,对结果进行投票。

boosting是初始化数据,得到第一次挖掘候选集,第一次挖掘得到分类结果,然后找到错误样本。变更数据分布,得到下一次挖掘候选集。下一次挖掘得到分类结果。变更数据分布。——多轮迭代(串行的)——后一个学习器会根据前一个学习机的错误来调整样本权重,但是会导致过拟合。

异同点在于,boost 更关注前一次被分错的样本,能够更有针对性地进行适应性学习,而 Bagging 则是传统加法模型的实践。

bagging降低了模型方差。但是也降低了可解释性。

boosting对噪声敏感,可能导致过拟合。

样本权重调整方式不同:Bagging是通过随机抽样生成不同的数据集来降低方差,Boosting是通过调整样本权重来降低偏差。

模型训练方式不同:Bagging是并行训练多个基学习器,各个学习器之间相互独立;Boosting是串行训练多个学习器,每个学习器都会根据前一个学习器的错误来调整样本权重。

效果侧重点不同:Bagging主要侧重于提高模型的稳定性和泛化能力,Boosting主要侧重于提高模型的准确性。)

2、抽样都有哪些方式,分别特点是什么?

抽样分为随机抽样和非随机抽样。

在随机抽样里又有分层、总体抽样、分群。

非随机抽样比如群体抽样,偏见抽样。

3、Bandit策略是什么?

类似于强化学习。核心在于探索和利用。

随机:每次随机选择方法。

观察:给每个选项一定尝试,然后根据正确次数选择频率最高的选项。

贪心:尽量选择先前正确率最大的。

4、随机森林算法的基本思路是什么?

基础模型选用决策树。多轮训练。去平均值。

数据集:就是bagging算法。

树的生成:从M个属性中随机抽取F个属 性作为分裂属性集,以这F各属性上最好的分裂方式对节点 进行分裂(森林生长过程中F值一般保持不变)

• 影响随机森林分类效果的主要因素

– 单棵树的分类强度,单棵树分类效果越好,森林效果越好

– 树的相关度,相关度越高,森林的效果越差

5、GBDT算法的基本思路是什么?

决策树串行训练,但是利用上一个的预测的损失函数进行拟合

但是容易过拟合和陷入局部最优

6、Adaboost算法的基本思路是什么

串行训练,每个学习器都会根据前一个学习器的错误来调整样本的权重,使得下一个学习器更关注前一个学习器预测错误的样本。

7、图数据和传统数据相比有什么特点?

图数据:非平移不变性

图数据挖掘方法:基于特征工程和基于图神经网络

8、图挖掘有哪些典型任务?

节点分类任务(给出部分节点的分类,预测其余节点的分类)——一般利用图卷积神经网络进行分类

9、图有哪些种常见的分类?

有向图和无向图:有向图中的边有方向性,表示节点之间的单向关系;无向图中的边没有方向性,表示节点之间的双向关系。

加权图和非加权图:加权图中的边具有权重,表示节点之间的关系强度;非加权图中的边没有权重。

稀疏图和稠密图:稀疏图中节点之间的连接较少,稠密图中节点之间的连接较多。

连通图和非连通图:连通图中任意两个节点之间都存在路径,非连通图中存在孤立的节点或子图。

有标记图和无标记图:有标记图中的节点或边具有标记或属性,无标记图中的节点或边没有标记或属性。

10、异配图和同配图的主要区别是什么?

同配图特点

  • 一致的连接模式:所有节点的连接模式是一样的。
  • 结构相似性:图的结构可以通过节点和边的重新排列而保持不变。

示例

  • 完全图(Complete Graph):每对不同的节点之间都有一条边。
  • 循环图(Cycle Graph):节点形成一个封闭的环,每个节点连接两个邻节点。

特点

  • 不一致的连接模式:节点之间的连接模式是不同的。
  • 结构差异性:图的结构复杂多样,无法通过节点和边的重新排列使得连接模式相同。

示例

  • 社交网络图:节点表示用户,边表示用户之间的关系。不同用户之间的连接模式可能千差万别。

  • 生物网络图:节点表示不同的生物分子,边表示分子之间的互动关系,不同分子之间的互动模式可能各不相同。

11、异配图上的节点分类任务主要挑战是什么?

异质性:节点和边的类型多样

高位和稀疏性

复杂关系

规模关系:通常规模比较大

12、异配图上的节点分类思想和主要方法有哪些?

基于差异性聚合直接邻居的节点分类方法:设计邻居区分函数或邻居区分指标,为不同的邻居设计不同的特征提取函数

基于重连潜在邻居的节点分类方法:应用图重连的方式 – 将原始图中没有直接相连但属于同一类别或高度相似的节 点通过重新连边的方式直接连接在一起 – 学习一个新的图拓扑结构,即一个新的邻接矩阵(分为直接学习,间接学习和无参数学习三种)

(图神经网络方法,比如异构图神经网络,元路径方法、基于嵌入的方法。基于特征工程、还有基于图的传统机器学习方法。)

提示工程

1、提示分类

• Prompt learning:设计不同的提示,灵活性较强

• Instruction learning:指令学习给模型的指令,告诉模型应该做什么,一般是自然语言

• In-context learning:通过提示示例上下文进行推理和预测

2、提示学习的基本过程是什么?

提示构造,答案构造,答案预测,答案-标签映射

3、提示模板构造有哪些方法?

人工构造、离散式模板自动构造、连续式模板自动构造、离散-连续混合式模板自动构造

(连续式模板构造是由连续的词向量或嵌入表示生成)

连续式模板自动构造:完全依赖模型生成的连续词向量或嵌入表示,捕捉复杂的上下文关系。

4、提示答案构造有哪些方法?

离散、连续

5、提示学习的训练策略有哪些

参数冻结