在大型数据集上训练异常检测模型并选择正确的模型 [关闭]

     2023-03-12     96

关键词:

【中文标题】在大型数据集上训练异常检测模型并选择正确的模型 [关闭]【英文标题】:Training Anomaly detection model on large datasets and chossing the correct model [closed] 【发布时间】:2021-02-02 01:07:37 【问题描述】:

我们正在尝试为应用程序日志构建异常检测模型。

预处理已经完成,我们已经构建了自己的 word2vec 模型,该模型在应用程序日志条目上进行了训练。

现在我们有一个 150 万行 * 100 列的训练数据

其中每一行是日志条目的向量化表示(每个向量的长度为 100,因此为 100 列)

问题在于大多数异常检测算法(LOF、SOS、SOD、SVM)都无法针对这一数据量进行扩展。我们将训练规模减少到 500K,但这些算法仍然挂起。在 POC 样本数据上表现最好的 SVM,没有让 n_jobs 在多核上运行它的选项。

一些算法能够完成,例如隔离森林(具有低 n_estimators)、直方图和聚类。但这些无法检测到我们故意放入训练数据的异常情况。

有人知道我们如何为大型数据集运行异常检测算法吗?

在标准异常检测技术中找不到批量训练的任何选项。我们应该研究一下神经网络(自动编码器)吗?

选择最佳模型:

鉴于这是无监督学习,我们选择模型的方法如下:

在日志条目训练数据中,插入小说中的条目(比如指环王)。此日志条目的矢量表示将不同于日志条目的其余部分。

在各种异常检测算法上运行数据集时,查看哪些算法能够检测到小说中的条目(这是异常)。

当我们尝试在一个非常小的数据集(1000 个条目)上运行异常检测时,这种方法很有效,其中日志文件使用 google 提供的 word2vec 模型进行矢量化。

这种方法合理吗?我们也对其他想法持开放态度。鉴于它是一种无监督学习算法,我们必须输入一个异常条目并查看哪个模型能够识别它。

投入的污染比例为0.003

【问题讨论】:

看看你能不能在这里找到一些东西-github.com/pankajmishra000/… 您的 150 万个数据点用于多长时间的时间窗口?您确定将所有内容合并在一起是否有意义。有时最好只拥有最后一个月等的数据,因为正常模式往往会随着时间而改变 【参考方案1】:

根据您的解释,您似乎正在处理新奇检测问题。新颖性检测问题通常是半监督问题(例外情况或方法可能会有所不同)。

现在,如果您使用批处理,可以解决大矩阵大小的问题。这可以帮助你-https://scikit-learn.org/0.15/modules/scaling_strategies.html

最后是的,如果你可以使用深度学习,你的问题可以使用无监督学习或半监督学习以更好的方式解决(我推荐这个)。

【讨论】:

Pytorch 默认数据加载器卡在大型图像分类训练集上

】Pytorch默认数据加载器卡在大型图像分类训练集上【英文标题】:Pytorchdefaultdataloadergetsstuckforlargeimageclassificationtrainingset【发布时间】:2020-05-2703:07:15【问题描述】:我正在Pytorch中训练图像分类模型,并使用他们的defaultdataloader... 查看详情

模型选择欠拟合和过拟合(underfit-overfit)(代码片段)

...选择、欠拟合和过拟合训练误差和泛化误差模型选择验证数据集KKK折交叉验证欠拟合和过拟合模型复杂度训练数据集大小多项式函数拟合实验生成数据集定义、训练和测试模型三阶多项式函数拟合(正常)线性函数拟合&#... 查看详情

模型训练技巧

...型;如果效果一般,可能需要增加正则化,或者增加训练数据;欠拟合处理策略 当模型在训练集上的表现结果并不好的时候,在 查看详情

如何评估不同模型在一个数据集上的性能?

】如何评估不同模型在一个数据集上的性能?【英文标题】:Howtoevaluatetheperformanceofdifferentmodelononedataset?【发布时间】:2016-02-1307:20:18【问题描述】:我想评估不同模型的性能,例如SVM、RandForest、CNN等,我只有一个数据集。因此... 查看详情

组合两个预训练模型的输出(在不同数据集上训练)并使用某种形式的二元分类器来预测图像(代码片段)

我有两个预训练模型。Model_1=InceptionModelwithImagenetDataset(1000classes)My_Model=InceptionModeltrainedwithacustomdataset(20classes)通过转移学习和微调我想将两个模型(Model_1和My_Model)的输出结合在一个新层中。新图层应使用一些二元分类器来判断... 查看详情

交叉验证

