TransE解读
Paper地址
1 目標
學習三元組的向量表達
2 算法
大致思路:
- 初始化+歸一化
- 遍歷數據
- 構造錯誤樣本
- 訓練計算loss函數
- 根據loss優化三元組的向量表達
3 優化方法
這個是loss函數的計算方法和負樣本的挑選方法
- loss函數(優化目標):正確的三元組比假造的三元組頭向量+關系向量-尾向量的差小,優化正確三元組的$ d(h+l,t) 減去假的三元組的減去假的三元組的減去假的三元組的 d(h{’}+l,t{’}) $
- 假的三元組的生成是隨機替換正確的三元組的頭或者尾部,不同時替換。
- 學習的目標是向量表達,所以迭代一次,計算loss,loss是代表正確樣本和錯誤樣本的距離差,這個值是個負數,越小代表約好,所以根據loss優化三元組的向量表達。
4 實驗
將上述embedding做鏈接預測
疑問:測試數據如何構成,測試數據從哪里來?
https://github.com/thunlp/OpenKE
這里面說到去掉了訓練集中出現的可能測試集會出現的三元組,所以說測試集就是另外一部分三元組的數據,從訓練集中剝離出來了,然后拿訓練集的數據做訓練,測試集直接拿score做排序,然后計算@hist10得到評分,所以鏈接預測就是學了個embedding,然后直接就排序了,如何體現是預測不存在的關系呢?難道把top5的都當作正確的關系???
總結
- 上一篇: TransE模型的简单介绍TransE模
- 下一篇: 【TransE模型】基于分布式表示推理