LorentzFM的双曲嵌入,层次化特征的曲率空间映射?
类目、地域等层次化特征(树状:一级类目→二级→三级)具有层次与包含关系。在欧氏空间用扁平嵌入表示时,难以自然表达「父节点包含子节点」「层级深度」等结构;且层次多时扁平嵌入维数高、冗余大。双曲空间(如庞加莱球、洛伦兹模型)具有负曲率,可在低维下容纳树状结构且距离与层次一致(父近子、同层可区分),适合层次化表示。
Lorentz 模型(双曲空间的一种实现)将向量放在 Minkowski 空间:$\boldsymbol{x} = (x_0, x_1, \ldots, x_d)$,满足 $-\langle \boldsymbol{x}, \boldsymbol{x} \rangle_L = -x_0^2 + \sum_{i\ge 1} x_i^2 = 1$ 且 $x_0 > 0$,即落在双曲面上。距离用双曲距离(与 Minkowski 内积相关),满足:层次中父与子距离近、同层节点可通过距离区分。曲率由空间参数控制:曲率越负,同样维数下可容纳的层次越深、等效「容量」越大。
LorentzFM 将 FM 的嵌入从欧氏改为** Lorentz 双曲嵌入:每个特征对应 Lorentz 空间中的点,二阶交互用双曲距离或双曲内积形式建模。层次化特征(如类目 ID)映射到双曲空间后,父子、兄弟关系可由距离与曲率自然表达;曲率**可作为超参或可学习参数,控制空间的「弯曲程度」,适配不同深度与宽度的层次。训练时用双曲距离的损失(如 BPR、交叉熵),梯度在 Lorentz 空间上更新(需指数映射、对数映射保持点在流形上)。
| 返回模块 | 返回总览 |