系列文章目录
第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression)
第四章【机器学习】【监督学习】- K-近邻算法 (K-NN)
第五章【机器学习】【监督学习】- 决策树 (Decision Trees)
第六章【机器学习】【监督学习】- 梯度提升机 (Gradient Boosting Machine, GBM)
第七章 【机器学习】【监督学习】-神经网络 (Neural Networks)
第十一章【机器学习】【监督学习】-局部加权线性回归 (Locally Weighted Linear Regression, LWLR)
第十二章【机器学习】【监督学习】- 岭回归 (Ridge Regression)
十三、【机器学习】【监督学习】- Lasso回归 (Least Absolute Shrinkage and Selection Operator)
十四、【机器学习】【监督学习】- 弹性网回归 (Elastic Net Regression)
十七、【机器学习】【非监督学习】- K-均值 (K-Means)
十八、【机器学习】【非监督学习】- DBSCAN (Density-Based Spatial Clustering of Applications with Noise)十九、【机器学习】【非监督学习】- 层次聚类 (Hierarchical Clustering)二十、【机器学习】【非监督学习】- 均值漂移 (Mean Shift)
二十一、【机器学习】【非监督学习】- 谱聚类 (Spectral Clustering)
二十二、【机器学习】【非监督学习】- OPTICS (Ordering Points To Identify the Clustering Structure)-优快云博客
目录
二、 Kernel Density Estimation (KDE)
一、非监督学习
(一)、定义
非监督学习是一种机器学习方法,它处理的是没有标签的数据集。与监督学习不同,非监督学习算法不需要知道数据的正确分类或目标值。它的目标是通过数据内部的结构和模式来推断出有意义的信息,如数据的分布、聚类、降维或异常检测等。
(二)、训练流程
非监督学习的训练流程通常包含以下几个步骤:
-
数据准备:收集和预处理数据,可能包括数据清洗、缺失值处理、数据标准化或归一化等。
-
模型选择:根据问题的性质选择合适的非监督学习算法。
-
参数初始化:初始化模型的参数,这一步对于某些算法至关重要,如K-means聚类。
-
模型训练:使用无标签数据训练模型,寻找数据中的结构或模式。这一过程可能涉及到迭代优化,直到满足某个停止准则,如收敛或达到预定的迭代次数。
-
结果评估:评估模型的结果,这通常比监督学习更具有挑战性,因为没有明确的“正确答案”。评估可能基于内在指标(如聚类的紧凑度和分离度)或外在指标(如与已知分类的比较)。
-
应用模型:使用训练好的模型对新数据进行分析或预测,如对新数据进行聚类或降维。
(三)、基本算法分类
非监督学习算法可以大致分为以下几类:
-
聚类算法:用于将数据点分组到不同的簇中,常见的算法有K-means、层次聚类、DBSCAN、Gaussian Mixture Models等。
-
降维算法:用于减少数据的维度,同时尽可能保留数据的结构信息,常见的算法有PCA(主成分分析)、t-SNE(t-分布随机邻域嵌入)、自编码器等。
-
关联规则学习:用于发现数据集中项之间的关系,如Apriori算法和Eclat算法。
-
异常检测算法:用于识别数据集中的异常点或离群点,如Isolation Forest、Local Outlier Factor等。
-
自组织映射(SOM):一种神经网络模型,用于数据可视化和聚类,可以将高维数据映射到低维空间中。
-
生成模型:如变分自编码器(VAE)和生成对抗网络(GAN),它们可以生成类似训练数据的新样本。
非监督学习在很多场景中都有广泛应用,如客户细分、图像识别、自然语言处理、生物信息学和推荐系统等。由于其灵活性和在处理大量未标注数据时的优势,非监督学习是数据科学和人工智能领域的重要组成部分。
二、 Kernel Density Estimation (KDE)
(一)、定义
Kernel Density Estimation,简称 KDE,是一种非参数统计技术,用于估计一个随机变量的概率密度函数(Probability Density Function, PDF)。在统计学和数据科学中,当我们无法假设数据遵循特定的分布(如正态分布)时,KDE 提供了一种灵活的方法来逼近数据的真实分布。
KDE 的基本思想是将每个观测值视为具有一个“核”(kernel)的中心点,这个核通常是一个平滑的函数,如高斯核(正态分布)。核函数以每个观测点为中心,赋予周围一定范围内的点一定的权重,这些权重随着距离观测点的增加而减少。通过将所有观测点的核函数加权求和并标准化,就可以得到一个近似的数据密度函数。
数学上,对于一维数据集 {𝑥1,𝑥2,...,𝑥𝑛},KDE 的估计公式可以表示为:
其中:
- 𝑛是样本数量;
- ℎ是带宽参数,控制着核函数的宽度,决定了估计的光滑程度;
- 𝐾是核函数,常见的核函数有高斯核、Epanechnikov 核、矩形核等。
KDE 的结果是一个平滑的曲线,它反映了数据点在各个位置的密度。选择合适的核函数和带宽对 KDE 的性能至关重要。带宽太小会导致估计过于粗糙,出现过多的峰值;而带宽太大则可能使估计过于平滑,掩盖了数据的真实结构。因此,合理选择带宽是一个重要的步骤,可以通过交叉验证等技术来优化。
(二)、基本概念
1.核函数(Kernel Function):
在 KDE 中,核函数 𝐾 是一个中心化的、非负的、积分等于1的函数,用于衡量某个点相对于观测点的重要性。常见的核函数包括但不限于高斯核(Gaussian)、Epanechnikov 核、矩形核(Uniform)、三角核(Triangular)等。核函数的选择会影响密度估计的形状和质量。
2.观测点和密度估计:
在 KDE 中,每个观测点 𝑥𝑖都被看作是带有特定权重的点,这个权重由核函数 𝐾 和带宽 ℎ 决定。带宽 ℎ控制着核函数的宽度,决定了每个观测点的影响范围。较小的带宽会导致估计函数呈现更多的细节和波动,而较大的带宽则会产生更平滑的估计,但可能掩盖掉数据的局部特征。
3.密度估计公式:
对于一个由 𝑛个观测值组成的样本集 {𝑥1,𝑥2,...,𝑥𝑛},KDE 在任意点 𝑥 上的概率密度估计为:
这里,𝑓^ℎ(𝑥)是在点 𝑥上的密度估计值,𝐾 是选择的核函数,ℎ是带宽参数,𝑛 是样本数量。
4.带宽选择:
带宽 ℎ的选择对 KDE 的结果至关重要。如果 ℎ过小,估计结果会显得嘈杂,表现出数据中的所有细节,甚至噪声;如果 ℎ过大,估计结果会变得过于平滑,可能丢失数据的局部结构。选择适当的带宽可以通过各种方法实现,比如使用交叉验证(Cross-Validation)来寻找最优带宽,或者采用 Silverman's rule of thumb 等经验法则。
(三)、训练过程
虽然 KDE 不像许多其他机器学习模型那样涉及复杂的优化过程,但选择合适的核函数和确定最佳带宽仍然是其“训练”过程中的关键部分。以下是对 KDE 训练过程的深入解析:
1.选择核函数
核函数 𝐾K 是 KDE 中的核心组件,它决定了密度估计的形状。不同的核函数有不同的特性,例如:
- 高斯核:使用正态分布作为核函数,产生平滑的估计,是最常用的核函数之一。
- Epanechnikov 核:具有数学上的最优性质,在一定范围内提供良好的估计。
- 三角核:简单且计算快速,但边缘效应可能较为明显。
- 矩形核:也称作均匀核,简单但估计可能不够平滑。
选择哪种核函数取决于数据特性和分析需求,但高斯核因其良好的数学性质和广泛适用性而经常被选中。
2.选择带宽
带宽 ℎh 是 KDE 中最重要的参数,它控制着估计的平滑度。带宽的选择直接影响到估计的准确性:
- 小带宽:产生尖锐、波动较大的估计,可能会过拟合数据中的噪音。
- 大带宽:产生平滑的估计,但可能掩盖数据中的细微结构,导致欠拟合。
3.带宽选择方法
- 经验规则:Silverman’s rule of thumb 是一种基于数据标准差和样本量的经验公式,提供了一个初步的带宽估计。
- 交叉验证:通过留一法或k折交叉验证来评估不同带宽下的预测误差,选择使总误差最小化的带宽。
- 插补法:使用训练数据的一个子集来估计带宽,然后在剩余数据上进行验证。
- 偏差-方差权衡:选择一个带宽,以平衡估计的偏差(由于模型简化造成的估计误差)和方差(由于数据随机性引起的估计变化)。
4.多维 KDE
在多维数据中,KDE 变得更为复杂,因为需要选择一个协方差矩阵来代替一维中的单个带宽值。这通常涉及到对数据的协方差结构的理解,以及如何将其转化为核函数的宽度参数。
5.实现步骤
- 数据准备:收集并清理数据,确保数据适合进行 KDE 分析。
- 核函数选择:基于分析需求和数据特性选择一个或多个核函数。
- 初步带宽估计:使用经验规则或其他快速方法来初步估计带宽。
- 带宽优化:采用交叉验证或其他更精细的方法来调整带宽,以达到最佳估计效果。
- 密度估计:应用选定的核函数和优化后的带宽对数据进行密度估计。
- 结果验证:通过可视化和/或与其他统计方法比较,评估 KDE 估计的合理性。
KDE 的训练过程虽然相对简单,但它要求用户对数据和估计过程有深刻的理解,以做出合理的核函数和带宽选择。正确的选择能够确保 KDE 提供准确、可靠的密度估计。
(四)、特点
-
灵活性:KDE 可以适应各种形状的分布,不需要提前假设数据的分布类型。
-
非参数性:KDE 不依赖于任何参数化模型,因此非常适合于数据分布未知或复杂的场景。
-
平滑性:通过调整带宽,KDE 可以产生光滑的密度估计,避免了直方图的阶梯效应。
-
多维扩展:KDE 可以很容易地扩展到多维数据,尽管在高维空间中可能会遇到所谓的“维度灾难”,使得带宽选择更加困难。
(五)、适用场景
Kernel Density Estimation (KDE) 是一种强大的非参数统计工具,用于估计未知概率密度函数 (PDF)。KDE 的灵活性和适应性使其在众多领域和场景中成为首选的分析方法,下面是一些主要的应用领域:
1.数据可视化:
密度图:KDE 能够生成数据的连续密度图,帮助理解和展示数据的分布特征,比传统的直方图更平滑,能 更好地捕捉数据的细节。
多变量分析:在多维数据中,KDE 可以创建联合密度图,揭示变量之间的相关性和潜在的依赖结构。
2.统计推断:
异常检测:通过 KDE 估计的密度,异常值或离群点可以被识别为密度极低的区域,这对于监测系统异常或欺诈行为检测很有用。
假设检验:KDE 可用于无参数假设检验,比较两组或多组数据的分布是否相同。
3.机器学习与数据预处理:
特征工程:在构建机器学习模型之前,KDE 可用于理解特征的分布,帮助进行特征选择或转换。
分类与回归:KDE 可用于构建基于密度的分类器,例如通过比较新数据点在不同类别的密度估计中的位置来进行分类。
4.信号处理与图像分析:
噪声过滤:KDE 可以用来识别和过滤信号中的噪声成分,特别是在信号处理中。
图像恢复:在图像处理中,KDE 可用于估计像素值的密度,进而辅助图像增强或恢复任务。
5.生物统计学与医学研究:
基因表达分析:KDE 可用于分析基因表达数据的分布,识别表达水平的模式和异常。
生存分析:在临床试验或流行病学研究中,KDE 可用于估计生存时间的密度,帮助理解疾病的发展趋势。
6.地理信息系统 (GIS) 和空间数据分析:
热点分析:KDE 可用于识别地理空间数据中的热点区域,例如犯罪活动、野生动物栖息地或自然资源分布。
环境建模:在环境科学中,KDE 可用于估计污染物浓度的分布或生态系统中物种的密度。
7.金融与风险管理:
风险评估:KDE 可用于估计金融资产收益的分布,帮助量化市场风险和价值处于风险中的资金。
交易策略开发:基于历史价格数据的 KDE 分布可以用于开发交易策略,识别买入或卖出信号。
8.天体物理学与宇宙学:
星系分布:KDE 可用于分析星系的分布,揭示宇宙的大尺度结构。
恒星年龄和亮度分析:通过 KDE 估计,可以研究恒星的年龄分布或亮度分布,帮助理解恒星演化的模式。
KDE 的应用远不止于此,其灵活性和非参数特性使其在任何需要理解数据分布或进行无模型假设分析的领域都有广泛的应用前景。
(六)、扩展
KDE 可以通过多种方式扩展,以适应更复杂的数据分析需求:
-
多维 KDE:在多维空间中估计密度函数,虽然计算成本会显著增加。
-
局部 KDE:在数据的不同区域使用不同的带宽,以适应数据密度的变化。
-
加权 KDE:为不同的数据点赋予不同的权重,这在处理有偏样本或异常值时特别有用。
-
混合 KDE:结合多个核函数或多个带宽,以提高估计的精度和鲁棒性。
三、总结
KDE 在数据可视化、异常检测、模式识别和机器学习的预处理阶段等领域有着广泛的应用。例如,在地理信息系统中,KDE 可以用来估计事件的空间分布密度;在生物信息学中,KDE 可以用来估计基因表达水平的分布等。