[吴恩达机器学习笔记]15.1-3非监督学习异常检测算法/高斯回回归模型
15.异常检测 Anomaly detection
觉得有用的话,欢迎一起讨论相互学习~
吴恩达老师课程原地址
参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广
15.1问题动机 Problem motivation
飞机引擎异常检测
- 假想你是一个飞机引擎制造商,当你生产的飞机引擎从生产线上流出时,你需要进行 QA(质量控制测试),而作为这个测试的一部分,你测量了飞机引擎的一些特征变量,比如引擎运转时产生的热量,或者引擎的振动等等。如下图所示: 用以表示测量得到的飞机引擎的特征。而数据集中的m个数据用表示
- 这样一来,你就有了一个数据集,从 ,如果你生产了 m 个引擎的话,你将这些数据绘制成图表,看起来就是这个样子:
- 这里的每个点、每个叉,都是你的 无标签数据 。这样,异常检测问题可以定义如下:假设后来有一天,你有一个新的飞机引擎从生产线上流出,而你的新飞机引擎有特征变量。所谓的异常检测问题就是:希望知道这个新的飞机引擎是否有某种异常,或者说,我们希望判断这个引擎是否需要进一步测试。因为,如果它看起来像一个正常的引擎,那么我们可以直接将它运送到客户那里,而不需要进一步的测试。
- 给定一个训练集,然后对训练数据进行建模即,即对飞机引擎的特征进行建模,然后当给定一个新的数据即,如果概率低于阈值ε-- 那么就将其标记为异常,如果概率大于等于阈值ε-- 那么就将其标记为正常
- 观察模型,将会发现在中心区域的这些点概率相当大,而稍微远离中心的点概率会少些,而离中心更远的点,其概率会更小即出现异常的概率会更大,而最外的标记点就是 异常点(anomaly) ,而中心区域的点P(x)很大即是 正确的点
- 这种方法称为 密度估计 表达如下:
欺骗识别
- 使用,通过检测是否有来断定用户是否是一个非正常用户。
- 异常检测主要用来识别欺骗。例如在线采集而来的有关用户的数据,一个特征向量中可能会包含如:用户多久登录一次,访问过的页面,在论坛发布的帖子数量,甚至是打字速度等。尝试根据这些特征构建一个模型,可以用这个模型来识别行为异常的用户。
数据中心异常检测
- 特征可能包含:内存使用情况,被访问的磁盘数量,CPU的负载,网络的通信量等。根据这些特征可以构建一个模型,用来是否有来判断某些计算机是不是有可能出错了
15.2高斯分布 Gaussian Distribution
- 通常如果我们认为变量 x 符合高斯分布 x~N(μ,σ2)则其概率密度函数为:
其中$\mu \sigma^2$表示样本的方差,横轴表示数据的值,而纵轴则表示此值出现的概率密度,图像与一段范围内的横轴包围的面积即为x的取值落在此范围内的概率,其图像如下图所示:
其中控制图像的中线所在位置,而控制图像的宽度,并且对于概率密度函数而言,其与坐标轴包围的区域的面积始终为1
- 利用已有的数据来预测总体中的的计算方法如下:
其中统计学家认为计算方法中的分母应该为(m+1),而机器学习学者则认为其中的分母为m也很合适,当时数据量十分巨大时,分母为m或者为(m+1)实质上没有很大的区别。
15.3非监督学习的异常检测算法
- 假定有共m个样本的无标签训练集,训练集中的每个样本都是一个维的特征向量。
则处理异常检测的方法是 使用数据集建立起概率模型p(x) 试图通过特征量的乘积来对样本的异常状况进行检测。 - 假设特征量之间是相互独立的,则概率模型可表示为特征量的概率的乘积:
- 假设特征都是分散的,并且 服从高斯正态分布 则概率模型可表示为
即
异常检测算法概述
- 挑选对异常检测有用的特征
- 计算每个特征的均值和方差
- 给定样本x,计算概率p(x),,则判断这个样本存在异常
异常检测示例
- 此时选定大小为0.02,则计算样本点的概率为0.0426,而计算样本点的概率为0.0021。因此样本1可以被视为正常样本,而样本2则被视为异常样本。
标签:
机器学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)