数据挖掘算法基础(二)

机器学习算法基础

概率图模型概述

  1. 概率图模型(probabilistic graphical model)是一类用图来表达变量相关关系的概率模型
  2. 概率图模型提供了一种描述框架
    (1)结点:随机变量(集合)
    (2)边:变量之间的依赖关系
  3. 分类:
    (1)有向图:使用有向无环图表示变量之间的依赖关系
    (2)无向图:使用无向图表示变量间的相关关系
    在这里插入图片描述
    常见的概率图模型包括:隐马尔可夫模型(HMM),条件随机场(CRF)和LDA模型

隐马尔可夫模型(HMM)

  1. 隐马尔可夫模型(HMM)是关于时序的概率模型;
  2. 描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列(state sequence),再由各个状态生成一个观测而产生观测随机序列(observation sequence )的过程,序列的每一个位置又可以看作是一个时刻。
    在这里插入图片描述
    在这里插入图片描述
    HMM应用领域:人脸识别、语音识别、NLP领域
    HMM示例
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    举例来说,有三个骰子,六面骰,四面骰,八面骰。也知道掷了三次的结果(1 6 3 ),但不知道每次用了那种骰子,求最有可能的骰子序列。
    在这里插入图片描述
    下面使用Viterbi算法对该问题进行求解:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

条件随机场模型

条件随机场模型主要思想来源于HMM,也是一种用来标记和切分序列化数据的统计模型。不同的是,条件随机场是在给定观察的标记序列下,计算整个标记序列的联合概率,而HMM是在当前给定的状态下,定义下一个状态分布。
条件随机域场(conditional random fields,简称 CRF,或CRFs),是一种判别式概率模型,是随机场的一种,常用于标注或分析序列资料,如自然语言文字或是生物序列。条件随机场是条件概率分布模型 P(Y|X),表示的是给定一组输入随机变量X的条件下另一组输出随机变量Y的马尔可夫随机场,也就是说CRF的特点是假设输出随机变量构成马尔可夫随机场。条件随机场可被看作是最大熵马尔可夫模型在标注问题上的推广。

LDA模型

LDA算法假设文档中主题的先验分布和主题中词的先验分布都服从狄利克雷分布。在贝叶斯学派看来,先验分布+数据(似然)=后验分布。我们通过对已有数据的统计,就可以得到每篇文档中主题的多项式分布和每个主题对应词的多项式分布,也就是我们最后需要的结果。那么具体的LDA模型应当如何进行求解,其中一种主流方法就是吉布斯采样。结合吉布斯采样的LDA模型训练过程一般如下:
(1)随机初始化,对语料中每篇文档中的每个词w,随机地赋予一个topic编号z。
(2)重新扫描语料库,对每个词w按照吉布斯采样公式重新采样它的topic,在语料中进行更新。
(3)重复以上语料库的重新采样过程直到吉布斯采样收敛。
(4)统计语料库的topic-word共现频率矩阵,该矩阵就是LDA模型。
经过以上的步骤,就得到一个训练好的LDA模型。

集成学习

集成学习通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统、基于委员会的学习等。在分类问题中,它通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。
集成学习基于这样一种基本思想:先产生一组个体学习器,再使用某种策略将它们结合起来。个体学习器通常由一个现有的学习算法从训练数据中产生,个体学习器也常称为“组件学习器”。集成学习的一般结构如图所示。
在这里插入图片描述

XGBoost模型

XGboost属于梯度提升树(GBDT)模型这个范畴,GBDT的基本想法是让新的基模型(GBDT以CART分类回归树为基模型)去拟合前面模型的偏差,从而不断将加法模型的偏差降低。相比于经典的GBDT,XGboost做了如下一些改进,从而在效果和性能上有明显的提升。
(1)GBDT将目标函数泰勒展开到一阶,而XGboost将目标函数泰勒展开到了二阶。保留了更多有关目标函数的信息,对提升效果有帮助。
(2)GBDT是给新的基模型寻找新的拟合标签(前面加法模型的负梯度),而XGboost是给新的基模型寻找新的目标函数(目标函数关于新的基模型的二阶泰勒展开)。
(3)XGboost加入了叶子权重的L2正则化项,因而有利于模型获得更低的方差。
(4)XGboost增加了自动处理缺失值特征的策略。通过把带缺失值样本分别划分到左子树或者右子树,比较两种方案下目标函数的优劣,从而自动对有缺失值的样本进行划分,无需对缺失特征进行填充预处理。
此外,XGboost还支持候选分位点切割,特征并行等,可以提升性能。

Bagging和随机森林

