One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验
### 文章目录
- [One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [@[toc]](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [引言](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [One-Class SVM 的核心思想](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [正面示例:One-Class SVM 准确识别离群点](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [结果解释](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [可视化](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [错误示例:高维数据与参数失配](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [错误示例 1:γ 太大导致过拟合](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [错误示例 2:ν 设置不合理](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [错误示例 3:未标准化的数据](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [调试技巧](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [技巧 1:先进行 StandardScaler](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [技巧 2:网格搜索 γ 与 ν](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [技巧 3:绘制决策边界(仅限 2D)](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [技巧 4:使用分位数作为阈值](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [项目实战:基于 CPU 时序数据的异常检测](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [Step 1:生成模拟 CPU 数据](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [Step 2:标准化 + One-Class SVM](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [Step 3:可视化结果](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [结果](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [高级使用技巧](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [技巧 1:将时序数据转为嵌入窗口(time window embedding)](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [技巧 2:使用核技巧进行非线性边界](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [技巧 3:结合 LOF / IF 形成多模型决策](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [技巧 4:使用 PCA 降维提升效率](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [工程应用技巧(AIOps 实战)](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [1. 不要在业务高峰时训练模型](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [2. 模型需要定期重训练](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [3. One-Class SVM 更适合"稳定系统"](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [4. 在工程中,通常会对 SVM 的结果做"平滑"](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [拓展:One-Class SVM 的数学原理](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [核心公式](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [为什么 RBF 核最好用?](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [One-Class SVM 与传统 SVM 的关系](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [总结](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
- [AI 创作声明](#文章目录 One-Class SVM 异常检测全解析:原理、实例、项目实战与工程经验 @[toc] 引言 One-Class SVM 的核心思想 正面示例:One-Class SVM 准确识别离群点 结果解释 可视化 错误示例:高维数据与参数失配 错误示例 1:γ 太大导致过拟合 错误示例 2:ν 设置不合理 错误示例 3:未标准化的数据 调试技巧 技巧 1:先进行 StandardScaler 技巧 2:网格搜索 γ 与 ν 技巧 3:绘制决策边界(仅限 2D) 技巧 4:使用分位数作为阈值 项目实战:基于 CPU 时序数据的异常检测 Step 1:生成模拟 CPU 数据 Step 2:标准化 + One-Class SVM Step 3:可视化结果 结果 高级使用技巧 技巧 1:将时序数据转为嵌入窗口(time window embedding) 技巧 2:使用核技巧进行非线性边界 技巧 3:结合 LOF / IF 形成多模型决策 技巧 4:使用 PCA 降维提升效率 工程应用技巧(AIOps 实战) 1. 不要在业务高峰时训练模型 2. 模型需要定期重训练 3. One-Class SVM 更适合“稳定系统” 4. 在工程中,通常会对 SVM 的结果做“平滑” 拓展:One-Class SVM 的数学原理 核心公式 为什么 RBF 核最好用? One-Class SVM 与传统 SVM 的关系 总结 AI 创作声明)
引言
在异常检测的算法家族中,One-Class SVM(单类支持向量机)属于历史悠久但仍广泛使用的经典方法。特别是在:
- 样本几乎全部是正常
- 无法获取足够异常样本
- 需要对数据建立"正常边界"
的场景中,它会表现得十分出色。
它的核心任务是:
学习一个只包含"正常数据"的边界,并将边界外的样本判为异常。
One-Class SVM 的核心思想
One-Class SVM 与传统 SVM 不同,不需要区分两个类别,它只需要正常数据。
基本思想是:
- 通过核函数将数据映射到高维空间
- 找到一个最大间隔的超平面,使大部分数据落在某一个区域
- 区域外的数据即为异常点
其中常见的核函数包括:
- RBF(高斯核,最常用)
- Linear(线性核)
- Polynomial(多项式核)
One-Class SVM 的两个关键参数是:
- ν (nu):允许异常的比例,范围 (0,1]
- γ (gamma):核函数的"宽度",决定边界形状
正面示例:One-Class SVM 准确识别离群点
下面我们构造一个简单二维数据集。
python
from sklearn.svm import OneClassSVM
import numpy as np
# 正常点
normal = 0.3 * np.random.randn(200, 2)
# 异常点
outliers = np.random.uniform(low=-4, high=4, size=(10, 2))
X = np.vstack([normal, outliers])
model = OneClassSVM(kernel='rbf', nu=0.05, gamma='scale')
pred = model.fit_predict(X)
结果解释
- pred = 1:正常
- pred = -1:异常
一般来说 outliers 会全部被检测出来。
可视化
python
import matplotlib.pyplot as plt
plt.scatter(X[:,0], X[:,1], c=pred, cmap='coolwarm')
plt.show()
这类数据分布明显,One-Class SVM 的效果非常稳定。
错误示例:高维数据与参数失配
One-Class SVM 的威力大,但也非常挑参数。下面是两个常见错误情况。
错误示例 1:γ 太大导致过拟合
python
model = OneClassSVM(kernel='rbf', nu=0.05, gamma=10)
表现:
- 边界极度复杂
- 将正常点也判成异常
- 出现大量 false positive(误报)
错误示例 2:ν 设置不合理
ν 控制了允许异常的比例:
- ν 太小 → "几乎不允许异常",模型会把异常点也硬塞进正常区域
- ν 太大 → 正常点也可能被认为是异常
示例:
python
model = OneClassSVM(nu=0.001)
此时模型会把异常点严重漏检。
错误示例 3:未标准化的数据
One-Class SVM 对距离非常敏感,未归一化将导致:
- 某些维度主导距离
- 核函数失真
- 边界形状异常
调试技巧
One-Class SVM 调参是"艺术性极强"的工作,这里给出实证有效的技巧。
技巧 1:先进行 StandardScaler
python
from sklearn.preprocessing import StandardScaler
X_scaled = StandardScaler().fit_transform(X)
消除量纲差异,让核函数行为更稳定。
技巧 2:网格搜索 γ 与 ν
One-Class SVM 没有"万能参数",但有经验区间:
- γ ∈ [1e-3, 1, 10]
- ν ∈ [0.01, 0.1, 0.2]
可以手动尝试:
python
for gamma in [0.001, 0.01, 0.1]:
for nu in [0.01, 0.05, 0.1]:
model = OneClassSVM(gamma=gamma, nu=nu)
技巧 3:绘制决策边界(仅限 2D)
用于直观调参:
python
Z = model.decision_function(X)
越接近 0 越危险。
技巧 4:使用分位数作为阈值
有时不采用模型默认预测,而是自行控制决策阈值:
python
scores = model.decision_function(X)
threshold = np.percentile(scores, 5)
pred = (scores < threshold).astype(int)
让你更精确地控制误报率。
项目实战:基于 CPU 时序数据的异常检测
这是你可以在笔记本上轻松运行的小实验,也是课程论文级别的优秀案例。
Step 1:生成模拟 CPU 数据
python
cpu = np.random.normal(loc=40, scale=5, size=1000)
# 注入异常
cpu[150] = 95
cpu[350] = 15
cpu[720] = 85
cpu = cpu.reshape(-1, 1)
Step 2:标准化 + One-Class SVM
python
from sklearn.preprocessing import StandardScaler
from sklearn.svm import OneClassSVM
cpu_scaled = StandardScaler().fit_transform(cpu)
model = OneClassSVM(kernel='rbf', nu=0.05, gamma='scale')
pred = model.fit_predict(cpu_scaled)
Step 3:可视化结果
python
import matplotlib.pyplot as plt
plt.plot(cpu, label='CPU')
plt.scatter(np.where(pred==-1), cpu[pred==-1], color='red', label='Anomaly')
plt.legend()
plt.show()
结果
One-Class SVM 对"尖峰异常""低谷异常""突发变化"都能很好识别。
高级使用技巧
技巧 1:将时序数据转为嵌入窗口(time window embedding)
One-Class SVM 本身不针对时序,可以通过滑动窗口转换为高维向量:
python
window = 20
X = np.array([cpu_scaled[i:i+window].flatten()
for i in range(len(cpu_scaled) - window)])
能检测周期异常、趋势异常、缓慢漂移。
技巧 2:使用核技巧进行非线性边界
在多维场景:
- RBF 核几乎是默认选择
- 线性核更适合超高维稀疏数据(例如日志)
- 多项式核用于业务强相关数据
技巧 3:结合 LOF / IF 形成多模型决策
在工业 AIOps 系统中常用:
- IF(Isolation Forest)→ 检测范围异常
- LOF → 检测密度异常
- One-Class SVM → 检测"分布异常"
三者结合非常稳健。
技巧 4:使用 PCA 降维提升效率
One-Class SVM 的训练复杂度较高:
python
from sklearn.decomposition import PCA
X_pca = PCA(n_components=10).fit_transform(X)
可以明显加速。
工程应用技巧(AIOps 实战)
以下经验来自实际云监控系统与 AIOps 的实践。
1. 不要在业务高峰时训练模型
高峰期的数据分布与正常完全不同,会导致边界偏移。
2. 模型需要定期重训练
云系统的性能特征会随版本、负载变化。
例如:
- 容器升级后,CPU 使用率均值会上升
- 业务扩容后,内存波动幅度变大
3. One-Class SVM 更适合"稳定系统"
对于高度波动、高吞吐系统,LOF 或 IF 能力更稳定。
4. 在工程中,通常会对 SVM 的结果做"平滑"
例如 5 分钟内连续 3 次异常才报警,减少误报。
拓展:One-Class SVM 的数学原理
核心公式
One-Class SVM 的优化目标如下:
最小化
‖w‖² / 2 - ρ + (1 / (νn)) Σ ξᵢ
满足
(w · Φ(xᵢ)) ≥ ρ - ξᵢ
其中:
- Φ 代表核映射
- ρ 是超平面偏置
- ξᵢ 是松弛变量
简化解释:
它尝试找到一个最大间隔的超平面,使样本在高维空间尽可能被包含在某个区域。
为什么 RBF 核最好用?
因为 RBF 可以构造非常灵活的边界:
- 小 γ → 边界光滑
- 大 γ → 边界复杂
允许模型适应多样化场景。
One-Class SVM 与传统 SVM 的关系
传统 SVM 解决二分类问题;One-Class SVM 只需要一类样本。
关系类似:
- 传统 SVM 找"分割两类"的最佳边界
- One-Class SVM 找"包裹正常类"的最佳边界
总结
One-Class SVM 是异常检测中的经典工具,适用于"正常数据多、异常稀少"的场景。
它的优势在于边界灵活、理论完备;缺点是调参难度较高。
本文包括:
- 原理解析
- 正反面实例
- CPU 异常检测实战
- 工程调优技巧
- 高级方法与拓展理论
非常适合课程论文、AIOps 小项目、生产监控系统。
AI 创作声明
本文部分内容由 AI 辅助生成,并经人工整理与验证,仅供参考学习,欢迎指出错误与不足之处。