离群点检测和新颖性检测

news2025/7/22 16:59:43

引言

在异常检测领域中,我们常常需要决定新观测点是否属于与现有观测点相同的分布, (则称它们为inlier),或被认为是不同的(outlier).
在这里,必须做出两个重要的区别:

  • 异常值检测:outlier detection
    训练数据包含异常值,这些异常值被定义为远离其他异常值的观察值,因此,异常值估计器试图训练数据中最集中区域。忽略不正常观察。
  • 新颖点检测
    训练数据不受异常值的污染,我们有兴趣检测新观测是否是异常值,这种情况下, 异常值也被称为新颖点。

异常值检测和新颖性检测都属于异常检测,都是用来检测异常的,不常见一些观察值。
异常值检测是一种无监督的方法,新颖点检测是一种半监督的异常检测方法。在异常值检测情况下,异常值不能形成密集的簇,因为异常值估计器假设异常值总是位于低密度区域。相反,在新颖检测背景下,新颖点可以形成密集的簇,只要它们处于训练数据的低密度区域中。
SKlearn框架提出了一套机器学习工具,可用于新颖性检测和异常值检测,这个 策略通过从数据中以无人监督的方法学习对象来实现的。

estimator.fit(X_train)

新的观测值可以用如下的方法做预测,或判断。

estimator.predict(X_test)

这里,正常的点(内部点,inliers)的标签是1,异常点是-1.预测方法利用估计器计算原始评分函数的阈值,可以通过scores-samples方法访问该评分函数,而阈值可以通过contamination参数来控制

  • decision_function方法也可以从评分函数中定义,负值是异常值,非负值是内部点

estimator.decision_function(X_test)

异常值检测(Outlier Detection)

下图是sklearn中离群点检测算法的比较,局部异常因子(LOF)不现时黑色决策边界,因为当用于异常值检测时,其没有predict方法用于新数据
在这里插入图片描述
ensemble.IsolationForest(孤立森林)和neighbors.LocalOutlierFactor(局部异常因子)在这里的数据集上表现得相当好。 已知svm.OneClassSVM对异常值敏感,因此对异常值检测的效果不佳。 最后,covariance.EllipticEnvelope假设数据是高斯数并学习椭圆

新颖性检测

  • 新颖性检测一般是这样一种场景:考虑具有p维特征的、具有相同分布的n个观察值构成的数据集。 现在考虑我们再向该数据集添加一个新的观察值。 若新观察值与其他观察值的结果有不同,我们可以怀疑它是否regular,即它是不是来自同一个分布。或者恰恰相反,若它另与其他值非常相似,我们无法将其与原始观察值区分开来。这是新颖性检测工具和方法所解决的问题

  • 一般来说,新颖点检测将学习一个粗略的边界,界定初始观测分布的轮廓,绘制于p维空间空间中。 然后,如果新来的观察值位于边界划分的子空间内,则认为它们来自与初始观测相同的种类。 否则,如果他们位于边境之外,我们可以说他们是不正常的

  • One-Class SVM是一种新颖性检测的手段,在sklearn框架下,它可以从svm模块中调用到(svm.OneClassSVM)。它需要选择内核和标量参数来定义边界。 通常选择RBF内核,尽管没有确切的公式或算法来设置其带宽参数。 这是scikit-learn实现中的默认值。ν参数,也称为one-class SVM的边界,对应于在边界外发现新的但有规律的观察的概率

sklearn.svm.OneClassSVM

class sklearn.svm.OneClassSVM(kernel=’rbf’, degree=3, gamma=’auto_deprecated’, coef0=0.0, tol=0.001, nu=0.5, shrinking=True, cache_size=200, verbose=False, max_iter=-1, random_state=None)[source]

一种用于异常检测的无监督方法。
其参数的具体含义请查看官方使用文档:
在这里插入图片描述
它的属性有:
在这里插入图片描述

最常用的两个方法:

训练和预测
在这里插入图片描述

离群点检测

离群点检测:在很多领域中具有广泛的应用,离群点检测的算法也各种各样,各种类型各种算法难以计数,我们研究是提出新的效果更好的离群点检测方法。(模型)
离群点检测,整体我认为包含有3部分,分别是**:数据集、模型、结果**。

数据集

离群点检测所用的数据集一般包含有合成数据集与真实数据集。那么我们从相对初始的数据集开始进行处理,一步步进行介绍。

