12.异常检测

12.1 异常检测的应用

异常检测最常见的应用是欺诈检测;

如果你有很多用户,每个用户都在从事不同的的活动,你可以对不同的用户活动计算特征变量x^{(i)},然后可以建立一个模型来表示用户表现出各种行为的可能性,用来表示用户行为对应的特征向量。最后可以用建立的模型p(x)来发现网站上行为奇怪的用户,只需要查看哪些用户的p(x)概率小于\varepsilonp(x)< \varepsilon

第二类应用就是工业制造方面,比如飞机引擎问题;

第三类应用就是数据中心的计算机监控。

12.2 高斯分布(正态分布)

可以用高斯分布来进行异常检测

 什么是参数估计?

假设有一个数据集,其中有m个样本,从x^{(1)},...,x^{(m)},假设它们都是实数。参数估计就是:猜测这些样本来自一个高斯分布的总体,每个样本x^{(i)}服从高斯分布(x^{(i)}\sim N(\mu ,\sigma ^2)),通过给定的数据集能够估算出\mu\sigma ^2

\mu =\frac{1}{m}\sum_{i=1}^{m}x^{(i)}\sigma ^2 = \frac{1}{m}\sum_{i=1}^{m}\left ( x^{(i)}-\mu \right )^2(极大似然估计)

其中\frac{1}{m}可以替换成\frac{1}{m-1}

利用高斯分布来构建一个异常检测算法

计算m个数据集在每一个维度上的\mu\sigma ^2,然后根据p(x)得到一个概率\varepsilon,根据概率的大小来定义是否为异常行为。

异常检测算法的步骤

  1. 选择特征量,它会帮助我们指出那些反常的样本;
  2. 给出训练集,也就是m个未作标记的样本;
  3. 给出一个新案例,计算p(x)的值,如果这个概率值很小,就将这一项标为异常

12.3 评估异常检测算法

评估的作用:需要决定是否纳入新的特征,如果分别在纳入该特征和不纳入该特征情况下运行算法,然后算法返回一个数字来告诉你这个特征对算法的影响是好是坏。这样的话,就能更简单地决定是否纳入这个新特征。

 12.4 异常检测vs监督学习

在异常检测中,当时我们开始用了一些带有标签的数据,使用了一些例子,这些例子要么正常要么异常。相应地,我们用y=1或者y=0来标记,那么问题来了,我也可以用监督学习来处理这些数据,为什么要用异常检测呢?

在异常检测中,负样本很多,正样本很少(负样本是普通样例,正样本是异常样例) 。而在监督学习中,正样本和负样本的占比都差不多。对异常检测算法的理解:对正常的数据建模,异常的不管,只要不是正常的就是异常的。

异常检测和监督学习的应用

 12.5 如何选择特征来实现异常检测

问题1:如果画出的数据直方图不像高斯分布,可以通过调整参数,来让数据更接近高斯分布。

 问题2:如何得到异常检测算法的特征?

通过一个误差分析步骤:先完整地训练出一个算法,然后在一组交叉验证集上运行算法,找出哪些预测出错的样本并且尝试能否找到一些其他的特征来帮助学习算法,让那些在交叉验证集中判断出错的样本表现得更好。

12.6 多元高斯分布

两种特征虽然都是显示数据正常,但是特征组合在一块后就异常。

异常检测算法,往往是把\mu附近的数据认为是高频率出现的,表现在图像上类似一个圆形。在一些情况下数据并不是规则分布,单变量的高斯分布不能体现拟合椭圆形状。

因此就引入了多元高斯分布的概念。多变量高斯分布引入了协方差矩阵,通过修改矩阵的值来改变高斯分布的情况。(用于衡量两个变量的总体的误差)

\Sigma可以理解为每个特征的缩放比例,这样就可以拟合更多的数据分布。

 

12.7 多元高斯分布的应用

多元高斯分布的公式:p(x;\mu,\Sigma)=\frac{1}{(2\pi)^{\frac{n}{2}}|\Sigma|^{\frac{1}{2}}}exp\left ( -\frac{1}{2}(x-\mu)^{T}\Sigma^{-1}(x-\mu) \right )

 开发一个应用多元高斯分布的异常检测

  1. 首先利用数据集来拟合模型;
  2. 当有一个新样本x,需要用多元高斯分布的公式来计算p(x),如果得出的值比\varepsilon小就做异常标记;

 

