> For the complete documentation index, see [llms.txt](https://fuxi-up-research.gitbook.io/open-project/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fuxi-up-research.gitbook.io/open-project/research_topics/stable_learning_framework.md).

# 游戏数据场景下的稳定学习框架

## 课题背景

如图1所示，游戏数据场景下的预测或者分类任务如[游戏场景预测](/open-project/research_topics/map_prediction.md)、[行为序列反外挂](/open-project/research_topics/behavior_sequences_based_bot_detection.md)、[时空序列预测](/open-project/research_topics/online_time_prediction.md)等，通常都利用动态流式数据（包括用户行为日志、用户关系图谱、用户画像标签和游戏版本设定等）作为输入，并且需要根据最新数据来输出结果。

![图1：动态流式数据学习任务](https://noterminus.gitee.io/image_bed/images/streaming_learning_task.png)

这类基于动态流式数据的任务往往面临两大挑战：

* 模型性能瓶颈

由于数据的快速动态变化，有监督学习任务面临**概念漂移**和**模型退化**的问题，线下训练数据往往与生产环境数据分布不一致，同时也跟不上生产环境数据的快速变化。

* 模型效率瓶颈

为了取得较高的离线模型性能，往往导致**较大参数规模**的模型，这与生产环境下推理任务的实时需求产生矛盾；同时海量数据的训练极为耗时，**长时间训练迭代**往往跟不上数据的动态变化。

如何从训练数据中获取有效样本，同时从数据特征中发现因果特征成为维护模型稳定性的关键。

## 问题定义

稳定学习的定义主要有两个方面，一个是针对数据集，考虑所有可能的测试数据上的平均效果和方差，在保证平均效果最优的情况下，方差越小越稳定；另一个是针对样本点，希望模型在每个样本点上的误差都是一样的。

形式化定义：给定目标$$y$$和输入变量$$x=\[x\_1,x\_2,\cdots,x\_p] \in \mathbb{R}^p$$，稳定学习任务就是学习一个能够在任一数据点上实现均匀误差的预测性模型。

## 问题挑战

该问题主要面临以下挑战：

* 如何建立模型无关的稳定学习框架
* 如何进行评价稳定学习算法的性能

## 评价指标

主要评估算法预测的稳定性：

* 在不同分布数据上平均误差
* 在不同分布数据上误差的波动情况（如方差）

## 数据集描述

* 用户画像数据

| 字段           | 类型     | 描述     |
| ------------ | ------ | ------ |
| role\_id     | string | 玩家id   |
| level        | int    | 玩家等级   |
| role\_class  | int    | 职业     |
| online\_time | int    | 在线时长   |
| total\_exp   | int    | 总经验    |
| total\_gold  | int    | 游戏代币数量 |
| ……           |        |        |

* 用户历史动作序列

| 字段             | 类型     | 描述                 |
| -------------- | ------ | ------------------ |
| role\_id       | string | 玩家id               |
| action\_id     | int    | 动作id               |
| objective\_ids | string | 动作对象id，多个对象id以逗号隔开 |
| time\_stamp    | int    | 动作发生的时间戳           |

* 用户关系网络（以游戏组队和师徒为例）

| 字段          | 类型     | 描述     |
| ----------- | ------ | ------ |
| role\_id    | string | 玩家id   |
| team\_id    | int    | 游戏队伍id |
| teacher\_id | int    | 师傅id   |
| student\_id | int    | 徒弟id   |
| ……          |        |        |

## 联系我们

有任何问题，请联系 <wurunze1@corp.netease.com>
