论文部分内容阅读
伴随科技的发展,信息浪潮扑面而来。人们每天聊天、微博、视频、邮件等会产生大量数据信息。这些数据中包含了大量有极高价值的信息。处理这些规模庞大的数据对现有的分析方法和工具来说是巨大的挑战。处理这些数据问题的数据挖掘技术就成了热门的研究方向。随着研究的深入,数据挖掘技术也出现了许多具体的分支,机器学习是其中最热门的分支之一。随着机器学习技术和理论的发展,利用这些机器学习算法进行数据分析的方案已经成功应用于某些特定领域,例如车牌识别、网络攻击防范、手写字符识别、面部识别、信息检索、社会网络和疾病诊断等。但是为了分析数据问题,机器学习方法通常需要大量的数据集进行训练,来发掘其中的规律,并建立模型,再使用模型对未知数据进行预测分析。尽管在训练算法的优化方面有大量的突破,机器学习方法仍然会受到庞大的训练集的困扰,最直接的结果就是模型训练时间漫长。同时这些未经处理的庞大训练集常常包含大量冗余数据和离群数据。这些多余数据是那些对机器学习训练中非关键数据点,它们会占用大量计算资源,使机器学习模型训练过程耗时极长,甚至会影响最终模型的精度。为了解决这些数据的质量问题,本文研究了现有的样本缩减算法和离群点检测算法。并提出了新的样本缩减策略和改进的离群点检测方法。为了解决数据规模过大的问题,本文提出了壳状数据选择算法进行样本筛选。该算法利用数据集分布并非绝对均匀,在不断迭代中删除靠近数据集中心向量的的数据点。这样可以近乎完整的保存分布在样本集的壳形区中的非冗余数据点。在几乎不降低训练后模型精度的前提下,实现了减小训练集规模的目标。然后本文结合壳状数据选择算法提出了一种改进的离群点检测策略。由于许多传统的检测方法较复杂,无法直接适用于大规模数据集。同时通过分析不难发现整个数据集中大部分都是非离群点,因此传统的离群点算法浪费了大部分时间在遍历非离群点上。为了减少非离群点的遍历改进的离群点算法首先采用壳状数据选择算法将大部分非离群点删去,然后使用二分划分算法将缩减后的数据集划分成多个子区域,再对子区域排序并使用kNN算法来进行离群点分析。这样不仅保留了原有的基于近邻的异常点检测方法的效果,也大大提高了孤立数据检测的效率。