目录
6.5 朴素贝叶斯分类器(Naive Bayes Classifier)
7.2.1 Bagging(Bootstrap Aggregating)
六、贝叶斯决策论
6.1 贝叶斯决策论的基础
6.1.1 贝叶斯定理
贝叶斯定理是概率论中的一个基本定理,用来计算在已知一些相关数据的情况下,某事件的概率。
数学表达式为:
其中
- P(A|B)指在事件B发生的前提下事件A发生的条件概率,称为后验概率
- P(B|A)指在事件A发生的前提下事件B发生的条件概率,称为似然度
- P(A)和P(B)分别指事件A和事件B的先验概率
6.1.2 贝叶斯决策论的定义
贝叶斯决策论的核心思想是基于后验概率来选择使得期望损失最小的决策
实现过程:
1.定义决策空间:确定决策集合
2.建立先验概率:对决策问题进行建模,定义每个可能的状态或类别 的先验概率分布
3.估计条件概率: 估计在每个可能的状态 下观察到数据 x 的条件概率分布
4.计算后验概率:利用贝叶斯定理,计算在观察到数据 x 后每个可能状态 的后验概率分布
5.选择最优决策:根据后验概率分布和损失函数 ,选择能够最小化期望损失的最优决策 的数学表达书为:
其中 是决策 d 在真实状态 下的损失
6.2 判别式模型和生成式模型
判别式模型:关注的是通过学习输入数据与输出标签之间的映射关系来进行预测,直接学习类别之间的决策边界或者决策函数。
代表:
- 决策树
- BP神经网络
- SVM
生成式模型:关注的是学习数据的联合概率分布,能够推断出样本的特征,并生成新的样本
代表:
- 贝叶斯分类器
6.3 频率主义和贝叶斯主义
6.3.1 定义比较
频率主义:频率主义将模型的参数视为固定且真实存在的,通过多次实验来逼近这个固定值
贝叶斯主义:贝叶斯主义将所有的参数都被视为随机变量,每个值都有可能是真实模型使用的值,只是概率不同而已。
6.3.2 模型构建比较
频率主义:在构建模型时,频率主义主要关注如何通过数据样本来研究和估计总体参数。它强调数据的客观性和可重复性,使用点估计和区间估计等方法来推断总体参数的值和范围。
贝叶斯主义:贝叶斯主义则将观察数据和先验知识结合起来,通过贝叶斯公式计算后验概率,从而推断未知参数的分布和置信区间。它允许将个体的信仰和经验融入统计模型中,使得模型更加灵活和全面。
6.4 极大似然估计(MLE)
极大似然估计是一种通过优化似然函数来估计模型参数的方法。
在贝叶斯决策论中,通常我们希望通过已知的数据集 来估计模型的参数。
实现过程:
1.选择概率模型
2.定义似然函数:对于给定模型的参数 ,似然函数 表示在参数 下观察到数据集 D 的概率密度或概率质量函数。对于独立同分布的数据 D ,似然函数可以写成 ,其中 是模型预测类别 对应特征 的概率。
3.最大化似然函数:极大似然估计的目标是找到使似然函数 最大化的参数 。 通常为了方便计算,会取对数似然函数进行优化,即
4.计算参数:使用梯度下降等优化技术求解参数
6.5 朴素贝叶斯分类器(Naive Bayes Classifier)
朴素贝叶斯分类是一种基于贝叶斯定理和特征条件独立假设的简单概率分类算法。
实现步骤:
1.贝叶斯定理:
2.特征条件独立假设:朴素贝叶斯分类器假设每个特征 独立地对分类结果产生影响,即给定类别 ,特征之间的条件概率是相互独立的。
因此,后验概率可简化为:
3.分类决策:计算完所有类别的后验概率后,朴素贝叶斯分类器选择具有最高后验概率的类别作为预测结果:
示例:
七、集成学习
7.1核心思想
集成学习的核心思想是通过结合多个学习器的预测结果,来改善整体的预测性能。单一学习器可能会受到数据特性、模型选择或参数设置的限制,而集成学习通过整合多个学习器的优点,弥补单一学习器的不足,从而达到更好的泛化能力和预测精度。
7.2 主要类型和方法
7.2.1 Bagging(Bootstrap Aggregating)
算法实现流程:
1.Bootstrap抽样
Bagging的核心是使用Bootstrap方法来生成多个训练数据集。Bootstrap抽样是一种有放回的抽样方法,从原始数据集中随机抽取相同大小的样本,生成多个新的训练数据集。
如果原始数据集包含N个样本,每个新的Bootstrap样本也将包含N个样本,但是可能会有重复的样本,也可能会有原始数据集中某些样本未被抽取到。
2.基学习器训练
对于每个Bootstrap样本,都训练一个基学习器。基学习器可以是任何类型的模型,如决策树、神经网络、支持向量机等。
每个基学习器都在一个独立的Bootstrap样本上进行训练,因此它们之间是相互独立的。
3.集成预测
当所有基学习器训练完成后,对于一个新的输入样本,Bagging集成通过对所有基学习器的预测结果进行平均(回归问题)或投票(分类问题)来生成最终的预测结果。
7.2.2 Boosting
Boosting核心思想是通过顺序训练多个弱学习器(通常是决策树),每个学习器都专注于修正前一个学习器的错误,从而提升整体模型的性能。
算法实现流程:
1.顺序训练多个弱学习器
Boosting方法会从初始数据集开始,首先训练一个基础的弱学习器(如一个决策树),然后根据其表现调整训练样本的权重,使得被前一个模型错分的样本在后续训练中得到更多关注。
2.调整样本权重
对于每个样本,根据前一个模型的表现(误分类情况)来调整其权重。被错误分类的样本会在下一轮训练中得到更高的权重,以便后续的模型能够更专注于修正这些错误。
3.集成多个学习器
Boosting算法会迭代多轮训练,每一轮都会新增一个学习器,直到达到预设的迭代次数或者达到某个性能指标。最终的预测结果是基于所有弱学习器的加权组合。
八 、聚类(Clustering)
8.1 定义
聚类是无监督学习中的一种方法,用于将数据集中的样本分组,使得同一组内的样本之间相似度较高,而不同组间的样本相似度较低。
8.2 常见聚类算法
8.2.1 K-means聚类
K均值聚类是一种常用的聚类算法,用于将数据点划分为预先指定数量(K)的簇。其基本思想是通过迭代优化,将每个数据点分配到距离其最近的簇中心,然后更新簇中心,直到满足停止条件。
8.2.1.1 算法实现流程
1.初始化:随机选择K个数据点作为初始的簇中心。
2.分配数据点:对于每个数据点,计算它与各个簇中心的距离,将其分配到距离最近的簇中心所属的簇。
3.更新簇中心:对每个簇,重新计算该簇所有成员的平均值,作为新的簇中心。
4.迭代:重复步骤2和步骤3,直到簇中心不再发生显著变化或达到预定的迭代次数。
8.2.1.2 优缺点分析
优点
- 简单易实现
- 适合于簇之间差异较大且簇形状大致相似的数据集
缺点
- 对初始点,噪声和异常值敏感
8.2.2 DBSCAN算法
DBSCAN算法=Density-Based Spatial Clustering of Applications with Noise
8.2.2.1 算法核心参数
-
:用于定义邻域的距离阈值。即,某个点的ε-邻域包括其周围距离在ε内的所有点。
-
MinPts:用于定义一个核心点所需的最小邻域内点的数量。如果某个点的ε-邻域内包含的点数目不少于MinPts,则该点被认为是核心点。
8.2.2.2 算法实现流程
1.核心点识别
对于数据集中的每个点,计算其ε-邻域内的点数。如果该点的ε-邻域内的点数大于等于MinPts,则将其标记为核心点。
2.簇扩展
从任意一个核心点出发,通过其ε-邻域内的连接,找到所有密度可达的点,形成一个簇。
注:密度可达是指两个点通过相互可达的核心点路径相连。
3.噪声点识别
将未被访问过的点标记为噪声点,即不属于任何簇的孤立点。
8.2.2.3优缺点分析
优点:
- 对密度分布不均匀的数据具有较好的适应性
- 能够发现任意形状的簇
缺点:
- 参数设置敏感
- 对大数据集或高维数据处理效率较低