1. 三欧吉Home
  2. 游戏资讯

机器学习落地游戏实践简析

1.绪论与前提

1.1机器学习是什么

机器学习定义

给定(训练)数据,发现一些潜在的模式并将这个模式应用于新数据。机器学习的核心是“使用算法解析数据,从中学习潜在的模式,然后对世界上的某件事情做出决定和预测”。

机器学习与人工智能的关系

  • 机器学习是人工智能的一个分支,使用特定的算法和编程方法来实现人工智能。人工智能致力于创造出比人类更能完成复杂任务的机器。
  • 深度学习是机器学习的一个子集,专注于模仿人类的神经网络的生物学和过程。

基本术语

  • 数据集、属性、样本空间、特征向量、维数
  • 从数据中学得模型的过程称为“学习”或“训练”,这个过程通过执行某个学习算法来完成

机器学习落地游戏实践简析

1.2发展历程与流派

机器学习是人工智能研究发展到一定阶段的必然产物

推理期:

二十世纪五十年代到七十年代初,人工智能研究处于“推理期”,那时人们以为只要能赋予机器逻辑推理能力,机器就能具有智能;这一阶段的代表性工作主要有A.Newell 和 H.Simom的“逻辑理论家”程序以及此后的“通用问题求解”程序等。

知识期:

二十世纪七十年代中期开启,人工智能研究进入了“知识期”,在这一时期,大量专家系统问世,在很多应用领域取得了大量成果并获得图灵奖,但是面临明显知识工程瓶颈:由人来把知识总结出来再教给计算机是相当困难的。

学习期:

二十世纪八十年代进入了“学习期”,“从样例中学习”的一大主流是符号主义学习,其代表包括决策树和基于逻辑的学习;典型的决策树学习以信息论为基础,以信息熵的最小化为目标,直接模拟了人类对概念进行判定的树形流程。基于逻辑的学习著名代表是归纳逻辑程序设计(ILP,Inductive Logic Programming)

统计学习:

二十世纪九十年代中期,“统计学习”登场并占据主流,代表性技术是支持向量机(SVM,Support Vector Machine)以及“核方法”(kernel methods)

深度学习:

机器学习中一种基于对数据进行表征学习的算法

机器学习现今已经发展成为一个相当大的学科领域,本文仅是管中窥豹,很多重要技术不再展开赘述,感兴趣的读者可查阅《神经网络与深度学习》、《机器学习》等书籍。

机器学习的五大流派,主要有符号主义、贝叶斯派、联结主义、进化主义、行为类推主义等

机器学习落地游戏实践简析

2.机器学习算法图谱

2.1监督及非监督式学习

监督式学习

采用标记数据以特定的模式来识别每种标记类型的新样本,主要类型是分类和回归

非监督式学习

训练数据没有标签或答案,目的是找出数据内部的关联和模式、趋势。分为聚类和降维

强化学习

给予算法一个不断试错,并具有奖励机制的场景,最终是算法找到最佳路径或者策略

半监督式学习

在训练阶段结合了大量未标记的数据和少量标签数据

机器学习落地游戏实践简析

机器学习落地游戏实践简析

3.上线流程简述

3.1  机器学习模型上线流程

3.1.1选择数据(特征工程)

训练数据、测试数据、验证数据(训练效果、泛化效果、验证效果)---将原始数据(日志、产品购买的历史记录等)数据清洗成可以由学习算法在训练和预测中使用的矢量(vector)的过程

3.1.2数据建模

使用训练数据来构建使用相关特征的模型

3.1.3训练模型

特征数据接入算法模型,来确定机器学习算法的类型、特征、参数等

3.1.4测试模型

使用测试数据检查被训练模型的表现(准确率、召回率)

3.1.5验证模型

使用完全训练好的模型在新数据上做预测

3.1.6调优模型

使用更多数据、不同特征或调整过的参数来提升算法的性能表现

机器学习落地游戏实践简析

4.PUBGM项目落地实践

4.1  算法接入背景

  • 游戏上线超过2年,海量的历史数据沉淀
  • 现有商业化系统存在一定的可提升空间
  • 海外游戏项目首次接入算法,利于沉淀经验

机器学习落地游戏实践简析

4.2  算法上线流程-产品侧主要工作