对数据处理,我认为基本包含以下几个过程:

  • 对数据集中缺失数据的处理
  • 特征编码
  • 正则化、特征缩放、标准化等。
  • PCA降维,看看数据的样子,重要特征分析。
  • 对数据集中的特征进行分析,构建相关系数矩阵,绘制heatmap图。

数据集中缺失数据的处理

现实生活中,收集到的原始数据一定经常存在缺失值的现象,部分UCI数据集上公开的数据也存在缺失,针对这个现象,在机器学习领域,我们一般的操作是用均值填补缺失值,换言之,如果矩阵第 i i i行第 j j j列缺失了某个值,那么我们就用第 j j j列的平均值去填补这个缺失值,据我了解,在实际应用中,还有用众数、中位数等方式去填补,但很显然,没有人用最大值和最小值等极端的方式去填补。

特征编码

针对现实世界中的各种现象,为了能将其进行计算,我们通常要用到特征编码技术。比如羊,狗等,收集到的数据可能在某一列,它的值是羊狗之类的文字,这种我们无法直接进行计算,需要有某种方式能将其转换成实数。一个很自然的想法是,用1表示羊,用2表示狗,等等。但是,这种方式存在一个问题,什么问题呢?这样子的话,就默认狗比羊大,它们之间这种表示方式的话,就存在了顺序关系,但其实应该是没有顺序关系的。那用什么方式呢?one-hot编码

one-hot编码是一种很常见的特征编码方式,还以上段中的羊、狗的方式举例说明,因为我们有两个类(羊、狗)那么,我们可以用10.01的二进制方式来表示,这样两个样本之间的距离是1 ,不存在谁比谁更大更好的关系。
除了one-hot编码之外,还有虚拟编码、效果编码、特征散列化、分箱计数等方法。后续用到什么编码技术,然后学习什么编码技术,全部都将其搞定都行啦的样子与打算。

特征缩放和标准化等

常见的方式包括:

  • max-min归一化
  • zscore标准化

离群点检测算法分类

在这里插入图片描述

总结

慢慢的将各种模型算法及各种技术,全部将其搞定都行啦,研究透彻即可!全部将其完整搞全面化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/35591.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

List接口与实现类

