gpt4 book ai didi

machine-learning - 使用条件随机场进行序列学习?

转载 作者:行者123 更新时间:2023-11-30 09:11:21 26 4
gpt4 key购买 nike

我是顺序学习(和机器学习)的新手,并且正在尝试了解如何使用条件随机场来解决我的问题。

我有一个数据集,它是我的应用程序的最终用户工作时间和地点的顺序日志。例如,以下数据集仅包含 User1 的值

User   Facility   Weekday
User1 FacilityA Monday
User1 FacilityB Tuesday
User1 FacilityC Wednesday
... ... ...

我正在尝试解决以下问题:给定用户工作的工作日和设施,他们接下来将在哪个设施和工作日工作?

为了解决这个问题,我开始研究条件随机字段,但是任何库都很难使用它......

我尝试使用以下库:1.PyStruct(https://pystruct.github.io/) 但由于这个问题,这对我不起作用:Index out of bounds: Fitting SSVM using Pystruct

  • CRFSuite ( http://www.chokkan.org/software/crfsuite/ )(这依赖于 libBFGS。当我在我的 ubuntu 机器上安装 libbfgs 时没有任何错误,为 CRFSuite 运行“make install”仍然失败,并说它无法识别 libBFGS)
  • 所以我转向另一个图书馆..3.CRF++(https://taku910.github.io/crfpp/)

    我能够安装 CRF++ 并且也能够运行其发行版中给出的示例。但是,我需要一些帮助来了解如何修改模板文件以适合我的用例...

    此外,我认为我的标签将是上述数据集中的设施+工作日的串联字符串。

    我是序列学习的新手,目前正在努力研究如何解决这个问题......

    任何建议都会非常有帮助,因为我似乎有点卡在这里..

    谢谢!

    最佳答案

    1. 是的,由于您正在尝试预测两个标签( Facility 和 Day ),因此需要连接标签。另外,您还可以学习 2 个不同的模型来预测每个标签(参见第 3 点)。

    2. 我认为您应该研究这个问题的回归模型而不是条件随机场。

    3. 我认为数据的排列方式应该使得用户的日志历史记录易于了解。您能告诉我“任何”用户的“最少”历史记录吗(最近 3 次登录?5 次登录?7 次登录?)?

    假设您有每个用户最近 3 次登录。然后,如果在你的位置,我会以不同的方式排列数据并学习两种不同的模型,一种用于预测日期,另一种用于预测设施。用于预测日期的数据和模板文件的排列示例是 here 。同样,您可以将星期几的名称更改为设施名称,并学习用于预测设施的模型。您也可以考虑并向我建议的功能添加更多功能。如果您有更多的用户数据(例如职业或年龄等),那么您绝对应该尝试向训练数据添加更多列,并将这些列添加为模板文件中的特征。请记住,测试文件的排列方式应与训练文件相同(除了最后一列可以为空/缺失,因为它是模型在测试过程中预测的标签)。

    如果您想继续预测一个模型中的两个标签,您可以尝试串联(在我给您的示例中,day 现在将变为 day_facility)。

    关于machine-learning - 使用条件随机场进行序列学习?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36239779/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com