论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
数据库
›
Oracle
›
读数据质量管理:数据可靠性与数据质量问题解决之道08扩 ...
读数据质量管理:数据可靠性与数据质量问题解决之道08扩展异常检测 ...
小小小幸运
金牌会员
|
2024-11-19 06:27:11
|
显示全部楼层
|
阅读模式
楼主
主题
793
|
帖子
793
|
积分
2379
1. Python和机器学习扩展异常检测
1.1. 机器学习有助于大规模数据可观测性和数据监控
1.1.1. 配备了机器学习的检测器可以更机动地应用到更多的数据表上,从而消除了随着数据堆栈或数据湖的增上进行手动检查和手动操作的需要
1.1.2. 机器学习检测器可以实时学习和适应数据,并且可以捕捉到人眼看不到的复杂的季候模式
1.1.3. 使用机器学习中的一些概念,用更规整的方式来勾勒问题,从而提供大规模的数据可观测性和数据信托
1.2. 构建一个完善的猜测器是不可能的,而且对任何风趣的猜测问题都是如此
1.3. 在假阳性和假阴性之间,大概在准确率和召回率之间,总要有所取舍
1.4. 真阳性
1.4.1. 当一个数据点确实有问题且我们的检测器也同样发出认为其“异常”的信号时
1.5. 假阳性
1.5.1. 猜测异常,但实际正常
1.5.2. 虽然发出了数据监控警报,但并没有真正出现问题
1.5.3. 浪费了用户的时间来对警报做出响应
1.5.4. 假阳性是我们检测到异常但存疑的数据点实际上没有异常的情况
1.5.5. 假阳性检测就像狼来了,换句话说就是你的算法给出了“异常”的结果,但数据点实际上没有任何问题
1.5.5.1. “喊狼来了”的探测器
1.6. 真阴性
1.6.1. 当一个数据点一切正常且我们的检测器也没有检测到它(即发出“不异常”的信号)时
1.7. 假阴性
1.7.1. 猜测正常,但实际异常
1.7.2. 确实存在问题,但没有发出数据监控警报
1.7.3. 把一个真正的问题忽视了
1.7.4. 假阴性是数据点确实有问题但检测器没有检测到的情况
1.7.5. 假阴性检测就像一只沉睡的警犬,也就是说你的算法会让问题无法被发现
1.7.5.1. “沉睡警犬型”的探测器
1.7.5.2. 过于保守的检测器永远不会发出异常检测,这意味着当事情真的出错时,它们也肯定会错过
1.8. 异常检测是一项无监督使命
1.8.1. 无监督学习是一种机器学习使命,在该使命中,最优行为在训练时是不可知的
1.8.2. 你正在训练的数据并没有附加任何标签
1.8.2.1. 你可能不得不把异常检测称为无监督学习,因为异常并没有一个同一的基本事实
1.8.2.2. 没有基本事实,你就无法得到错误信号
> 1.8.2.2.1. 你无法得到预测结果和你应该预测的结果之间的差异
复制代码
1.8.3. 对于任何给定的数据点,异常检测器会发出“异常”或“非异常”的猜测
1.8.4. 存疑的数据点要么是真正的问题,要么完全就不是问题
1.8.5. 即使是最训练有素的异常检测算法也不可能完全避免假阳性和假阴性
1.8.5.1. 机器学习改进数据监控警报
1.8.5.2. 出于简单的统计原因,两者无法同时避免
1.8.5.3. 其实更少的假阳性会以更多的假阴性为代价,反之亦然
1.9. 进步准确率和召回率
1.9.1. 准确率(又称查准率)被定义为做出准确猜测的概率
1.9.1.1. 在所有做出的“阳性”猜测中,有多少是准确的呢?
1.9.1.2. 具有高准确率的检测器是“准确的”,因为当它猜测事件异常时,往往是准确的
1.9.1.3. 准确率通常告诉我们发出阳性警报时准确的频率
1.9.1.4. 具有高准确率的模型会输出可信的警报,因为它们的高准确率保证了它们很少“喊狼来了”
> 1.9.1.4.1. 一个高精确率的模型是一个很少喊狼来了的模型
> 1.9.1.4.2. 它发出警报时,你最好相信它
复制代码
1.9.2. 召回率(又称查全率)被定义为实际异常被检测到的概率
1.9.2.1. 在所有真正的异常中,我们捕捉到了多少呢?
1.9.2.2. 具有高召回率的检测器能够很好地“召回”,它捕捉实际上是真异常的概率很高
1.9.2.3. 召回率告诉我们对问题真正发出警报的数量
1.9.2.4. 具有高召回率的模型是可靠的,因为它们的高召回率保证了它们很少忽略真正存在的问题
> 1.9.2.4.1. 有良好召回率的模型就像一只敬业的警犬
> 1.9.2.4.2. 你可以放心,这个模型会捕获到所有真正的问题
复制代码
1.9.3. 数据天下是由可量化的目标来运行的,在大多数情况下,我们需要一个单一的目标来进行优化,而不是两个
1.9.3.1. 将准确率和召回率组合成一个被称为F分数(F-score)的指标
1.9.3.2. Fβ被称为加权F分数,因为差别的β值在计算中权衡准确率和召回率有所差别
1.9.3.3. Fβ分数表示:“我认为召回率是准确率紧张程度的β倍。”
> 1.9.3.3.1. 当β = 1时,该等式认为两个指标一样重要
> 1.9.3.3.2. 当β > 1时,表示召回率比精确率更重要
> 1.9.3.3.2.1. 我更关心捕捉到所有的异常,而不是偶尔引起的错误警报
> 1.9.3.3.3. 设置β<1,精确率会更重要
> 1.9.3.3.3.1. 我更关心我的警报是真实的,而不是捕捉每一个真正的问题
复制代码
1.9.4. Facebook Prophet是一种猜测模型,用于大规模处置惩罚时间序列数据中的日、周、月和年的季候性关系
1.9.5. TensorFlow是用于各种使命(包括自然语言处置惩罚、计算机视觉和时间序列异常检测)的流行机器学习库
1.9.5.1. 对高级异常检测算法一些有用且记载完备的实现
1.9.5.2. 在行业场景中更受欢迎
1.9.6. PyTorch
1.9.6.1. 在Facebook开辟的另一个机器学习Python库
1.9.6.2. 可实现与TensorFlow(由Google开辟)类似的用例
1.9.6.3. 通常在行业中的学术领域具有较高的知名度
1.9.7. scikit-learn是另一个流行的机器学习软件包
1.9.7.1. 有k相近(k-nearest neighbor)算法和孤立森林(isolation forest)算法的版本,这是两种常用的聚类(clustering)方法
1.9.7.2. 用Python开辟的
1.9.8. MLflow
1.9.8.1. 由Databricks的创建者开辟的一种流行的实行跟踪开源工具
1.9.8.2. 实行跟踪是指在开辟和生产中管理机器学习模型的过程
1.9.8.3. 实行跟踪是管理机器学习模型开辟和训练的过程,包括超参数比力、依靠项检查、管理和编排训练作业、保存模型快照和收集日记等使命
1.9.8.4. 主要是一个实行跟踪和再现软件
1.9.8.5. 开辟异常检测软件的一个紧张方面是保证代码在差别机器上的运行是相同的
> 1.9.8.5.1. 不会希望在本地解决了一个错误(bug),但在生产环境中却无法应用
复制代码
1.9.9. TensorBoard
1.9.9.1. TensorFlow的可视化工具包
1.9.9.2. 无须使用TensorFlow建模即可使用该软件
1.10. 检测新鲜度事件
1.10.1. 越长的中断就越有可能是真实的事件,但谁也无法保证
1.10.2. 弱相关性会让一个好的模型足够有效但并不完善
1.11. F分数
1.11.1. F分数是分类准确性指标,旨在分身优化准确率和召回率
1.11.2. 对于统计学家来说该分数的定义是模型准确率和召回率的调和平均值
1.11.3. F1分数旨在平衡准确率和召回率,它认为准确率和召回率划一紧张
1.11.4. 对于导弹探测系统来说,假阳性比假阴性要好。这意味着召回率比准确率更紧张
1.11.5. 当β=1时,这个方程与F1分数方程相同
1.11.5.1. 当β=1时,这个方程与F1分数方程相同
1.11.6. 当召回率更紧张时,我们应该预期F2分数高于F1分数
1.12. 模型的准确率紧张吗
1.12.1. 准确率并不像检测器的平均准确率那么简单,而且对于差别的应用程序来说,其定义也不应该相同
1.12.2. 根据设置的阈值来绘制准确率、召回率和F1分数,则会发现一些紧张的信息
1.12.2.1. 具有低阈值的激进检测器具有最佳的召回率
> 1.12.2.1.1. 它们可以更快地发出警报,从而发现更多真正的问题
复制代码
1.12.2.2. 更保守一些的检测器具有更好的准确率
> 1.12.2.2.1. 它们只对可能是真实的严重异常发出警报
复制代码
1.12.3. 任何关于模型准确率的讨论,如果没有某种基准事实与模型猜测进行比力,都是不完整的
2. 异常检测算法
2.1. 近乎实时地检测问题
2.2. 向需要了解情况的人发出警报
2.3. 提供信息以帮助防止未来发生宕机
2.4. 规则定义
2.4.1. 规则定义为某些指标值设置了明白的切分点,并确定了相对于阈值的异常值
2.4.2. 只有当大多数数据点都在阈值范围内时,这种方法才气被称为“异常”检测
2.4.3. 规则定义具有令人难以置信的可扩展性,可用于定义极为明白的服务级别协议、数据正常运行时间保证等
2.5. 自回归模型
2.5.1. 自回归适用于时间序列的异常检测,此中数据点使用时间戳对象进行排序
2.5.2. 时间戳对象进行排序。自回归模型从从前的时间步长获取数据,将它们输入回归(线性)模型,并使用该输出来猜测下一个时间戳的数据将在那里
2.5.3. 偏离自回归猜测太远的数据点会被标志为异常
2.5.4. 自回归移动平均(ARMA)检测算法和ARIMA检测算法
2.6. 指数平滑
2.6.1. 指数平滑法可以从时间序列中消除趋势和季候性,以便人们可以使用更简单的方法(例如,ARIMA)进行后续分析
2.6.2. Holt-Winters是一个用于时间序列猜测的著名季候性模型,并且另有丰富的分类系统
2.6.2.1. 累加性(additive)
2.6.2.2. 累乘性(multiplicative)
2.6.2.3. 阻尼法(damped,又称衰减法)
2.6.2.4. 非阻尼法(nondamped)
2.7. 聚类
2.7.1. 聚类技能[如k近邻算法或孤立森林算法]通过将相似的数据点放入同一个数据桶中,并提示你注意那些“和桶中数据差异较大的数据点”来发现异常
2.8. 超参数调优
2.8.1. 有些参数通过数据的使用和训练过程才气得到
2.8.2. 被称为超参数的其他参数则不是通过学习过程得到的,反而超参数可以以特定方式去帮助模型的学习和推断过程
2.9. 集成模型框架
2.9.1. 集成模型框架充分利用了聚类、指数平滑和自回归节点等各种方法的长处,将它们组合成一个前馈神经网络,并使用多数投票集成算法将它们的猜测联合起来
3. 数据质量监控器
3.1. 在为数据系统构建数据质量监控器时,紧张的是要区分,你是在使用来自数据堆栈的布局化整体数据,还是在使用现代数据湖生态系统中的复杂数据
3.2. 主要区别
3.2.1. 你必须思量的入口点数量
3.2.1.1. 数据湖系统往往具有大量的入口点,这意味着应该假设从差别来源输入的数据具有高度的异构性
3.2.1.2. 要鉴戒“一刀切”的建模方法
3.2.1.3. 另一种方法是使用集成模型架构,大概简单地为每个用例使用单独的模型
3.2.2. 要如何收集并存储元数据
3.2.3. 你会如何访问该元数据
3.3. 直接从数据湖中收集的元数据可能需要经过差别级别的预处置惩罚后,才气指望异常检测算法从它们当中得到有价值的信息
3.4. 类型可能需要强制(隐式)转换,模式可能需要对齐,而你可能会发现在运行检测器的训练使命之前,自己在数据中得到了全新的增强特征
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
小小小幸运
金牌会员
这个人很懒什么都没写!
楼主热帖
收藏:再谈软件定义存储发展及现状 ...
5.2 基于ROP漏洞挖掘与利用
Ubuntu如何安装Mysql+启用远程连接[完 ...
【.NET】控制台应用程序的各种交互玩法 ...
软件项目管理 7.4.5.进度计划编排-敏捷 ...
权限提升(1)
青龙2.10.13 稳定版+xdd-plus+阿东教程 ...
唯一/普通索引的选择?change buffer ...
微信公众号模板消息源码实现,打破服务 ...
京准电钟北斗时钟服务器,GPS网络时间服 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表