前面已经讲述过算法的整体上线流程,产品侧的工作重点在于训练数据梳理涉及的特征工程及调优模型设计的特征,整体流程回顾:

机器学习落地游戏实践简析

选择数据(特征工程)

训练数据、测试数据、验证数据(训练效果、泛化效果、验证效果)---将原始数据(日志、产品购买的历史记录等)数据清洗成可以由学习算法在训练和预测中使用的矢量(vector)的过程

具体步骤

特征数量

游戏道具特征s1(s11,s12,s13,...,s1k),s2(s21,s22 ,... s2k)...n

、用户特征u(u1,u2,u3 ... un)

创建训练实例,u(u,si)(1 – 购买)和(u,sj)(0 – 未购买)

特征逻辑

梳理特征具体至Tlog表名、字段提取逻辑,提取数据进行清洗

项目实践

总计梳理900+特征及日志提取逻辑,提供给算法团队进行数据建模、训练及测试,在算法模型不变的情况下,特征会显著影响算法效果

机器学习落地游戏实践简析

数据建模、训练、测试、验证模型由数据挖掘侧负责进行,此处不再展开赘述

4.3  具体落地算法简析

决策树算法

决策树算法将一组“弱”学习器集合在一起,形成一种强算法。一种流行的决策树算法是随机森林。在该算法中,弱学习器是随机选择的,这往往可以获得一个强预测器。

优点:

1)概念简单,计算复杂度不高,可解释性强,输出结果易于理解;

2)数据清洗工作较为简单,能够同时处理数据型和常规型属性,可扩展性强;

缺点:

1)容易过拟合

2)对于那些各类样本数量不一致的数据,在决策树当中,信息增益的结果偏向于那些具有更多数值的特征

3)信息缺失处理困难,人为改变特征容易使得分类器判断错误

机器学习落地游戏实践简析

集成学习原理

集成学习归属于机器学习,他是一种「训练思路」,并不是某种具体的方法或者算法;它并没有创造出新的算法,而是把已有的算法进行结合,从而得到更好的效果。

集成学习会挑选一些简单的基础模型进行组装,组装这些基础模型的思路主要有 2 种方法:

  • Bagging(bootstrap aggregating的缩写,也称作“套袋法”)
  • Boosting
  • Bagging的核心思路 :民主
  • Bagging 的思路是所有基础模型都一致对待,每个基础模型手里都只有一票。然后使用民主投票的方式得到最终的结果。
  • 大部分情况下,经过 bagging 得到的结果方差更小。

具体过程:

1)从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中)。共进行k轮抽取,得到k个训练集。(k个训练集之间是相互独立的)

2)每次使用一个训练集得到一个模型,k个训练集共得到k个模型。(注:这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等)

3)对分类问题:将上步得到的k个模型采用投票的方式得到分类结果;对回归问题,计算上述模型的均值作为最后的结果。(所有模型的重要性相同)

  • 主流方式:在 bagging的方法中,最为主流的随机森林:bagging + 决策树 = 随机森林

机器学习落地游戏实践简析

Boosting的核心思路 :挑选精英

  • Boosting 和 bagging 最本质的差别在于他对基础模型不是一致对待的,而是经过不停的考验和筛选来挑选出「精英」,然后给精英更多的投票权,表现不好的基础模型则给较少的投票权,然后综合所有人的投票得到最终结果。
  • 大部分情况下,经过 boosting 得到的结果偏差(bias)更小。

1)通过加法模型将基础模型进行线性的组合;

2)每一轮训练都提升那些错误率小的基础模型权重,同时减小错误率高的模型权重;

3)在每一轮改变训练数据的权值或概率分布,通过提高那些在前一轮被弱分类器分错样例的权值,减小前一轮分对样例的权值,来使得分类器对误分的数据有较好的效果。

  • 主流方式:在 boosting 的方法中,比较主流的有?Adaboost?和 Gradient boosting(梯度提升技术)。

机器学习落地游戏实践简析

4.4  游戏商业化系统落地