传统高斯分布与多元高斯分布的关系:传统的高斯分布实际上是多变量高斯分布的特殊形式,对应矩阵在非对角线上的数为0。非多元高斯分布算法也可以用协方差矩阵表示计算过程,对角协方差矩阵暗示各个特征之间是相互独立的,当应用多元正态分布时,暗示特征之间是非相互独立的。单独高斯模型只是做伸缩变换,而多元可以伸缩和旋转。

 如何在单独高斯分布与多元高斯分布之间选择?

传统的模型需要手动构造异常特征的组合,多变量可以自动的捕捉。 不过多变量的计算复杂度高一些。

 冗余特征在线性代数中就是线性相关的意思。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微服务 springcloud 05 hystrix框架,降级,可视化Hystrix dashboard 仪表盘,熔断

01.微服务宕机时&#xff0c;ribbon 无法转发请求 关闭 user-service 和 order-service 02.hystrix框架 03.创建hystrix项目&#xff0c;hystrix与ribbon经常一起出现 第一步&#xff1a;复制 sp06-ribbon 项目&#xff0c;命名为sp07-hystrix 选择 sp06-ribbon 项目&#…

高并发架构设计方法

我们知道&#xff0c;“高并发”是现在系统架构设计的核心关键词。一个架构师如果设计、开发的系统不支持高并发&#xff0c;那简直不好意思跟同行讨论。但事实上&#xff0c;在架构设计领域&#xff0c;高并发的历史非常短暂&#xff0c;这一架构特性是随着互联网&#xff0c;…

【JVM】日志分析工具--gcviewer的使用

文章目录 gcviewer是什么&#xff1f;gcviewer的使用最后 gcviewer是什么&#xff1f; GCViewer是一个小工具&#xff0c;可以可视化Sun / Oracle、IBM、HP和BEA Java虚拟机生成的详细GC输出。它是在GNU LGPL下发布的自由软件。—官网翻译 gcviewer的使用 文章使用的配置 工具…

权限验证框架之Shiro

文章目录 前言shiro 核心项目构建默认Session模式配置测试接口Realm编写权限测试无权限测试登录测试权限测试 前后端分离tokenJWTFilter重写认证修改配置 总结 前言 交替换个脑子&#xff0c;一直搞考研的东西&#xff0c;实在是无聊。所以顺便把工程上的东西&#xff0c;拿来…

探索Redis内部数据结构

Redis支持多种数据结构&#xff0c;每种数据结构都有其特定的用途。下面对Redis支持的主要数据结构进行详细阐述&#xff1a; 一、字符串&#xff08;String&#xff09; 字符串是Redis最基本的数据结构&#xff0c;可以存储一个字符串或者二进制数据&#xff0c;例如图片、序…

HID协议学习

HID协议学习 0. 文档资料 USB_HID协议中文版_USB接口HID设备_AUJsRmB9kg.pdf HID报告描述符精细说明_mgCxM8_ci9.pdf hut1_22_U3cvnwn_ZZ.pdf 1. 基本概念 HID协议是一种基于USB的通讯协议&#xff0c;用于在计算机和输入设备之间进行数据传输。HID协议定义了标准的数据格…

如何实现在线书签内容替换

书签广泛应用于企业的各种办公自动化业务场景中。例如&#xff1a;在范式合同模板中将甲乙方书签自动替换成具体的公司名称&#xff1b;在红头文件模板中将红头标题书签替换成具体的行政指令&#xff1b;在各种协议模板中将协议日期书签替换为当前日期&#xff1b;等等。 在这…

【Elacticsearch】 原理/数据结构/面试经典问题整理

对Elacticsearch 原理/数据结构/面试经典问题整理的文章&#xff1b; 映射 | Elasticsearch: 权威指南 | Elastic Elacticsearch介绍 Elasticsearch,这里简称ES。ES是一个开源的高可用高扩展的分布式全文搜索与分析引擎&#xff0c;可以提供PB级近实时的数据存储和检索能力&am…

《离散数学》:集合、关系和函数

