如何在TensorFlow中训练捕捉棒球球员得分类别联合依赖的模型?
棒球球员梦幻得分联合概率建模方案
背景
我平时爱好给棒球球员的梦幻得分做建模。某场比赛里一支球队有9名首发击球手按顺序上场,我已经用带加权标签平滑的多分类器,训练出每位球员单场比赛中获得不同离散得分的概率分布,目前效果不错,能算出每位球员单场得分的百分位数。
现在我想训练一个能捕捉球员间得分依赖关系的模型。之前试过拟合经验Copula,但发现这种依赖关系会随比赛环境变化——比如在总得分高的比赛里,两名球员同时拿到高分段结果的概率,比总得分低的比赛要高。
理想实现方案
我想要的模型大致结构如下:
# 每位球员的得分百分位数数组,每个元素对应一场比赛的结果 batter1_percentiles = [0.11, 0.43, 0.67, 0.51 , ... , 0.33] ... batter9_percentiles = [0.27, 0.68, 0.44, 0.97 , ... , 0.12] # 构建模型 model = tf_keras.Sequential([ tf_keras.layers.Dense(10), tf_keras.layers.Dense(5), # 这里需要添加合适的层来建模球员间的得分依赖关系 ]) model.compile(# 配置优化器、损失函数等训练参数) model.fit(# 传入训练数据完成模型训练) # 模型输出可以是每位球员的得分百分位数,也可以是具体的得分类别预测,我没有特别偏好 joint_percentiles = model(x_tst) # 核心要求:多次调用model(x_tst)需返回不同的结果, # 大量采样后就能得到单场比赛中所有球员得分的联合概率分布
内容的提问来源于stack exchange,提问作者Steven Kelly
相关产品推荐
相关产品推荐

