维度规约(降维)算法在WEKA中应用

简介: 维度规约(降维)算法在WEKA中应用

维度的诅咒是一种现象,即数据集维度的增加导致产生该数据集的代表性样本所需的指数级更多的数据。为了对抗维度的诅咒,已经开发了许多线性和非线性降维技术。这些技术旨在通过特征选择或特征提取来减少数据集中维度(变量)的数量, 而不会显着丢失信息。特征提取是将原始数据集转换为维数较少的数据集的过程。两个众所周知的,密切相关的特征提取技术是主成分分析(PCA)和自组织映射(SOM)。


主成分分析(PCA)

主成分分析(PCA)是一种统计算法,用于将一组可能相关的变量转换为一组称为主成分的变量的不相关线性重组。简而言之,主要组成部分,ÿ,是我们数据集中变量的线性组合, X,那里的权重, ËĴŤ是从我们的数据集的协方差或相关矩阵 的特征向量导出的。

第一个主要成分是使数据点距离的平方和最小的直线。它是单行数据集的最小二乘逼近。因此,第一个主要组成部分解释了数据集的最高变异量。然后从数据集中提取残差并计算下一个主成分。如此,每个连续的部件解释较少的方差,从而从中减少了变量的个数 X, 米,主要组件的数量, ķ。在使用PCA时存在一些挑战。从而从中减少了变量的个数 X, 米,主要组件的数量, ķ。在使用PCA时存在一些挑战。首先,该算法对数据集中变量的大小敏感,因此建议采用平均中心,而采用相关矩阵X因为它是正常化的。PCA的另一个挑战是它本质上是线性的。PCA的非线性适应包括非线性PCA和内核PCA。


自组织映射(SOM)

自组织映射(SOMs)最初是由Kohonen在20世纪90年代中期发明的,有时也被称为Kohonen Networks。SOM是一种多维缩放技术,它构建了一些底层数据集的概率密度函数的近似值,X,这也保留了该数据集的拓扑结构。

这是通过映射输入向量来完成的, X一世在数据集中, X,权重矢量, w ^Ĵ,特征地图中的(神经元) w ^。保留拓扑结构简单地意味着如果两个输入向量靠近在一起X,那些输入向量映射到的神经元 w ^也将紧密结合在一起。这是SOM的特点。


如果SOM中的神经元数量少于数据集中的模式数量,那么我们将降低数据集的维数...而不是输入或权向量的维数。因此,由SOM执行的维度降低的类型与由PCA执行的降维类型不同,并且SOM实际上更类似于诸如K均值聚类的 聚类算法。

然而,SOM和聚类的区别在于数据集的聚类将(一般来说)保留数据集的概率密度函数,而不是数据集的拓扑结构。这使SOM特别有用于可视化。通过定义一个将给定权向量转化为颜色的次函数,我们能够将底层数据集的拓扑结构,相似性和概率密度函数可视化为一个较低的维数(通常是两维因为网格)。


PCA的应用

Weka是数据挖掘任务的机器学习算法集合,它可以直接应用于数据集,也可以从您自己的Java代码中调用.Weka包含数据预处理,分类,回归,聚类,关联规则,可视化,也非常适合开发新的机器学习方案。

WEKA中的一个特性是选择属性和降维的工具。其中一个支持的算法是主成分分析。本示例将PCA应用于包含12个相关技术指标的.CSV文件。冗余是导致模型(特别是机器学习模型)过度拟合的数据质量之一。


相关矩阵技术指标

如果我们把它加载到WEKA中,我们将看到数据集的一些基本的描述性统计,包括每个变量(技术指标)的直方图,以及它们的最小值,最大值,平均样本统计量和标准差样本统计量。


在选择属性选项卡中,选择主要组件属性评估器,WEKA将自动选择排序器搜索方法。


点击开始后,WEKA提取前五个主要组件。可以看出,前三个主成分与收盘价的相关系数分别为0.6224,0.3660和0.1643。知道PCA,这三个组成部分是不相关的,理论上至少应包含有关指数运动的不同信息。


相关文章
|
2月前
|
存储 算法 Java
解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用
在Java中,Set接口以其独特的“无重复”特性脱颖而出。本文通过解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用。
56 3
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的优化算法及其应用
【10月更文挑战第8天】 本文将探讨深度学习中常用的优化算法,包括梯度下降法、Adam和RMSProp等,介绍这些算法的基本原理与应用场景。通过实例分析,帮助读者更好地理解和应用这些优化算法,提高深度学习模型的训练效率与性能。
211 63
|
26天前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法与应用
探索人工智能中的强化学习:原理、算法与应用
|
25天前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
43 1
|
25天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
56 1
|
1月前
|
缓存 算法 网络协议
OSPF的路由计算算法:原理与应用
OSPF的路由计算算法:原理与应用
47 4
|
1月前
|
机器学习/深度学习 监控 算法
基于反光衣和检测算法的应用探索
本文探讨了利用机器学习和计算机视觉技术进行反光衣检测的方法,涵盖图像预处理、目标检测与分类、特征提取等关键技术。通过YOLOv5等模型的训练与优化,展示了实现高效反光衣识别的完整流程,旨在提升智能检测系统的性能,应用于交通安全、工地监控等领域。
|
1月前
|
存储 算法 网络协议
OSPF的SPF算法介绍:原理、实现与应用
OSPF的SPF算法介绍:原理、实现与应用
81 3
|
1月前
|
机器学习/深度学习 JSON 算法
二叉树遍历算法的应用场景有哪些?
【10月更文挑战第29天】二叉树遍历算法作为一种基础而重要的算法,在许多领域都有着不可或缺的应用,它为解决各种复杂的问题提供了有效的手段和思路。随着计算机科学的不断发展,二叉树遍历算法也在不断地被优化和扩展,以适应新的应用场景和需求。
46 0
|
26天前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法及应用
探索人工智能中的强化学习:原理、算法及应用