ToB企服应用市场:ToB评测及商务社交产业平台
标题:
读数据质量管理:数据可靠性与数据质量问题解决之道08扩展异常检测
[打印本页]
作者:
小小小幸运
时间:
2024-11-19 06:27
标题:
读数据质量管理:数据可靠性与数据质量问题解决之道08扩展异常检测
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企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4