1.1 文档目的
本文档旨在系统总结风控策略算法的实战经验,帮助读者:
- 快速掌握常用风控算法的选型原则和应用场景
- 熟练使用风控策略平台进行策略开发和迭代
- 避免常见陷阱,提升策略开发效率
1.2 核心结论
- 没有最好的算法,只有最合适的算法。每种算法都有其适用的场景问题,也不存在一种算法适用于解决所有问题。
- 风控是一个“多约束优化问题”,开发策略的核心是权衡,不仅需要有足够的知识储备支撑模型开发,更需要从业务、工程等多角度对实际问题进行权衡和抉择。
1.3 目标读者
- 策略算法工程师
- 对风控算法感兴趣的同学
1.4 阅读本文你将获得
- 3 个使用算法解决实际风控场景问题的案例
- 可直接复用的案例框架及常用风控算法知识库
- 风控策略平台开发与迭代的操作流程
二、常用风控算法及实践案例
- 选型基本原则:
- 在风控场景中,算法效果不仅取决于模型本身,还取决于业务目标、数据形态、实时性要求、可解释性等等约束条件,因此并不存在一个最优的算法适用于解决一切问题,而是需要根据特定场景选择最合适的方案。
- 风控天然是一个“多约束优化问题”,需要从多角度对问题进行权衡抉择:
- 精度 vs 召回
- 拦截率 vs 用户体验
- 实时性 vs 模型复杂度
- 可解释性 vs 效果
2.1 决策树:规则自动挖掘的首选
是什么
通过树形结构进行决策的模型,每个节点代表一个特征判断,叶子节点代表最终决策结果。
为什么用
- 规则可解释:每个分裂节点都有明确的业务含义
- 无需复杂特征工程:对原始特征友好
- 快速迭代:模型训练快,规则调整灵活
- 易于部署:可转换为规则引擎配置
适用场景
| 场景 | 说明 |
|---|---|
| 规则自动挖掘 | 从大量特征中自动发现有效规则 |
| 特征重要性评估 | 识别关键风险特征 |
| 高可解释性要求 | 需要解释决策逻辑 |
实践案例:策略自动挖掘(以砍单场景为例)
- 业务背景:面对电商与补贴场景下的黄牛攻击风险,风控会基于多维度进行风险识别,对于黄牛用户下单进行砍单处理。
- 核心问题:
- 与正常用户相比,黄牛用户具有什么样的特点?
- 如何利用已有信息快速识别出黄牛风险?
- 数据准备:
- 来源:机审事件日志表(聚合模型推理与特征快照日志)
- 特征:从特征池中筛选有明确业务含义与信息量的核心维度
- 标签:将砍单订单作为黑样本,其余为白样本,设定样本标签 $y$
- 模型训练与调参:
| 参数 | 枚举值 | 作用 | 控制阶段 | 调大效果 | 调小效果 | 风控建议 |
|---|---|---|---|---|---|---|
| criterion | gini / entropy / log_loss | 分裂指标(衡量纯度) | 分裂选择 | entropy/log_loss 更精细 | gini 更快 | 推荐 entropy |
| splitter | best / random | 分裂策略 | 分裂方式 | best 更优 | random 更随机 | 推荐 best |
| max_depth | int / None | 树最大深度 | 树结构 | 更复杂(过拟合) | 更简单(欠拟合) | 4 ~ 6 |
| min_samples_split | int / float | 最小分裂样本数 | 是否继续分裂 | 更保守 | 更激进 | 10 ~ 100 |
| min_samples_leaf | int / float | 叶子最小样本数 | 叶子稳定性 | 更稳定 | 更灵活 | 100 ~ 1000 |
| min_impurity_decrease | float ≥ 0 | 最小增益阈值 | 剪枝 | 更少分裂 | 更多分裂 | 0 ~ 0.01 |
| max_features | int / float / sqrt / log2 / None | 每次分裂考虑特征数 | 分裂随机性 | 更随机(防过拟合) | 更精确 | 可不设 |
- 规则提取与评估:
- 提取决策树中从根节点到每个叶子节点的路径,即为一条策略规则
- 统计每个路径对应策略的黑样本比例,作为该策略的准确率参考
- 评估规则集在测试集上的表现,并在生产环境全量流量上做影子推演
2.2 图算法:作弊团伙挖掘利器
是什么
基于图论,将用户、设备、IP 等实体作为节点,关联关系作为边,通过图结构识别团伙作弊。
为什么用
- 能发现单点分析无法识别的群体作弊
- 可挖掘隐藏的关联关系
- 适合黑产团伙场景
核心算法
| 算法 | 用途 | 原理 | 适用场景 |
|---|---|---|---|
| Connected Components | 识别独立团伙 | 通过边连接的所有节点归为同一集合 | 初步团伙划分 |
| Louvain | 识别社群 | 基于模块度优化的层次聚类 | 大规模图中的紧密群体 |
| PageRank | 识别关键节点 | 基于链接重要性的迭代计算 | 找出团伙核心 |
实践案例:团伙聚类挖掘(相似地址识别)
这是一种“基于文本相似图 + 社区划分 + PageRank 排序”的策略挖掘方法,可以快速发现地址聚类关系和关键节点,更偏探索性分析。
优点:
- 结构表达能力强:将地址问题转化为图结构问题,能自然表达“相似关系网络”,比单点规则更丰富
- 能发现隐性群组:通过 Connected Components / Louvain,可以挖掘“黄牛地址团伙/批量地址簇”
- 关键节点可排序(PageRank):不仅能分组,还能识别“核心节点/枢纽地址”
- 无需监督标签:适合冷启动场景,在缺少标注时仍可挖掘结构信息
- 可解释性好:节点、边、社区、中心性都可以直观展示,便于业务理解
缺点:
- 计算复杂度高:两两相似度 $O(N^2)$,数据量一大性能急剧下降
- 只适合离线计算,不适合做在线毫秒级推理
- 误连通风险:地址文本噪声可能导致“错误聚类”,传播到图结构后被放大
- 对长尾覆盖弱:稀疏节点或低相似样本可能被忽略
2.3 大模型+小模型:异常文本识别新范式
是什么
利用大模型辅助对训练样本进行打标,训练小模型(BERT/BiLSTM)进行高效线上推理。
为什么用
- 减少人工标注成本
- 覆盖长尾场景
- 发现新型作弊模式
- 线上推理效率高
实践案例:黄牛文本内容识别
- 业务背景:黄牛文本与变体暗语内容识别
- 核心结论:大模型适合离线打标(代替人工打标),线上推理建议用小模型,兼顾效果和成本。
- 样本准备:
- 粗筛(保召回):基于正则过滤疑似样本
- 大模型离线打标:Prompt 设计、首轮标注、质量校验与二次人审校验
- 小模型训练:
- 模型选择:BERT 中文轻量基座模型
- 训练流程:数据划分、训练参数微调、测试集准召验证
- 结果评估:重点针对模型错误分类的样本进行二次人工审核,若属于标签错误则调整标签重新训练
- 线上部署:通过高可用模型推理容器集群提供低时延在线服务。
三、风控策略平台核心使用指南
3.1 平台概览
风控策略配置平台,支持规则配置、策略开发、实验评估、监控告警等功能。
核心功能模块
| 模块 | 功能 | 使用场景 |
|---|---|---|
| 策略中心-事件管理 | 接口事件开发、错误码管理 | 在新业务场景需要对外提供新的风控接口时,开发新的接口事件 |
| 策略中心-策略配置 | 策略规则配置 | 利用特征、函数和逻辑组合开发新的策略 |
| 策略中心-事件查询 | 接口事件请求日志查询、策略命中归因等 | 案例排查命中策略归因、参数传递确认 |
| 特征中心 | 特征配置、接入、监控、测试等 | 新建编辑特征、聚合类特征配置 Redis 存取、服务类特征配置 RPC |
实战避坑经验
- 加白策略范围:加白策略通常只对对应场景节点及其子节点生效,注意作用域非全链路全局。
- 特征类型匹配:配置涉及动态读取函数的特征时,必须严格校验函数与底层数据类型匹配,避免线上解析异常。
- 监控告警阈值:新规则上线初期建议设置保守的监控报警阈值,并配合灰度分流观测至少 24 小时。