论文部分内容阅读
分类算法作为机器学习领域中重要研究内容,被广泛地应用于风险管理、用户画像、图像识别等场景。在实际应用中,K最近邻算法、逻辑回归算法、BP(Back Propagation)神经网络算法是最常用的分类算法。然而,在面对海量数据冲击时,这三种分类算法对内存、数据传输、数据存储要求严苛。普通商用计算机设备已不能满足海量数据处理分析需求。Hadoop平台是一种分布式计算框架,以其优异的性能成为海量数据批量、离线、非实时处理分析的最佳选择。Hadoop平台上MapReduce计算模型被用于改造提升传统机器学习分类算法,使其能够处理分析海量数据。Hadoop平台上的HDFS(Hadoop Distributed File System)分布式文件系统为海量数据存储提供解决方案。本文立足于设计、论证基于Hadoop平台的机器学习分类算法,旨在解决海量数据处理分析需求,主要完成以下工作。(1)为解决现有算法中间数据传输量大的问题,优化了基于Hadoop平台的K最近邻算法。优化后的算法在Map阶段,通过传统K最近邻算法得到测试样例的初步类别预测,在Reduce阶段,通过多数投票法得出测试样例的最终类别预测。为解决K最近邻算法中超参数K不易确定的问题,给出在一定取值区间内对不同K值进行迭代,选择出使算法性能最优的K值的解决方案。为解决超参数距离度量方式不易确定的问题,给出通过控制变量对多种距离度量方式进行实验,选择出能够让算法泛化能力最优的距离度量方式的解决方案。(2)为解决现有算法只能输出模型参数的问题,优化了基于Hadoop平台的逻辑回归算法。该算法在Map阶段,通过传统逻辑回归算法和每个Map节点上训练样例,在Map节点上学习出基本分类器,利用各Map节点的基本分类器对测试样例的类别进行初步预测,在Reduce阶段,对Map节点上基本分类器输出结果求均值,得到测试样例的最终类别预测。(3)为优化现有算法的运行效率,给出了基于Hadoop平台的BP神经网络算法的优化方案。优化后的算法在Map阶段,利用输出误差阈值和迭代最高值作为终止迭代条件训练本地网络,在Reduce阶段,利用迭代最高值作为终止迭代条件控制全局迭代。通过对各Map节点的网络模型参数多次求均值得到最终的网络模型参数。(4)对现有基于Hadoop平台机器学习分类算法进行了总结、梳理、分析。利用多组数据集实验,对比分析现有同类型算法和本文所优化的基于Hadoop平台的K最近邻算法、逻辑回归算法、BP神经网络算法的运行时间、泛化能力、加速比等性能指标。实验结果表明本文所优化的算法具有良好的泛化能力和运行效率,可被用于海量数据的分类预测。