〇、前言 这章将会对集合、以及集合之上的关系、以及两个集合之间的映射情况做一个细致的讨论。集合作为数学和其他领域中的基础概念&#xff0c;具有广泛的应用和重要的地位。它为数学建立了基本的体系和推理方法&#xff0c;为各个领域的研究和应用提供了一种统一的描述和分…

基于web漏洞扫描及分析系统设计_kaic

基于web漏洞扫描及分析系统设计 摘 要 随着信息技术的发展和网络应用在我国的普及&#xff0c;针对我国境内信息系统的恶意网络攻击也越来越多&#xff0c;并且随着黑客攻击技术的不断地更新&#xff0c;网络犯罪行为变得越来越难以应对&#xff0c;用户日常访问的网站是否安全…

Mysql主从复制及读写分离

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…

LaTeX插入参考文献

接着上一篇&#xff0c;用EndNote组织参考文献&#xff0c;然后再导入到LeTex中感觉不太好用&#xff0c;然后就学习了一下BibTeX来管理参考文献&#xff0c;发现还可以&#xff0c;这里记录一下&#xff0c;方便以后查阅。 LaTeX插入参考文献 thebibliographyBibTeX参考资料 t…

前端 sentry 接入钉钉机器人

sentry 接入钉钉机器人 打开钉钉,添加机器人 此时会得到Webhook地址,记录一下,以后会用到 sentry 端设置 看看这里有木有钉钉插件,有的话开启插件,并配置这里我说一下没有的情况下,我们何如设置 这里需要填写webhook url 这个的url 需要是一个公网的地址,不可以是本地…

使用Unity开发一个独立的区块链

Arouse Blockchain [Unity独立区块链] ❗️千万别被误导&#xff0c;上图内容虽然都在项目中可寻&#xff0c;但与目前区块链的业务代码关联不大&#xff0c;仅供宣传作用(总得放些图看着好看)。之所以有以上内容是项目有个目标功能是希望每个用户在区块链上都有一个独一无二的…

View UI Plus (iview)表格单选实现教程

View UI Plus 是 View Design 设计体系中基于 Vue.js 3 的一套 UI 组件库&#xff0c;主要用于企业级中后台系统 View UI&#xff0c;即原先的 iView&#xff0c;从 2019 年 10 月起正式更名为 View UI&#xff0c;并使用全新的 Logo View UI Plus 实现表格单选&#xff0c;这…

首次使用云服务器搭建网站(二)

书接上文&#xff0c;我们已经完成了服务器的租赁&#xff0c;宝塔面板的下载与安装。 接下来我们将正式开始网站搭建。 一、网站创建 点击网站、添加站点 输入网站域名、数据库选择MySQL数据库&#xff0c;选择utf8&#xff0c;数据库账号密码会自动生成。无论你要创建什么样…

互联网行业-镭速文件传输系统方案

互联网行业是一个快速变化和高度竞争的行业&#xff0c;这一行业需要传输大量的数据、代码和文件。在互联网企业的生产和运营过程中&#xff0c;需要传输各种敏感和大型的文件&#xff0c;例如业务报告、数据分析、软件代码等。这些文件需要在不同的部门、不同的地点之间高效地…

用敏捷工具Leangoo领歌做敏捷需求管理

传统的瀑布工作模式使用详细的需求说明书来表达需求&#xff0c;需求人员负责做需求调研&#xff0c;根据调研情况编制详细的需求说明书&#xff0c;进行需求评审&#xff0c;评审之后签字确认交给研发团队设计开发。在这样的环境下&#xff0c;需求文档是信息传递的主体&#…

小雉系统U盘安装包制作

​ 本文原地址: http://www.feitianzhi.com/boke/index.php/archives/57/ 概述 小雉系统可从线上系统制作安装包到U盘&#xff0c;制作的安装包可用于新系统的安装&#xff1b; 小雉系统只提供升级包&#xff0c;对应的安装包均是客户在应用升级包后按本文或http://www.f…

vite预渲染 vite-plugin-prerender 大坑记录

本文部分配置转自&#xff1a;vite预渲染怎么实现_猿耳盗铃的博客-CSDN博客 懒得重新写&#xff0c;贴下版本和自己踩的各种坑吧 以下为版本&#xff0c;本文只给vite vue3的建议&#xff0c;不一定适用&#xff0c;因为正常情况能build成功&#xff0c;我昨天中午之前一直没…