游戏内幸运空投系统

  • PUBGM幸运空投系统可简单理解为“推荐商店”,表现形式包装为游戏大厅按照指定机制触发的幸运空投,主要投放外显类道具
  • 算法模型:整体集成学习Boosting组训练思路的效果优于随机森林, Boosting训练思路用时间递减热销的模型整体购买率最高远超其他模型3倍以上;幸运空投主要基础模型(基学习器)为random forest(随机森林),GBDT(梯度提升技术), logistic regression(逻辑回归)
  • 前端界面优化:突出倒计时、道具折扣及新增可穿戴功能,可购买倒计时的时间缩短会造成一定的压迫感吸引用户短时间做出决策,道具品类出现的频率和折扣节奏的控制会造成一定的损失感吸引用户进行付费
  • 经验小结:特征工程对算法性能、模型调优的影响较为重要,产品侧可提出较多高重要度特征;集成学习算法集合基算法模型(基学习器)的优势,相对于单一机器学习的效果更好。

机器学习落地游戏实践简析

不放回抽奖系统

现存问题

  • 抵扣券的领取及使用分散在不同的界面,整体逻辑未闭环
  • 数据分析,发现抵扣券的使用数量较少,且固定梯度发放,绝大部分用户只使用较少数量抵扣券,存在一定的撸羊毛行为

解决方案

  • 新增抽奖界面掉落小空投功能,玩家抽奖时触发掉落抵扣券,可以直接领取并使用,实现逻辑闭环
  • 根据用户抽奖行为包括历史/当前抽奖轮次及所获得的道具,实时触发抵扣券,提升抽奖次数,从而提升付费ARPU

机器学习落地游戏实践简析

XGBoost算法原理

  • uxgboost能自动利用cpu的多线程,而且适当改进了gradient boosting,加了剪枝,控制了模型的复杂程度;
  • uxgboost则对代价函数进行了二阶泰勒展开,同时用到了一阶导数和二阶导数;
  • uxgboost在代价函数中加入了正则项,用于控制模型的复杂度。正则项里面包括树的叶子节点的个数、每个叶子节点上输出的score的L2模的平方和。

具体过程

lXGBoost算法的基本思想与GBDT类似,不断地地进行特征分裂来生长一棵树,每一轮学习一棵树,其实就是去拟合上一轮模型的预测值与实际值之间的残差。当我们训练完成得到k棵树时,我们要预测一个样本的分数,其实就是根据这个样本的特征,在每棵树中会落到对应的一个叶子节点,每个叶子节点就对应一个分数,最后只需将每棵树对应的分数加起来就是该样本的预测值。

机器学习落地游戏实践简析

5.其他游戏商业化应用现状

5.1 精细化概率

《英雄联盟》的页面抽奖

  • 玩法:十连抽,可合成或者熔铸,有里程碑
  • 算法:个性化概率,检测道具保有量及充值额度
  • 暴击的时机、物品(用户喜好、热销、限定、好友匹配度)、分用户类型
机器学习落地游戏实践简析

CFM的放回抽奖

  • 玩法:18个道具,放回抽奖
  • 算法:个性化道具概率
  • 对于不同用户类型的玩家,得到极品武器的期望有一定的差异

机器学习落地游戏实践简析

5.2    实时彩蛋

CF的王者轮回及千变轮回、COD的夺宝行动、剑灵的洪门秘宝、NBA的巨星陈列室等

  • 玩法:不放回抽奖逻辑,N个道具,、N个触发彩蛋、道具自选
  • 算法:聚类热销个性化奖池;实时彩蛋模型

机器学习落地游戏实践简析

CF的每日一抽

  • 玩法:6个道具,不放回抽奖;有彩蛋;顶级道具自选;每日刷新道具和轮次
  • 算法:实时彩蛋模型

机器学习落地游戏实践简析

5.3    个性化奖池

《英雄联盟》的武神降临抽奖、鸡里奥宝典等比较具有代表性

机器学习落地游戏实践简析

机器学习落地游戏实践简析

今天,机器学习经过半个世纪的发展,已经进入计算机科学的诸多分支学科领域中,并且与普通人的生活密切相关,本文仅是结合自身在PUBGM游戏中的落地实践进行抛砖引玉,尝试针对游戏商业化相关的机器学习分析,欢迎交流讨论,新年快乐哇!

原创文章,作者:,如若转载,请注明出处:https://www.3og.cn/51484.html

Contact Us

400-800-8888

在线咨询:点击这里给我发消息

邮件:uxgecn@qq.com

工作时间:周一至周五