【问题标题】:How to interpret --audit and --invert_hash output for vowpal wabbit --rank model?如何解释 vowpal wabbit --rank 模型的 --audit 和 --invert_hash 输出?
【发布时间】:2023-03-03 22:29:01
【问题描述】:

我正在使用 VW Windows 二进制文件 (v8.1.1),但我无法找到/运行 gd_mf_weights 文件来从movielens 数据的矩阵分解模型中生成潜在因子。是否可以使用 --rank 模型的 --audit 或 --invert_hash 命令检索潜在项目/用户向量?如何解释输出?

--审核

0.083820 0
user^0:40152322256(250064):1:0.0203829  item^0:39109980128(2289632):1:0.034971
5 1
5 2
5 3
5 4
5 5
2.255293 6

--invert_hash

options: --quadratic ui --rank 5
Checksum: -1594367130
0 0.026660 0.029663 0.066095 0.001638 0.024027 0.049405 0.086664 0.039567 0.004046 0.004133 0.001141
1 0.071812 0.048789 0.009294 0.078689 0.055306 0.079207 0.051241 0.033831 0.038871 0.034245 0.004538
2 0.068148 0.066196 0.043153 0.090472 0.039405 0.068468 0.028950 0.047775 0.065153 0.068769 0.089713
3 0.061660 0.051192 0.036081 0.077850 0.084801 0.042123 0.092750 0.059213 0.045027 0.071334 0.062931
4 0.087708 0.096122 0.003722 0.065780 0.036524 0.008498 0.071953 0.025418 0.038625 0.085860 0.069624
5 0.048324 0.097188 0.020505 0.055188 0.065675 0.010707 0.099586 0.061309 0.013237 0.007674 0.021914

【问题讨论】:

    标签: python azure machine-learning vowpalwabbit


    【解决方案1】:

    是否有理由使用-q--rank 而不是内置的低秩二次交互--lrq

    以下是我将如何使用 --lrq--invert_hash 训练分解机器推荐器。假设您的数据集如下所示:

    4 |u john |i hammer
    ...
    

    其中编码了用户“john”给项目“hammer”评分为 4 等的信息。

    我会按如下方式训练模型:

    $ echo "4 |u john |i hammer" | vw --lrq ui5 --invert_hash model.readable.txt
    

    然后从model.readable.txt(“:0”行以下的所有内容)中提取潜在因素:

    $ cat model.readable.txt
    Version 8.6.1
    Id 
    Min label:0
    Max label:4
    bits:18
    lda:0
    0 ngram:
    0 skip:
    options: --hash_seed 0 --link identity --lrq ui5
    Checksum: 3876651432
    :0
    Constant:142048:0.231715
    i^hammer:99576:0.231715
    lrq^i^hammer^1:99577:0.238051
    lrq^i^hammer^2:99578:0.641153
    lrq^i^hammer^3:99579:0.177484
    lrq^i^hammer^4:99580:0.333955
    lrq^i^hammer^5:99581:2.82811
    lrq^u^john^1:15281:1.23084
    lrq^u^john^2:15282:0.457055
    lrq^u^john^3:15283:1.65113
    lrq^u^john^4:15284:0.877392
    lrq^u^john^5:15285:0.103614
    u^john:15280:0.231715
    

    希望对您有所帮助。

    【讨论】:

    • 谢谢。我正在评估大众汽车中 --rank 和 --lrq 方法之间的矩阵分解结果,并且能够解释 --lrq 输出但不能解释 --rank 输出。即使使用 gd_mf_weights 并发布了一个新问题,我仍然无法从经过训练的 --rank 模型生成权重并发布了一个新问题:stackoverflow.com/questions/56046656/…
    • 我明白了。我想在我知道--lrq 之前,我实际上已经这样做了。我相信我的方法是创建一个最小数据集来对所有标记进行线性传递,然后使用--audit 来解析学习的权重。这是在here 中实现的。
    猜你喜欢
    • 2015-07-01
    • 2014-11-08
    • 2015-06-20
    • 2016-08-22
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    • 2014-11-23
    • 2022-01-09
    相关资源
    最近更新 更多