【机器学习300问】39、高斯分布模型如何实现异常检测?

一、异常检测是什么?

(1)举几个例子

        ① 信用卡交易异常检测

        在信用卡交易数据分析中,如果某个用户的消费习惯通常是小额且本地化消费,那么突然出现一笔大额且跨国的交易就可能被标记为异常。

        ② 电机温度异常检测

        在电机运行数据分析中,如果一台电机的历史温度数据显示其在正常负载和冷却条件下通常保持在一个稳定的中低温区间,那么突然出现一次大幅度升温或高温持续不退的现象,会被标记为潜在的异常情况,可能预示着电机存在过载、散热不良或其他机械故障的风险。 

(2)异常检测的定义

        异常检测指的是识别并标记那些显著偏离常规模式或预期行为的数据点的过程。它关注的是找出与大多数数据显著不同的个体或事件。异常检测通常应用于安全监控、故障预测、信用欺诈检测等诸多场景中,它的目标不是划分数据,而是找出潜在的异常现象。

异常检测
异常检测

二、高斯分布的基本知识

(1)高斯分布是什么?

        高斯分布(Gaussian distribution),也称为正态分布(Normal distribution),是一种连续概率分布,高斯分布的图形是对称的,关于均值μ对称,当μ=0且σ=1时,分布被称为标准正态分布。如果我们有一组数x_1, x_2, \dots, x_n

