在推荐系统中,给一个用户推荐的商品数太多了,我用word2vector的方法把4000多个商品中每一个商品都转化为了一个1*32维的向量,例如:
'1946069(某个商品ID)': [-0.00774537, 0.25474867,..... , 0.11047965, -0.06326025, 0.00626706] 1*32维向量表示一个商品,一共由4000多个这样32维的商品向量
现在我希望的是利用DQN做强化学习推荐,输入是用户和商品向量(都是1*32维),输出是接下来agent打算推荐的商品。
如果使用one-hot作为DQN输出的action的话,就要对所有商品(4000多)进行one-hot编码,作为输出action。但这样会导致action数量过多。
我参考了一下DDPG,可能由于没太学明白,DDPG给我感觉是处理一个范围内的连续变量,例如输出[-2,2]区间内的一个值,但目前我的商品向量是32维的,DDPG能否给出多维的连续变量输出呢?
我最希望的是RL网络能输出一个32维的向量,这样我可以根据向量欧式距离判断网络推荐的是哪种商品,再进一步计算reward等后续操作更新网络。
或者有什么方法能缩减DQN输出action的数量,至少让我不用将4000多种商品全作为action。
谢谢
请问你解决了吗