论文部分内容阅读
近年来,稀疏多元逻辑回归(Sparse Multinomial Logistic Regression,SMLR)因为具有在分类的同时嵌入特征选择的作用而被广泛应用于高光谱图像分类、多类物体识别、疾病诊断等领域。由于SMLR目标函数中含有?1正则项,导致无法直接求得解析解,因此通常采用迭代的方式对其进行求解。SMLR问题最早采用迭代重加权最小二乘法(Iterative Reweighted Least Squares,IRLS)进行求解,但其算法对特征维度和类别数较敏感。在处理高维数据集或者类别数较多的数据集时,IRLS算法具有较高的计算复杂度,因此人们对于采用更高级的优化算法求解SMLR的需求变得越来越迫切。为了提高串行求解SMLR的分类准确率和求解速度,本文基于交替方向乘子法(Alternating Direction Multiplier Method,ADMM),设计并提出了快速稀疏多元逻辑回归算法(Fast Sparse Multinomial Logistic Regression,FSMLR)。实验结果表明,FSMLR算法的分类准确率在多个数据集上均取得了最优,在运行时间上也远优于IRLS算法。考虑到目前SMLR问题的串行优化算法已经难以满足处理大规模数据所需的时间和内存要求,本文基于分布式凸优化问题,针对大规模样本的场景提出了基于样本划分的分布式SMLR算法(Sample Partitioning based Distributed SMLR,SP-SMLR);针对大规模特征的场景,提出了基于特征划分的分布式SMLR(Feature Partitioning based Distributed SMLR,FP-SMLR)算法。SP-SMLR算法和FP-SMLR算法利用了ADMM算法的可分解性,通过将SMLR的单一目标函数拆分为多个目标函数进行求解从而实现了任务并行化。另外,原始大规模数据集被以多种方式划分为多个子数据集,各任务基于子数据集进行优化,从而实现数据并行化,极大地降低了分布式环境中任务的数据通信成本。本文使用Spark分布式计算框架实现了SP-SMLR和FP-SMLR算法,并在多组真实的大规模数据集上进行了实验。大数据实验表明,本文提出的分布式并行化SMLR算法能够对大规模样本及特征进行扩展,能够以较快的速度进行求解并保持较高的求解精度。