2024.9.15 Python模式识别新国大EE5907,总结PCA,LDA,Clustering,GMMboosting,SVM
1.PCA主成分分析
主成分分析是一种降维算法,它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关,其能反映出原始数据的大部分信息。
1.标准化处理
2.计算协方差矩阵
3.计算特征值和特征向量。
4.根据特征值的大小排序,选择最大的 k 个特征值所对应的特征向量,构成一个新的特征空间。这些特征向量称为主成分,它们定义了数据投影到的新的低维空间。
2.LDA线性判别分析
PCA:通过最大化数据的总体方差来进行降维,不考虑类别信息,因此是一种无监督降维方法。
LDA:考虑类别信息,通过最大化类间方差和最小化类内方差来进行降维,是一种监督降维方法。
LDA最多将数据降到 k−1 维,k 是类别的数量
LDA 的核心思想是通过找到一个投影方向,使得数据投影到这个方向时,不同类别的样本之间尽可能地远,而同类别样本之间尽可能地近。
LDA 实现这个目标的步骤如下:
计算类内散度矩阵:类内散度矩阵表示同一类别的数据点之间的差异
计算类间散度矩阵:类间散度矩阵反映类别中心之间的差异
求解优化问题:
数据投影:
3.Clustering聚类
步骤:
随机选择
k 个初始质心。
将每个样本分配到离它最近的质心对应的簇中。
更新每个簇的质心为该簇所有样本的平均值。
重复上述步骤,直到质心不再移动或者满足停止条件。
优点:简单易实现,计算效率高。
缺点:需要预先指定簇的数量
k,对初始质心敏感,容易陷入局部最优。
4.高斯混合模型(GMM, Gaussian Mixture Model) 和 Boosting 技术的机器学习算法
高斯混合模型(GMM)
GMM 是一种用于聚类和概率建模的算法,它假设数据来自多个不同的高斯分布。每个高斯分布代表数据集中的一个簇,而整个数据集则可以看作是由这些簇混合而成的。
模型原理:GMM 使用**期望最大化(EM)**算法来估计高斯分布的参数,即每个簇的均值、协方差和权重。EM 算法是迭代式的,分为两个步骤:
E 步骤:根据当前的参数估计每个数据点属于某个簇的概率。
M 步骤:基于 E 步骤中的概率重新估计模型的参数。
GMM 的优势是能够处理具有不同形状和大小的簇,并且允许每个簇具有不同的协方差结构。
Boosting
Boosting 是一种集成学习方法,旨在通过组合多个弱模型来提升整体模型的性能。最常用的 Boosting 方法是 AdaBoost 和 Gradient Boosting。
核心思想:Boosting 通过将多个简单的弱模型(如决策树)按顺序训练,并在每次迭代中关注前一个模型错误分类的数据点。在每次迭代中,模型会更加关注被前一次模型错分的数据点,从而逐步提高整体的预测准确性。
效果:通过反复迭代,Boosting 能够显著提高分类或回归问题的性能。
5.SVM支持向量机(SVM,Support Vector Machine)
是一种用于分类、回归和异常检测的监督学习算法,广泛应用于机器学习和数据挖掘中。SVM 通过构建一个最佳的决策边界(超平面)来将数据分成不同的类别。
SVM 的基本原理
SVM 的主要目标是找到一个能够最大化分类边界的超平面,这个边界能够将不同类别的数据点尽可能分开。SVM 会寻找一个距离两类样本点最近的“支持向量”之间的最大间隔,尽量避免数据点落入边界内。
超平面:在 SVM 中,超平面是用来分割数据空间的决策边界。对于二维数据,超平面是直线;对于三维数据,它是一个平面;在更高维度中,超平面是一个维度更高的几何体。
支持向量:这些是位于决策边界附近的数据点,它们对确定超平面的位置至关重要。只有这些点会影响分类结果,其余的数据点对决策边界没有影响。
间隔(Margin):是指支持向量与超平面之间的距离。SVM 的目标是最大化间隔,从而让数据点尽量远离决策边界,这样能提高模型的泛化能力。
支持向量机是一种强大的监督学习算法,尤其适合于处理高维数据和复杂的分类问题。通过引入核函数,SVM 可以将非线性问题映射到高维空间进行处理,并在多种领域得到广泛应用。尽管有一定的计算复杂性,SVM 在许多分类任务中表现优异,是机器学习中的重要工具之一。