高斯分布曲线图
  • 均值(\mu:高斯分布的中心点,也是数据集的平均值,所有观测值围绕此点集中分布。

\mu = \frac{1}{n}\sum_{i=1}^{n}x_i

  • 标准差(\sigma:衡量数据相对于均值分散的程度。

\sigma = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(x_i - \mu)^2}

  • 方差(\sigma ^2:是各个数据点与它们的平均数(均值)差的平方的平均数。

\sigma ^2 = \frac{1}{n}\sum_{i=1}^{n}(x_i - \mu)^2

        高斯分布的重要性质在于它在自然界和社会科学中的普遍适用性,很多随机过程在一定条件下都会趋向于高斯分布,这被称为中心极限定理。

【注】机器学习中方差通常除以n而非统计学中的n-1。在实际使用中区别很小,几乎可以忽略不计。在机器学习领域大部分人更习惯使用n-1。

(2)它的概率密度函数长什么样?

        高斯分布的概率密度函数是一个关于变量x的函数公式为:

p(x|\mu, \sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}

其中x是随机变量,\mu是期望值(均值)\sigma ^2是方差,\sigma是标准差。

(3)什么是多维高斯分布?

        多维高斯分布(Multivariate Gaussian Distribution),也称为多元正态分布或多变量正态分布,是一种在多维空间中的概率分布模型,它扩展了一维正态分布的概念到多个变量的情况。在多维空间中,每个观察数据点都是一个向量而不是单个数值。概率密度函数(Probability Density Function, PDF)公式如下:

p(\mathbf{x}; \boldsymbol{\mu}, \mathbf{\Sigma}) = \frac{1}{\sqrt{(2\pi)^d |\mathbf{\Sigma}|}} \exp\left(-\frac{1}{2}(\mathbf{x} - \boldsymbol{\mu})^\top \mathbf{\Sigma}^{-1} (\mathbf{x} - \boldsymbol{\mu})\right)

        假设我们正在研究一所大学新生入学考试成绩的数据,其中包括了数学(Math)和英语(English)两门科目的成绩。我们可以假设这些成绩整体上服从多维高斯分布。如果新录取的一名学生的成绩向量为X_{new}=[x_m,x_e],我们可以通过多维高斯分布计算出这个成绩向量的概率密度函数值,然后与预设的阈值比较,以判断这个成绩组合是否异常,即是否显著偏离大部分学生的成绩分布。

        多维高斯分布的特点是其概率密度函数呈现出一个椭球状的分布形态,其中椭球的中心对应均值向量,椭球的形状和方向由协方差矩阵决定。

二维高斯分布
二维高斯分布

三、高斯分布模型

        在实际应用中,高斯分布(正态分布)常被用来开发异常检测算法,尤其是在一维或多维连续数据中。这种情况下,假设数据服从高斯分布(这里埋个坑后续出个文章讲讲为什么要假设符合高斯分布?以及万一数据不符合高斯分布该怎么办呢?),我们可以基于高斯分布的概率密度函数(PDF)来评估数据点的“正常”程度。

(1)高斯分布异常检测算法

        利用高斯分布模型来解决异常检测问题,对于给定的数据集x_1, x_2, \dots, x_m针对每一个特征计算出\mu\sigma^2的估计值:

\mu_j = \frac{1}{m}\sum_{i=1}^{m}x_j^{(i)}

\sigma ^2_j = \frac{1}{m}\sum_{i=1}^{m}(x_j^{(i)} - \mu_j)^2

模型的公式为:

p(x)=\prod_{j=1}^{n}p(x_j|\mu_j,\sigma_j^2)=\prod_{j=1}^{n}\frac{1}{\sqrt{2\pi }\sigma_j}e^{-\frac{(x_j-\mu_j)^2}{2\sigma_j^2}}

        根据训练集中的样本点计算出了均值和方差后就拟合得到了模型p(x)(其实就是PDF),然后你如果给定新的一个样本点x_{new},想知道它到底是不是异常的样本数据,就可以把它带入公式计算p(x_{new}),当p(x_{new})< \varepsilon时说明是异常的数据。

        上面算法中我们选择一个\varepsilon,将p(x)= \varepsilon作为我们的判定边界,当时大于阈值时预测数据为正常数据,否则为异常。下面这一篇文章种详细介绍了我们该如何确定阈值\varepsilon

【机器学习300问】40、如何评估一个异常检测系统?icon-default.png?t=N7T8http://t.csdnimg.cn/xZoJp

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

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

相关文章

常见的几个JVM调优场景

文章目录 调优案例案例1&#xff1a;应对高并发、短生命周期对象的应用案例2&#xff1a;防止频繁Full GC导致延迟案例3&#xff1a;优化服务响应时间&#xff0c;减少停顿时间案例4&#xff1a;监控和诊断内存泄露 一些参数堆内存大小元空间大小垃圾收集器相关参数垃圾收集行为…

spring boot学习第十四篇:使用AOP编程

一、基本介绍 1&#xff0c;什么是 AOP &#xff08;1&#xff09;AOP 为 Aspect Oriented Programming 的缩写&#xff0c;意为&#xff1a;面向切面编程&#xff0c;通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 &#xff08;2&#xff09;利用 AOP…

流畅的 Python 第二版(GPT 重译)(五)

第九章. 装饰器和闭包 有人对将这个功能命名为“装饰器”的选择提出了一些抱怨。主要的抱怨是该名称与其在 GoF 书中的用法不一致。 名称 decorator 可能更多地归因于其在编译器领域的用法—语法树被遍历并注释。 PEP 318—函数和方法的装饰器 函数装饰器让我们在源代码中“标记…

色环电感的工艺结构原理及选型参数总结

🏡《总目录》 目录 1,概述2,工作原理3,结构特点4,工艺流程4.1,磁芯制备:4.2,线圈绕制:5,选型参数5.1,电感值(L)5.2,电流容量(I)5.3,品质因数(Q)5.4,自谐振频率(SRF)5

windows下常用的DOS命令

DOS&#xff08;Disk Operating System&#xff09;是 Windows 操作系统中的命令行接口&#xff0c;也可以叫命令行窗口。一提到这个&#xff0c;很多初入行计算机的朋友们就是很犯怵&#xff0c;不知所错&#xff0c;好高端&#xff0c;有没有。界面如下&#xff1a; 普通用户…

【小程序开发】出行 API 汇总(一)

ty.outdoor.openOutdoorCyclingNavigation 跳转骑行导航页面 引入 import { openOutdoorCyclingNavigation } from ray-js/ray; 注意&#xff1a;当前功能仅在智慧出行App开通使用&#xff0c;需要在基础库2.15.14及以上版本使用。 参数 Object object 属性类型默认值必填…

分享一些关于在实施面试过程被问到的问题

1&#xff0c;说说你对行业现状和发展趋势的看法 一、行业现状&#xff1a; 技术创新&#xff1a;科技行业在近年来取得了显著的技术突破&#xff0c;包括人工智能、大数据、云计算、物联网等领域的发展。这些技术的创新为各行各业带来了前所未有的变革。竞争激烈&#xff1a;…

ARM与X86架构的简单剖析与未来展望

引言 在计算机硬件领域&#xff0c;ARM和X86架构无疑是两种最具影响力的处理器架构。它们各自在全球范围内应用于广泛的设备中&#xff0c;从嵌入式系统到服务器&#xff0c;再到个人电脑和移动设备&#xff0c;塑造了现代计算技术的面貌。本文将深入解析ARM与X86架构的异同&am…

【样式】Html 卡片样式

【样式】Html 卡片样式 .card {width: calc(40% - 10px);height: 160px;display: inline-block; /* 或者 flex / block 根据布局需求 */position: relative;margin: 10px; /* 添加边距以确保卡片之间有间距 */padding: 15px; /* 内边距为内容提供空间 */background-color: rgba…

【Python爬虫】将某网页中表格里的十六进制颜色值转换成十进制,再生成新表格

【需求】 在 https://www.cnblogs.com/heyang78/p/5712076.html 上有360种颜色及代码&#xff0c;但很遗憾没有十进制的RGB值&#xff0c;使用时需要自己转换一下&#xff0c;此过程依赖网络或计算器&#xff0c;颇为不便。因此&#xff0c;拟设计一爬虫将原有表格内容取出&am…

【Linux】初识进程

目录 操作系统是什么 设计操作系统的目的 操作系统的定位 如何理解管理 管理的本质 管理的例子 计算机的管理概念图 操作系统管理逻辑的六字真言 系统调用和库函数的概念 进程 进程的概念 什么是PCB&#xff1f; PCB的主要内容 如何查看进程&#xff1f; 通过系统…

NO9 蓝桥杯单片机实践之串口通信的使用

1 回顾 串口通信的代码编写结构还是与中断一样&#xff0c;不同的是&#xff1a; 初始中断函数条件涉及到串口通信相关的寄存器和定时器1相关的寄存器&#xff08;定时器1用于产生波特率&#xff09;&#xff0c;但初始条件中的中断寄存器只考虑串口通信而不考虑定时器1。 vo…

CMake笔记之将任意官方库作为third_party完整地包含在工程项目中使用的通用模板

CMake笔记之将任意官方库作为third_party完整地包含在工程项目中使用的通用模板 —— 杭州 2024-03-20 凌晨1:06 code review! 文章目录 CMake笔记之将任意官方库作为third_party完整地包含在工程项目中使用的通用模板1.通用CMakeLists.txt模板2.GPT4给出的改进建议3.git clon…

spring boot整合elasticsearch实现查询功能

第一步、添加依赖&#xff08;注意版本对应关系&#xff09;根据spring boot版本选择合适的版本 <dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch</artifactId><version>7.6.2</version></dependenc…

华为综合案例-普通WLAN全覆盖配置(2)

组网图 结果验证 在AC_1和AC_2上执行display ap all命令&#xff0c;检查当前AP的状态&#xff0c;显示以下信息表示AP上线成功。[AC_1] display ap all Total AP information: nor : normal [1] ExtraInfo : Extra information P : insufficient power supply ---…

wireshark抓tcp包使用指南

本博文源于笔者不断探索加上去网络总结获得的经验&#xff0c;撰写wireshark如何抓tcp包 文章目录 1、打开wireshark2、选择网络源3、搜索ip地址与tcp条件4、看灰色的条纹 1、打开wireshark 2、选择网络源 选择自己当前的ip地址适用于的网络源&#xff0c;比如这里选择“以太…

ideaSSM 高校公寓交流员管理系统bootstrap开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 idea 开发 SSM 高校公寓交流管理系统是一套完善的信息管理系统&#xff0c;结合SSM框架和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&…

get_local_ip.bat:快速获取IPv4地址

批处理脚本&#xff0c;用于在Windows命令提示符下获取本地计算机的IPv4地址。 echo off ipconfig | findstr IPv4 pause - echo off&#xff1a;这会关闭命令提示符窗口中的命令回显&#xff0c;使得在运行脚本时不会显示每条命令的执行结果。 - ipconfig&#xff1a;这是一…

ELK快速搭建图文详细步骤

目录 一、下载地址二、安装docker-compose(已安装则跳过)三、初始化ELK1. 赋予/setup/entrypoint.sh执行权限2. 初始化 docker-elk 所需的 Elasticsearch 用户和组3. 重置默认用户的密码4. 替换配置文件中的用户名和密码5. 重启 Logstash 和 Kibana&#xff0c;使用新密码重新连…

蓝桥杯算法基础(26)子数组最大累加和,子矩阵最大累加和

子数组最大累加和 给定一个数组arr,返回子数组的最大累加和 例:arr[1,-2,3,5,-2,6,-1];所有的子数组中[3,5,-2,6]可以累加出最大的和12&#xff0c;所以返回12static void findByForce(int[] arr){int manSumarr[0];for(int i0;i<arr.length;i){int sumarr[j];//某个元素为子…