参考技术A  交叉验证(Cross-Validation)可能是数据科学家在进行统计分析时最重要的技术之一,因为在实际中经常需要验证一个ML模型的稳定性--模型在新数据集上的泛化能力。它需要确保由数据集得到的ML模型已经获得... 查看详情

利用机队数据训练的性能模型检测飞机异常

...控(DFM)通过将大规模多级回归模型拟合到整个数据集,将数据转换为异常运行飞机、异常飞行趋势和个别飞行异常的列表。回归参数包括空气动力系数和飞机制造商在飞行试验中通常确定的其他飞机 查看详情

利用机队数据训练的性能模型检测飞机异常

...控(DFM)通过将大规模多级回归模型拟合到整个数据集,将数据转换为异常运行飞机、异常飞行趋势和个别飞行异常的列表。回归参数包括空气动力系数和飞机制造商在飞行试验中通常确定的其他飞机 查看详情

带有污染训练数据的深度时间序列异常检测模型的鲁棒学习

摘要时间序列异常检测(TSAD)是物联网时代一项重要的数据挖掘任务,有着广泛的应用。近年来,大量基于深度神经网络的方法被提出,在解决各种领域的挑战性TSAD问题方面,它们的性能明显优于传统方法。然而&#x... 查看详情

机器学习项目流程选择并训练模型(代码片段)

选择并训练模型至此,我们已明确了问题,并对数据进行了预处理。现在我们选择并训练一个机器学习模型。 在训练集上训练模型这个过程相对来说较为简单,我们首先训练一个线性回归模型:fromsklearn.linear_modelimportLinearReg... 查看详情

深度学习-计算机视觉-基础学习笔记-01(代码片段)

图像分类的思想:收集大量已知图像数据并带有正确的标签,将以往通过一个函数传入一张图片并返回图片的类型的这个思想转变成,通过俩个函数,第一个函数传入大量的图片并通过该函数训练返回一个模型,该... 查看详情

Tensorflow:在具有不同类别数量的新数据集上微调预训练模型

】Tensorflow:在具有不同类别数量的新数据集上微调预训练模型【英文标题】:Tensorflow:Finetunepretrainedmodelonnewdatasetwithdifferentnumberofclasses【发布时间】:2017-06-0415:24:17【问题描述】:如何在新数据集上微调TensorFlow中的预训练模型... 查看详情

在多个数据集上训练 Google-Cloud-Automl 模型

】在多个数据集上训练Google-Cloud-Automl模型【英文标题】:TrainingGoogle-Cloud-AutomlModelonmultipledatasets【发布时间】:2021-10-1606:01:32【问题描述】:我想使用多个数据集在gcp的顶点ai上训练一个automl模型。我想将数据集分开,因为它们... 查看详情

保存的随机森林模型在同一数据集上产生不同的结果

】保存的随机森林模型在同一数据集上产生不同的结果【英文标题】:SavedRandomForestmodelproducesdifferentresultsonthesamedataset【发布时间】:2020-11-2806:09:41【问题描述】:我在使用保存在磁盘上的随机森林模型并使用完全相同的数据集... 查看详情

每次我在同一个数据集上训练模型时,分类精度都不同

】每次我在同一个数据集上训练模型时,分类精度都不同【英文标题】:DifferentclassificationaccuracyeverytimeItrainmodelsonthesamedataset【发布时间】:2019-09-1012:40:03【问题描述】:我正在使用相同的特征提取器在同一数据集上训练三个不... 查看详情

我想在 UCF_CC_50 数据集上训练 CSRNet 模型,该数据集的图像总数为 50。并面临类似的问题

】我想在UCF_CC_50数据集上训练CSRNet模型,该数据集的图像总数为50。并面临类似的问题【英文标题】:IwanttotraintheCSRNetmodelonUCF_CC_50datasetwhichhastotalnumberofimages50.andfaceaproblemlike【发布时间】:2021-08-2105:50:34【问题描述】:我想在UCF_... 查看详情

python:在验证集上调整模型的参数

...ionset【发布时间】:2017-10-1218:52:27【问题描述】:理论将数据集分为三组:用于训练模型的训练集、用于调整参数的验证集和用于评估性能的测试集。但是,已经有GridSearchCV对训练集进行交叉验证以找到最佳参数。但是如何使用... 查看详情

机器学习(ml)七之模型选择欠拟合和过拟合(代码片段)

...error)和泛化误差(generalizationerror)。前者指模型在训练数据集上表现出的误差,后者指模型在任意一个测试数据样本上表现出的误差的期望,并常常通过测试数据集上的误差来近似。计算训练误差和泛化误差可以使用之前介绍... 查看详情