目录 一、List接口 1.特点: 2.方法: 二、List接口的使用 三、List实现类 1.ArrayList(重点) (1)特点 (2)示例 (3)源码分析 2.Vector (1…

Python列表推导式——List

目录 遍历列表 range函数 列表推导式(★★★★★)五星技能点 五万次【列表推导式】与【for】遍历计算消耗时间对照表: 列表推导式逻辑判断 遍历列表 通过for in循环来遍历集合列表 range函数 我们基础range函数是参数范围是range(start,stop),在下…

利用天翎知识文档+群晖NAS搭建企业知识库,享用智能检索

编者按:检索是知识文档管理中常见切十分重要的功能,搭建企业知识库必不可少。本文分析了智能检索的特点,并介绍了其在知识文档管理系统中的实现。 关键词:智能检索,移动端,群晖NAS 知识管理中的检索功能 …

基于Java+SpringBoot+Mybaties+Vue 在线问卷调查系统设计与实现

一.项目介绍 本项目 可支持注册、登录 创建问卷、设置问卷内容(支持单选、多选、问答题) 分享问卷链接、分析问卷 查看问卷库、以及填写问卷内容 等功能 该项目采用 Springboot Mybaties Vue element UI 框架实现 二.环境需要 1.运行环境&#xff1…

教育科技创新即将崛起

随着“双减”政策的不断落实,真正具有创新精神和懂得教育科技的人,他们所创造的新模式、新生态即将崛起,属于教育科技和创新的春天即将到来。 那么,教育科技化和创新在不同的教育场景有什么体现呢? 我们先来看看目前…

【雷达通信】雷达探测项目仿真(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

OCR-paddleocr

PaddleOCR 分为 Detection(文本检测)、Direction classifier(方向分类器)和 Recognition(文本识别)三部分,因此需要三个模型。一、介绍 PaddleOCR是一款超轻量、中英文识别模型目标是打造丰富、…

【软件测试】测试人填坑?测试工作中的坑成长经历,填着填着就成了神......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 小刘: 之…

深度强化学习DRL现存问题和训练指南(D3QN(Dueling Double DQN))

目录 强化学习 问题 好用的算法标准 表现好 减小学习曲线的波动 On-Policy和off-Policy区别 学习方式 采样数据利用 学习本质 优缺点 DQN 创新点 优点 缺点 MDP和POMDP 结果图 DQN DDQN Dueling DQN 参数 iteration episode epoch Batch_Size Experime…

全新电商版本答案——全民拼购,越拼越得,白嫖产品不是梦

根据国家市场监督管理总局自2020年12月1日起发布的《规范促销暂行规定》第十二条的规定,为了推广自己的平台商城或商品,获取流量,采用新购买模式运营的平台通过附带给未被选中的参与者一定的奖金或者其他利益,属于有奖销售。 在此…

RS编码译码误码率性能matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 纠错编码技术在卫星通信、移动通信及数字存储等领域已获得了广泛的应用。RS码作为其中最重要的码类之一,具有优良的纠随机错误和突发错误的能力,被空间数据系统咨询委员会(CCSDS)作为一种…

记录安装Cytoscape的过程

一、安装前的准备工作 1、先java 看了大佬们的安装教程: 看到说先要安装对应的Java才能下载相应的cytoscape,因cytoscape是基于java的软件。 cytoscape安装教程1 cytoscape安装教程2 然后,自查了自己电脑上的Java版本,应该为jdk 11&#x…

【js】【爬虫】fetch + json-server 快速搭建爬虫服务器环境及数据后续处理(突破session缓存大小限制)

文章目录导读需求开发环境json-server使用安装json-server创建数据文件db.json运行服务器修改默认端口json-server提供的线上服务(不推荐)fetch上传数据到json-server服务器通过fetch新增数据报错Error: Insert failed, duplicate id数据后续处理打开导入…

ShellBrowser Delphi,Delphi组件功能和工具

ShellBrowser Delphi,Delphi组件功能和工具 ShellBrowser基本上被描述为集合的一部分,它能够为用户和开发人员提供Delphi的程序员,以便轻松灵活地访问windows shell性能。ShellBrowserComponents Delphi的使用基本上是能够模拟windows资源管理器的变体。…

阅读源码时:idea中如何使用todo标记、活动模板 (史上最全)

接下来, 尼恩要带大家 完成一个 超级牛逼的 大厂offer 收割机项目—— 100Wqps 三级组件 实操, 实操中,用到 caffeine 并且,尼恩要带大家 穿透式 、起底式的 学习 caffeine 的源码和架构, caffeine 的源码 特别复杂…

Linux之service服务-实现程序脚本开机自启

一、什么是.service文件? Linux中.service文件是某项服务对应的配置文件,可用于systemd管理和控制的服务的设置。 .service 文件通常包含3个模块: [Unit] 控制单元,表示启动顺序和依赖关系。[Service] 服务,表示…

LeetCode HOT 100 —— 23.合并K个升序链表

题目 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 思路 在做本题之前,先考虑一下,如何合并两个有序链表,见 21.合并两个有序链表 最直接的思路就是&am…

聊跨境:一年增长60%!人人都说跨境电商难做,但红利仍在(Starday)

随着经济全球化的发展,互联网的普及和跨境运输网络的日益发达,世界各国之间的贸易往来越来越频繁,跨境电商已然成为时代的主题。 近年来国家出口跨境电商利好政策的连续出台,加上《电商法》的保驾护航以及跨境电商从业者的积极推…

逻辑回归(logistic regression)

逻辑回归 一、假设函数 hθ(x)g(θTX)11e−θTX(Sigmoid函数)h_\theta(x) g(\theta^TX)\frac{1}{1e^{-\theta^TX}} \qquad \qquad \qquad (Sigmoid函数) hθ​(x)g(θTX)1e−θTX1​(Sigmoid函数) X取值范围是(−∞,∞)(-\infty, \infty)(−∞,∞) Y的取值范围是(0, 1) {θT…

基于FPGA的高速数据采集系统实现

欢迎订阅《FPGA学习入门100例教程》、《MATLAB学习入门100例教程》 目录 一、理论基础 二、核心程序 2.1锁存器模块 2.2双口地址计数器模块 2.3双口RAM模块 2.4时钟分频模块 三、测试结果 一、理论基础 高速数据采集在军用民用领域都有着广泛的应用。高速数据采集系统在…