Bagging是并行集成学习方法最著名的代表。给定包含m个样本的数据集,我们先随机抽取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时该样本仍有可能被选中,经过m次随机采样操作,我们得到含m个样本的采样集,初始训练集中有的样本在采样集里多次出现,有的则从未出现。照这样,我们可采样出T个含m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合。这就是Bagging的基本流程。
随机森林简称RF,是Bagging的一个扩展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。传统决策树在选择划分属性时是在当前结点的属性集合中选择一个最优的属性,而在RF中,对基决策树的每个节点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。
可以看出,随机森林只对Bagging做了小改动,但是与Bagging中基学习器的“多样性”仅通过样本扰动而来不同,随机森林中基学习器的多样性不仅来自于样本的扰动,还来自于属性的扰动,这就使得最终集成的泛化性能可通过个体学习器之间差异度的增加而进一步提升。

  1. 由之前的证明可得出集成学习中的基学习器应尽可能相互独立,虽然独立在现实任务中无法做到,但可以使基学习器尽可能具有较大差异。
  2. 给定一个训练数据集,一种可能的做法是对训练样本进行采样,产生出若干个不同的子集,再从每个子集中训练出一个基学习器。
  3. 但如果采样出的每个子集都完全不同,则每个基学习器只用到了一小部分训练数据,甚至不足以进行有效学习,显然无法确保产生较好的基学习器。为了解决这个问题,考虑使用相互有交叠的采样子集。
  4. 基学习器不存在强依赖关系、采用并行化生成的方式、需要用到自助采样法。

Bagging(Boostrap AGGregaTING)是基于自助采样法采样出 T 个含 m 个训练样本的采样集,然后基于每个采样集训练一个基学习器,再将这些基学习器进行结合。
在这里插入图片描述

自助采样法(Bootstrap Method / Bootstrapping)

给定包含 m 个样本的数据集,先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时该样本仍有可能被选中,经过 m 次随机采样操作后,得到包含 m 个样本的采样集,初始训练集中有的样本多次出现,有的则从未出现。
根据有放回的随机抽样构造 n 个采样集,对他们分别进行训练,可得到 n 个弱分类器,然后根据每个弱分类器返回的结果,采用一定的组合策略得到最后的强分类器。
Bagging方法的一个代表算法是随机森林RF,它是Bagging的一个扩展变体。RF在以决策树为基学习器构建Bagging框架的基础上,进一步在决策树的训练过程中引入随机属性选择。
RF中有许多的分类树。我们要将一个输入样本进行分类,我们需要将输入样本输入到每棵树中进行分类:
(1)森林中任意两棵树的相关性越大,错误率越大。
(2)森林中每棵树的分类能力越强,整个森林的错误率越低。
对于随机森林的构建:
假设共有 m 个样本的训练集,需要的弱分类器为 T 个。

  1. 对样本使用自助采样法进行随机抽样,共采样 T 个包含 m 条样本的采样集
  2. 进行决策树的构建
    构建决策树时,传统决策树在选择属性时根据当前节点的属性集合(假设有d个属性)中选择一个最优属性;但在RF中,对基决策树的每个节点,先从该节点的属性集合中随机选择一个包含k个属性的子集,再从这个字集中选择一个最优属性用于划分。(若令k=d,则基决策树与传统决策树构建方法相同;若令k=1,则是随机选择一个属性用于划分;一般情况下,推荐值k=〖log〗_2 d )
  3. 将构建的 T 个弱分类器进行结合,得到强分类器。

人工神经网络与深度学习

深度学习属于机器学习的子类,是利用深度神经网络来解决特征表达的一种学习过程。其目的在于建立模拟人脑进行分析学习的神经网络。
在这里插入图片描述

BP

现如今神经网络纷繁多样的深度学习大环境中,实际应用中90%的神经网络系统都是基于BP算法实现的。BP神经网络在函数逼近、模式识别、数据压缩等领域有着非常广泛的应用。

卷积

卷积神经网络(CNN),最初用于图像识别,对于大型图像处理有出色的表现。卷积神经网络由一个或多个卷积层、池化层和最后的全连接层组成。卷积神经网络通过对图像进行局部扫描,提取其中的特征,再通过多层处理,增加所提取的特征感受范围。另外,每次完成特征提取后通常会按照特定的规则消去数据,这样既降低了所要计算的参数规模,又增强的网络的拟合能力。这一模型也可以使用反向传播算法进行训练。
在这里插入图片描述
在这里插入图片描述
激活层——激活函数
在这里插入图片描述
全连接层
全连接层用于将多层的特征映射成一个一维的向量,采用全连接的方式将向量连接向输出层,打破卷积特征的空间限制,对卷积层获得的不同的特征进行加权,最终目的是得到一个可以对不同类别进行区分的得分,输出层就是获得对应每个类别的得分。
在这里插入图片描述

