ROI_监督学习_一次性学习, LTV_强化学习_持续学习
这篇文章算是从第一份实习开始之后就一直想写,但是又不知道怎么表述,直到最近看到《Rich Sutton,toward a better deep learning》关于深度学习中短期学习与持续学习的讨论,才发现这是我一直想表达的:不断的训练单个模型最优并不意味着全局最优,但可悲的是团体无法跨越时间长度来追求长期价值,除非具有强有力的集权注意,希望这篇文章能带给你启发!
0x01 互联网公司 与 MDP 过程
回顾第一份实习已经过去一年了,依旧忘不了首次踏入互联网公司带给我的 Model shock。当时入职的是滴滴,一家国内最早开始做网约车平台的公司,车厂或者司机可以通过平台与乘客呼单即时交流来完成接送乘客的服务,在这背后需要完成大量的交易匹配、定价策略、供需调节的模型,一个常见的链路是:
根据市场的反馈,利用收集的离线数据更新模型,并根据模型上线的效果
而回顾带奖励的MDP 过程则是
智能体(Agent)根据环境(Env)输入的观察(Observation)来输出自己的选择(Action)得到对应的奖励(Rewards)并生成下一个新的状态(State)和观察(Obs),希望最大化自己的回报(Return),也就是累计奖励之和。
- 即时奖励(Reward):指的是在某一时刻,智能体因采取某个动作所获得的直接反馈。这是一个短期的量化反馈,可能代表了该动作在该时刻的“好坏”。
- 长期回报(Return):是指智能体从当前状态开始,通过一系列动作所能获得的累积奖励。它通常是未来所有奖励的折扣和加权总和。强化学习的目标不是仅仅最大化某一时刻的奖励,而是最大化 未来的累积奖励,即长期回报。
类比上来看,互联网公司类似智能体,而算法工程师则是智能体的 update 策略,我们会收集离线的数据来训练我们的模型,来获取最大的短期 reward而不是 return。
为什么我们要追求 return 而不是 reward?
强化学习的核心目标是学习到一个 最优策略,使得智能体在整个任务过程中获得最大的累积奖励。如果智能体只关注即时奖励,它可能会做出只对当前有利但不对未来有利的决策,导致整个任务的表现并不理想。
例如,如果一个机器人正在玩一个游戏,它可能在某个时刻获得了很高的即时奖励,但如果它没有考虑到游戏后期的情况,它的决策可能会导致在后期失去更多的奖励。因此,智能体需要通过 长期回报 来评估当前决策的“好坏”,而不是仅仅依赖于即时反馈。
AB 实验方法可以看作是蒙特卡洛采样 Sample,来得到对应的数据
大盘数据可以看作是自举式的 bootstrap 方法,需要 online 学习
大量的数据、产品、算法、开发根据市场需求来不断调整公司的(Policy),进而为用户的状态传递输出对应的动作。
0x02 ROI和LTV
2.1 指标计算
ROI(投资回报率)是一个用来衡量投资效益的财务指标。它通过比较投资所获得的回报与投资成本之间的比例,帮助企业或个人评估某项投资是否值得进行。ROI 是评估各种投资决策的常用工具,可以帮助确定资金投入是否产生了预期的收益。
LTV(Lifetime Value,客户生命周期价值)是一个常用的商业和营销指标,用于衡量一个客户在其与公司合作的整个生命周期中,可能为公司带来的总利润。LTV的计算通常基于客户的购买频率、购买金额、购买周期以及客户留存时间等因素。
2.2 指标理解
计算指标最终是希望衡量模型长期的优劣,上述两个指标中 ROI 可以看作是一个短期奖励,是容易看到的但是不客观的,其中 LTV 是不可计算的但是是我们追求的圣杯。
因为从用户的生命周期来看 ta 可以分为获取(A)、激活(A)、留存(R)、活跃(R)推荐(R)、流失(C)不同的阶段,不同阶段代表着不同的价值水平。如果在单次的模型迭代中仅仅关注一个维度(例如指标提升的 ROI)可能会出现下列错误:
- 用户的留存率低,但是长期贡献的消费低,说明引入的用户是白嫖党
- 用户的消费水平很高,但是立刻流失,难以形成复购和转化
- 初始的 ROI 很低,但是用户留存率和复购率执行,可以有效的提升业务收益
但是无论是互联网日星月异的变化,或者自身岗位的更迭都很难对于LTV 进行准确的计算,同时我们也没有反事实的能力去做蒙特卡洛采样,所以 AB 实验成为互联网公司的唯一准则,但是往往忘记到了环境是在改变的额
2.3 TD learning 与 MC
TD 学习是强化学习中基本的概念,主要是采用 online 学习的思想(bootstrap 自举的方法),不断的在环境中进行探索来逼近自身估计的 return,下列两种方法的区别在于 TD target 的不同,造成学习的 TD difference 进行
- SARSA 的 TD target
- Q learning 的 TD target
不同蒙特卡洛(MC sample)方法的采样,off-line 学习的成本太大了。
0x03 从宏观的 RL 到 DL
3.1 数据处理 – 偏差
在因果推断中核心的问题是处理观察数据中存在的偏差,但是很难有人可以讲清楚偏差是什么。从推荐系统中具体业务的角度理解可以对偏差有更加具体的认识,这里由 GPT 来总结常见的偏差类型:
偏差类型 | 定义 | 表现 | 解决方法 |
---|---|---|---|
选择偏差 | 训练数据中某些用户或物品的行为过度或不足代表。 | 训练数据只包含活跃用户,导致系统无法有效预测冷门用户。 | 确保数据采样的代表性,进行平衡采样。 |
反馈偏差 | 用户反馈受推荐系统推荐的影响,形成循环。 | 系统倾向推荐热门物品,忽略冷门物品或新物品。 | 区分离线和在线数据,使用探索策略(如多臂老虎机)。 |
暴露偏差 | 用户仅基于展示的内容进行反馈,导致物品低估。 | 展示频率低的物品未得到足够反馈,导致其被低估。 | 增加展示频率或采用探索性推荐。 |
冷启动偏差 | 没有足够历史数据时,推荐系统难以有效推荐物品或用户。 | 新用户或新物品无法得到足够反馈,推荐效果差。 | 引入基于内容的推荐或利用外部数据(如社交网络)。 |
时间偏差 | 用户行为或物品流行趋势随时间变化,训练数据未能捕捉到这种动态。 | 推荐过时物品,忽略用户的最新偏好。 | 定期更新模型,使用时间衰减函数或时间序列模型。 |
稀疏性偏差 | 用户与物品之间的交互矩阵稀疏,许多用户对大部分物品没有交互。 | 模型无法有效捕捉用户真实偏好。 | 使用矩阵分解或深度学习技术填补缺失数据,增强协同过滤。 |
标签偏差 | 训练标签不准确或具有偏差,用户点击数据未必反映真实兴趣。 | 点击率等指标过度偏向展示频繁内容,忽略内容多样性。 | 通过多种反馈信号(如停留时间、评分)来综合评估用户兴趣。 |
用户偏差 | 用户行为的偏差影响推荐效果,某些用户只关注特定类型物品。 | 模型过于依赖用户历史行为,忽略潜在兴趣。 | 引入用户画像和多种特征,增强推荐个性化和多样性。 |
上下文偏差 | 用户偏好与环境因素(时间、地点、设备)相关,忽略这些信息会产生偏差。 | 忽略上下文时,推荐结果可能不适合特定场景或时间。 | 融入上下文信息,如设备、地点、时间等。 |
核心偏差的问题在于训练模型时候的状态是不一致的,我们无法单纯的输出动作到奖励之间的相关关系,而是需要考虑环境输出状态的变化造成的影响。但是往往是我们将状态S + 收集的短期数据来进行训练,依旧无法很好的保证在之后下一个 S 下的结果,因为环境是在变化的,而离线评估的结果往往也会收到状态的影响造成的偏差影响。
3.2 重要性采样 – 去偏
可以和倾向性分数(PS)的角度去理解,这里忽略