论文部分内容阅读
随着信息技术的快速发展,大数据中蕴含的价值愈发受到关注,如何对大数据进行高效的分析成为了一个重要的课题。机器学习是进行数据分析的常用方法之一,传统的机器学习算法常被设计为离线批量训练的方式,然而该方式已难以适用于大数据环境中具有海量规模并持续增长的数据集。如何对传统机器学习算法进行改造使其能更好的适用于大数据环境成为目前的研究热点。本文的主要内容包括以下几个部分。首先,本文对大数据和机器学习两个领域中应用最广泛的技术进行了系统性的介绍和分析。对于大数据技术,介绍了 Hadoop的生态并分析了 HDFS、MapReduce、YARN三个核心组件的原理。介绍了 Spark的BDAS环境并分析了 RDD的原理,简单总结了Flink、Storm、TensorFlow三个常用的大数据工具。对于机器学习技术,对有监督学习算法(逻辑回归、支持向量机),无监督学习算法(K-means),以及强化学习算法(Q-learning)的原理进行了阐述,总结了机器学习泛化能力和分类器评价指标。该部分的内容是对算法进行改造的理论铺垫。第二,本文对在线机器学习算法的改造进行了研究。在传统算法的在线化研究部分,指出了在线化的关键在于对训练方法的改造,对有监督学习常用的梯度下降法和牛顿法进行在线化处理,得到了小批量梯度下降法和在线BFGS法。在大数据环境下的改造部分,对基于样本维度和基于特征维度的数据分割的参数更新方法进行了推导,并对这两种分割方式进行了对比。该部分的内容完成了在线机器学习算法改造的理论分析。第三,本文设计并实现了用于在线机器学习的实验平台。在设计部分,针对大数据运行环境,设计了三套方案并分析了各自的优缺点,选择了自行搭建Hadoop集群的方案;针对开发工具,设计了两套方案并分析了各自的优缺点,并选择了 Hadoop Streaming配合Python的方案。在实现部分,给出了搭建实验平台时虚拟机的建立、系统的安装、大数据环境的安装以及远程管理的具体步骤;对运行程序核心算法进行了实现,完成了算法的伪代码描述和关键函数定义;对系统运行逻辑进行了实现,对模型保存和持续训练两个问题提出了解决方案。该部分的内容是对后续进行算法实验提供环境的准备工作。最后,本文将在线机器学习应用到了电能质量扰动分类问题当中。该部分先对电能质量扰动分类进行了简单概述。在分析了获取电能质量数据集的两种思路后,给出了利用数学模型生成电能质量数据集的方法和步骤。阐述了利用level10db4小波变换和能量统计量提取电能质量样本中的特征的方法和步骤。之后,分析了传统机器学习算法中逻辑回归和支持向量机的分类效果,得到了在数据量足够多的情况下不同算法的分类性能将趋近一致的结论。分析了在线支持向量机训练时两个超参数对训练过程的影响,得到了当数据量较大时训练方法的超参数对训练过程影响较小的结论。分析了在线支持向量机和离线支持向量机的训练耗时和分类效果,得到了在线支持向量机相对离线支持向量机分类效果略弱但训练耗时大幅减少的结论。分析了不同计算节点数量下在线支持向量机的训练耗时,得到了在数据量较多时增加计算节点可以有效减少训练耗时的结论。该部分的内容验证了在大规模机器学习问题中改进后的在线机器学习算法相对于传统机器学习算法更具可用性,同时也验证了在线机器学习应用在电能质量扰动问题中的可行性。