循环神经网络

通常可以把RNN看成是一种回路,在回路中神经网络反复出现,可以将它看做是人的大脑中某一个神经元在不同时间段的不同状态,随着时间的推移,它所具备的信息会不断变化。这就使得RNN在处理具有时间特性的序列化数据时具有优越性。
LSTM是RNN的一个衍生版本,其对RNN在隐藏层方面做了改进。具体改进是LSTM将RNN的每个隐藏层替换为一个LSTM单元:
在这里插入图片描述
LSTM与RNN结构类似,都是链状结构,但是其中的重复模块有不同的结构。依靠门控机制解决信息遗忘问题。LSTM单元使用三种门机制进行控制,分别为遗忘门,输入门,输出门。
C_t 即为 t 时刻神经元的状态,该状态沿着整个链式结构传输。该状态由三个门控机制添加或移除信息,选择性地让信息通过。
遗忘门
LSTM 的第一步是决定从细胞状态中丢弃哪些信息。这个决定通过一个称为遗忘门完成。该门会读取h_(t-1) 和 x_t,输出一个在 0 到 1 之间的数值确定细胞状态保留的信息量。1 表示“完全保留”,0 表示“完全舍弃”。

在这里插入图片描述
输入门
第二步是确定什么样的新信息被存放在细胞状态中。这里包含两个部分。第一,sigmoid 层称 “输入门层” 决定将要存放在细胞状态的信息量的大小。然后,一个 tanh 层创建一个新的候选值向量会被加入到状态中。下一步,我们会将这两个信息来产生对状态的更新。
在这里插入图片描述
更新细胞状态
第三步将 C_(t-1) 更新为 C_t。把旧状态与 f_t 相乘,丢弃掉之前确定需要丢弃的信息。接着加上输入门得到的信息。这就是新的候选值,根据我们决定更新每个状态的程度进行变化。
在这里插入图片描述
输出门
第四步将会基于计算的细胞状态 C_t 确定输出的整个细胞单元的状态。首先,使用 sigmoid 层来确定细胞状态的哪个部分将输出出去。接着,把细胞状态通过 tanh 进行处理并将它和 sigmoid 门的输出相乘,最终仅仅输出确定输出的那部分。
在这里插入图片描述
GRU单元与LSTM单元结构类似,将遗忘门与输入门合成一个更新门,同时混合神经元状态及隐藏状态。最终模型比标准的LSTM结构简单,且易于计算。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据挖掘是一个**从大量数据中通过清理、处理以发现隐藏信息和模式的过程,也被称为知识发现**。它在各种领域都有广泛的应用,如新闻分类、推荐系统等。Python作为一种流行的编程语言,因其简洁的语法、强大的库支持,成为数据挖掘领域的首选工具之一。 以下是一些基于Python的数据挖掘算法: 1. **C4.5算法**:这是一种决策树学习算法,用于分类问题,能够处理离散属性值的数据集。 2. **CART算法**:分类与回归树算法,可以用于解决分类和回归问题,它构建的是叉树。 3. **SVM算法**:支持向量机算法,用于分类和回归分析,它通过找到最优边界来区分不同类别的数据点。 4. **KNN算法**:K最近邻算法,一种基于实例的学习,通过查找最接近的K个邻居来进行分类或回归。 5. **AdaBoost算法**:自适应增强算法,通过组合弱分类器来形成一个强分类器。 6. **Apriori算法**:这是一种关联规则学习算法,用于挖掘频繁项集内的有趣关系。 7. **K-Means算法**:一种聚类算法,用于将数据集划分为K个不同的簇。 8. **朴素贝叶斯(Naive Bayes)算法**:基于贝叶斯定理的分类算法,假设特征之间相互独立。 9. **EM算法**:期望最大化算法,用于寻找概率模型中未知参数的最大似然估计。 10. **PageRank算法**:谷歌创始人拉里·佩奇提出的网页排名算法,用于搜索引擎结果的排序。 11. **随机森林(Random Forest)算法**:由多棵决策树构成的集成学习方法,用于分类和回归任务。 在学习和研究这些算法时,重要的是要理解它们的原理、优缺点以及适用场景。同时,实践是检验学习成果的重要方式,可以通过案例实战来加深对算法的理解和应用能力。例如,使用鸢尾花数据集来对比各个算法的性能是一种常见的实践方法。此外,数据预处理也是数据挖掘过程中不可或缺的一部分,它涉及到数据清洗、转换等步骤,以确保数据质量,为算法的有效应用打下基础

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值