CN107844798A - 一种基于机器学习的海量数据中检测异常值的方法 - Google Patents
一种基于机器学习的海量数据中检测异常值的方法 Download PDFInfo
- Publication number
- CN107844798A CN107844798A CN201710913196.7A CN201710913196A CN107844798A CN 107844798 A CN107844798 A CN 107844798A CN 201710913196 A CN201710913196 A CN 201710913196A CN 107844798 A CN107844798 A CN 107844798A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- data
- data set
- value
- learning device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2433—Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Electrically Operated Instructional Devices (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于机器学习的海量数据中检测异常值的方法。本发明基于数据集,建立一个偏向欠拟合的机器学习模型,让模型学习数据的普遍特征,再利用训练得到的机器学习模型对数据进行预测,比较预测值和真实值的偏差。根据训练出来的数据偏差,选择一个可靠的阈值,将偏差超过阈值的数据标记为异常,从而为后续的数据分析、数据挖掘提供更高质量的数据。
Description
技术领域
本发明涉及一种基于机器学习的海量数据中检测异常值的方法,用于海量数据中的异常值检测,可以清洗脏数据,为后续的回归分析任务提供更高质量的数据,提升分析精度。
背景技术
在处理数据过程中,时常发现部分数据值偏离预期或大量统计数据结果的情况。通常,这部分数据被定义为异常值,即:样本数据集中明显偏离所属样本中其余观测值的数值,也可以称为异常数据,离群值。
随着数据总量的不断增加,异常值的出现不可避免。对于人工采集的数据,采集人员的疲惫、马虎等有意、无意的原因都有可能导致数据采集错误;对于机器采集的数据,机器故障、操作失误等也会造成异常数据的产生。这些异常数据隐藏在海量数据中往往难以发现,但是,这些异常数据会给整个数据分析、数据挖掘过程带来无法预估的影响,通常会降低数据分析的精度和性能。
机器学习是指计算机利用已有的数据(经验)得出某种模型,并利用此模型预测未来的过程。机器学习分为深度学习、增强学习、迁移学习、多任务学习、规则学习等。根据输入数据是否有标签,机器学习又分为有监督学习和无监督学习。深度学习是目前机器学习方法中最为热门的一个领域,它是一个端到端的学习方法。增强学习方法会不断地跟环境做自主的互动,在互动的过程中用长远的收益来指导当下该做什么决策。机器学习相关方法经过多年发展已经在海量数据处理任务中发挥了重要作用。机器学习能够有效的学习数据集中的普遍特征,这让基于机器学习的海量数据中异常值检测成为可能。
发明内容
本发明的目的是:利用机器学习技术检测海量数据中的异常值。
为了达到上述目的,本发明的技术方案是提供了一种基于机器学习的海量数据中检测异常值的方法,其特征在于,包括以下步骤:
步骤1、获取数据集,确定数据集中的数据类型,根据不同的数据类型和回归分析任务的特性,使用基于加法模型的机器学习器选择模型选择合适的机器学习器;
步骤2、将整个数据集输入机器学习器中进行简单训练,使机器学习器尽可能多的学习数据集中普遍特征的同时,尽可能少的学习数据个案中的非普遍特征,其中:简单训练包括以下步骤:
步骤2.1、在输入的数据集上构建特征,随后将构建完成的特征规范化;
步骤2.2、设定机器学习器的参数;
步骤2.3、将特征输入到机器学习器,训练机器学习器至偏欠拟合的状态以减少对非普遍特征的学习,得到一个训练好的弱学习器;
步骤3、使用训练好的弱学习器对数据集中的所有个案进行预测,得到每个个案的预测值;
步骤4、将所有个案的预测值与真实值进行比较,设置容差大小,如果个案的真实值与预测值的差异大于容差,则认定为异常值,如果个案的真实值与预测值的差异小于容差,则认定为正常值;
步骤5、输出去除异常值之后的数据集。
优选地,在所述步骤2.1中采用标准化方法将特征规范化,将原始数据集归一化为均值为0、方差为1的数据集。
优选地,利用标准化方法将特征规范化包括以下步骤:
步骤5.1、设输入的数据集上构建的特征为v1,v2,…,vn,计算特征v1,v2,…,vn的均值μ和方差p;
步骤5.2、第i特征vi规范化为vi′,
优选地,步骤1中所述选择合适的机器学习器包括以下步骤:
步骤1.1、考虑数据集中是否有缺失值和数据集大小,基于加法模型计算数据集的机器学习器适应性得分;
项目 | 符号 | 得分 |
是否有缺失值 | d1 | 有5000,没有0 |
变量数量(列数) | d2 | 每个变量记10分 |
记录数量(行数) | d3 | 每十万行记1分,不足十万行部分按十万行处理 |
步骤1.2、由计算得到的机器学习器适应性得分,选择合适的机器学习器。
适应性得分范围 | 机器学习器 |
[0,1000) | Linear Regression、Decision Tree、xgboost等 |
[1000,5000) | Adaboost、xgboost、Neural Network等 |
[5000,6000) | Decision Tree、Bayesian Linear Regression、xgboost等 |
[6000,10000) | Random Forest、xgboost、Neural Network等 |
本发明基于数据集,建立一个偏向欠拟合的机器学习模型,让模型学习数据的普遍特征,再利用训练得到的机器学习模型对数据进行预测,比较预测值和真实值的偏差。根据训练出来的数据偏差,选择一个可靠的阈值,将偏差超过阈值的数据标记为异常,从而为后续的数据分析、数据挖掘提供更高质量的数据。
附图说明
图1至图4为实施例中计算的偏差分布图;
图5为基于机器学习的海量数据中检测异常值流程图;
图6为学习器的简单训练流程图。
具体实施方式
为使本发明更明显易懂,兹以优选实施例,并配合附图作详细说明如下。
假定数据集包含三个字段,分别是taz、timeperiod、num,其中taz、num为数值型数据,timeperiod为时间日期型数据;数据集记录数量为113256行。数据样例如下表:
taz | timeperiod | num |
50012 | 2011-05-19 00:00:00 | 605 |
50012 | 2011-05-19 01:00:00 | 1015 |
… | … | … |
105284 | 2011-05-19 00:00:00 | 15 |
105284 | 2011-05-19 01:00:00 | 14 |
本发明提供的一种基于机器学习的海量数据中检测异常值的方法,包括以下步骤:
步骤1、确定数据集中的数据类型,本例中的数据集中包含两种数据类型,分别是时间日期型、数值型;
步骤1.1、基于加法模型计算机器学习器适应性得分,计算过程如下:
步骤1.2、由计算得到的机器学习器适应性得分,选择机器学习器,本实施例中的机器学习器适应性得分为32,选择xgboost作为机器学习器;
步骤2、将整个数据集输入机器学习器中进行简单训练,过程如下:
步骤2.1、根据得到的数据集时间特点,对timeperiod字段根据年、月、日、时、分、秒等进行细化特征提取,在实际情况中选择性地划分时间片段以减少计算复杂性,同时对时间序列按照时间先后进行排序,以便于后续处理查看,处理结果如下表:
步骤2.2.1、将构建完成的特征规范化(根据不同机器学习器的特性,特征规范化方法可以灵活选取);
采用标准化方法,将原始数据集归一化为均值为0、方差为1的数据集。具体实施步骤为:
1)对同一对象的时间序列v1,v2,…,vn,计算特征v1,v2,…,vn的均值μ和方差p;
2)第i个数据vi规范化为vi′,
步骤2.2、设定机器学习器参数
设定xgboost模型参数,树深度为3,学习率为0.1,树的数量为100。树的数量应该在一个合适的值,过少无法拟合出普遍性特征,使得偏差整体过大而导致模型失效,过多则使得偏差整体偏小,无法达到检测异常值的目的,所以选择在一个适中值偏小的位置,其他参数选取可以保持默认值或适当调整。
步骤2.3、输入数据特征到学习器,训练模型,根据选定的模型参数,模型的输入自变量为处理得到的特征集合,不包含需要拟合的因变量列,将数据输入提升树模型,根据不同模型特性进行迭代拟合运算,直到模型训练完成,得到一个训练好的弱学习器。
步骤3、将处理得到的数据特征重新输入训练好的弱学习器,输出个案的预测值。
步骤4、计算步骤3得到的预测值与步骤2.2.1中经过规范化的真实值的绝对偏差。由于欠拟合的模型可以学习到数据中的普遍特征,但是模型尚未完全收敛,仍有部分由于非普遍特征所表现出的数据无法预测,计算结果将得到一个较高的偏差。因此,需要设定判定异常值的容差大小,本例中设置容差大小为0.5。将偏差大于容差的数据点划分为异常点,标记为-1,反之为正常点,标记为1。图1至图4为本实施例中计算的偏差分布图。
步骤5、输出去除异常值之后的数据集,在本案例中,数据中存在的异常值如下表所示。
taz | timeperiod | num | deviation | Is_Outlier |
50012 | 2011-05-19 00:00:00 | 605 | 0.668227 | -1 |
50012 | 2011-05-25 23:00:00 | 697 | 0.554225 | -1 |
105284 | 2011-05-19 11:00:00 | 113 | 0.568723 | -1 |
105284 | 2011-05-20 04:00:00 | 90 | 0.560149 | -1 |
105284 | 2011-05-20 05:00:00 | 25 | 0.588388 | -1 |
105284 | 2011-05-20 07:00:00 | 32 | 0.604509 | -1 |
105284 | 2011-05-20 09:00:00 | 36 | 0.634291 | -1 |
105284 | 2011-05-20 12:00:00 | 77 | 0.750590 | -1 |
Claims (4)
1.一种基于机器学习的海量数据中检测异常值的方法,其特征在于,包括以下步骤:
步骤1、获取数据集,确定数据集中的数据类型,并对数据集进行回归分析,根据不同的数据类型和回归分析的特性,选择合适的机器学习器;
步骤2、将整个数据集输入机器学习器中进行简单训练,使机器学习器尽可能多的学习数据集中普遍特征的同时,尽可能少的学习数据个案中的非普遍特征,其中:简单训练包括以下步骤:
步骤2.1、在输入的数据集上构建特征,随后将构建完成的特征规范化;
步骤2.2、设定机器学习器的参数;
步骤2.3、将特征输入到机器学习器,训练机器学习器至偏欠拟合的状态以减少对非普遍特征的学习,得到一个训练好的弱学习器;
步骤3、使用训练好的弱学习器对数据集中的所有个案进行预测,得到每个个案的预测值;
步骤4、将所有个案的预测值与真实值进行比较,设置容差大小,如果个案的真实值与预测值的差异大于容差,则认定为异常值,如果个案的真实值与预测值的差异小于容差,则认定为正常值;
步骤5、输出去除异常值之后的数据集。
2.如权利要求1所述的一种基于机器学习的海量数据中检测异常值的方法,其特征在于,在所述步骤2.1中采用标准化方法将特征规范化,将原始数据集归一化为均值为0、方差为1的数据集。
3.如权利要求2所述的一种基于机器学习的海量数据中检测异常值的方法,其特征在于,利用标准化方法将特征规范化包括以下步骤:
步骤2.2.1、设输入的数据集上构建的特征为v1,v2,…,vn,计算特征v1,v2,…,vn的均值μ和方差p;
步骤2.2.2、第i特征vi规范化为vi′,
4.如权利要求1所述的一种基于机器学习的海量数据中检测异常值的方法,其特征在于,步骤1中所述选择合适的机器学习器包括以下步骤:
步骤1.1、考虑数据集中是否有缺失值和数据集大小,基于加法模型计算数据集的机器学习器适应性得分式中,d1为是否有缺失值;d2为变量数量,即列数;d3为记录数量,即行数;
步骤1.2、根据机器学习器适应性得分score选择相应的机器学习器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710913196.7A CN107844798B (zh) | 2017-09-29 | 2017-09-29 | 一种基于机器学习的海量数据中检测异常值的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710913196.7A CN107844798B (zh) | 2017-09-29 | 2017-09-29 | 一种基于机器学习的海量数据中检测异常值的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107844798A true CN107844798A (zh) | 2018-03-27 |
CN107844798B CN107844798B (zh) | 2021-05-14 |
Family
ID=61662140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710913196.7A Active CN107844798B (zh) | 2017-09-29 | 2017-09-29 | 一种基于机器学习的海量数据中检测异常值的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107844798B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492193A (zh) * | 2018-12-28 | 2019-03-19 | 同济大学 | 基于深度机器学习模型的异常网络数据生成与预测方法 |
CN109726466A (zh) * | 2018-12-26 | 2019-05-07 | 北京华大九天软件有限公司 | 一种基于机器学习训练模型的器件缓冲方法 |
CN109885598A (zh) * | 2019-01-25 | 2019-06-14 | 沈阳无距科技有限公司 | 故障识别方法、装置、计算机可读存储介质及电子设备 |
CN111222769A (zh) * | 2019-12-30 | 2020-06-02 | 河南拓普计算机网络工程有限公司 | 一种年报数据质量评价方法、装置、电子设备及存储介质 |
CN111241677A (zh) * | 2020-01-09 | 2020-06-05 | 浙江中控技术股份有限公司 | 一种基于机器学习的常减压装置生产模拟方法及系统 |
CN112767967A (zh) * | 2020-12-30 | 2021-05-07 | 深延科技(北京)有限公司 | 语音分类方法、装置及自动语音分类方法 |
US11170433B2 (en) | 2018-01-09 | 2021-11-09 | Intuit Inc. | Method and system for using machine learning techniques to make highly relevant and de-duplicated offer recommendations |
US11244340B1 (en) * | 2018-01-19 | 2022-02-08 | Intuit Inc. | Method and system for using machine learning techniques to identify and recommend relevant offers |
CN116132337A (zh) * | 2023-04-04 | 2023-05-16 | 深圳行云创新科技有限公司 | 一种基于服务网格技术的接口流量异常检测方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528850A (zh) * | 2016-11-28 | 2017-03-22 | 中通服公众信息产业股份有限公司 | 基于机器学习聚类算法的门禁数据异常检测方法 |
-
2017
- 2017-09-29 CN CN201710913196.7A patent/CN107844798B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528850A (zh) * | 2016-11-28 | 2017-03-22 | 中通服公众信息产业股份有限公司 | 基于机器学习聚类算法的门禁数据异常检测方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11170433B2 (en) | 2018-01-09 | 2021-11-09 | Intuit Inc. | Method and system for using machine learning techniques to make highly relevant and de-duplicated offer recommendations |
US11244340B1 (en) * | 2018-01-19 | 2022-02-08 | Intuit Inc. | Method and system for using machine learning techniques to identify and recommend relevant offers |
US20220051282A1 (en) * | 2018-01-19 | 2022-02-17 | Intuit Inc. | Method and system for using machine learning techniques to identify and recommend relevant offers |
CN109726466A (zh) * | 2018-12-26 | 2019-05-07 | 北京华大九天软件有限公司 | 一种基于机器学习训练模型的器件缓冲方法 |
CN109492193A (zh) * | 2018-12-28 | 2019-03-19 | 同济大学 | 基于深度机器学习模型的异常网络数据生成与预测方法 |
CN109492193B (zh) * | 2018-12-28 | 2020-11-27 | 同济大学 | 基于深度机器学习模型的异常网络数据生成与预测方法 |
CN109885598A (zh) * | 2019-01-25 | 2019-06-14 | 沈阳无距科技有限公司 | 故障识别方法、装置、计算机可读存储介质及电子设备 |
CN111222769A (zh) * | 2019-12-30 | 2020-06-02 | 河南拓普计算机网络工程有限公司 | 一种年报数据质量评价方法、装置、电子设备及存储介质 |
CN111241677A (zh) * | 2020-01-09 | 2020-06-05 | 浙江中控技术股份有限公司 | 一种基于机器学习的常减压装置生产模拟方法及系统 |
CN112767967A (zh) * | 2020-12-30 | 2021-05-07 | 深延科技(北京)有限公司 | 语音分类方法、装置及自动语音分类方法 |
CN116132337A (zh) * | 2023-04-04 | 2023-05-16 | 深圳行云创新科技有限公司 | 一种基于服务网格技术的接口流量异常检测方法 |
CN116132337B (zh) * | 2023-04-04 | 2023-06-13 | 深圳行云创新科技有限公司 | 一种基于服务网格技术的接口流量异常检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107844798B (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844798A (zh) | 一种基于机器学习的海量数据中检测异常值的方法 | |
Kitano et al. | Corn plant counting using deep learning and UAV images | |
Alajrami et al. | Type of tomato classification using deep learning | |
CN106203395B (zh) | 基于多任务深度学习的人脸属性识别方法 | |
Gümüşçü et al. | Estimation of wheat planting date using machine learning algorithms based on available climate data | |
Lauguico et al. | A comparative analysis of machine learning algorithms modeled from machine vision-based lettuce growth stage classification in smart aquaponics | |
CN107527070B (zh) | 维度数据和指标数据的识别方法、存储介质及服务器 | |
Sabrol et al. | Intensity based feature extraction for tomato plant disease recognition by classification using decision tree | |
CN101980210A (zh) | 一种标的词分类分级方法及系统 | |
Kamath et al. | Classification of paddy crop and weeds using semantic segmentation | |
Vidović et al. | Center-based clustering for line detection and application to crop rows detection | |
Akshatha et al. | Implementation of machine learning algorithms for crop recommendation using precision agriculture | |
CN106803257A (zh) | 一种作物病害叶片图像中病斑的分割方法 | |
CN107491447A (zh) | 建立查询改写判别模型、查询改写判别的方法和对应装置 | |
Ranjani et al. | Crop yield prediction using machine learning algorithm | |
Lu et al. | Monitoring growth rate of lettuce using deep convolutional neural networks | |
CN111414586A (zh) | 一种环境监测方法及系统 | |
Kim et al. | Fruit tree disease classification system using generative adversarial networks | |
CN104850862B (zh) | 一种基于单位代价收益敏感决策树的分类方法 | |
CN104573701A (zh) | 一种玉米雄穗性状的自动检测方法 | |
CN104572915A (zh) | 一种基于内容环境增强的用户事件相关度计算方法 | |
Wadhawan et al. | Rice plant leaf disease detection and severity estimation | |
CN113220827A (zh) | 一种农业语料库的构建方法及装置 | |
CN112948619A (zh) | 基于深度学习的手写棋谱辅助录入方法及装置 | |
CN107292353A (zh) | 一种果树分类方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |