我目前正在使用vector表示的文本输入,我想对其类别进行分类。因为它们是多级别类别,所以我打算使用Hierarchical Softmax
。
Example:
- Computer Science
- Machine Learning
- NLP
- Economics
- Maths
- Algebra
- Geometry
我不知道如何在Tensorflow中实现它。我遇到的所有例子都使用其他框架。
由于
答案 0 :(得分:9)
实际上,如果您的类别总数在数百到数千(小于50K)的范围内,您就不需要考虑使用分层softmax,它旨在更快地运行培训,以便分类为数百万个类别(例如,词汇表中的单词数)。
根据我的经验(使用朴素贝叶斯和神经网络),在训练时使用层次结构并不一定能提高您的分类质量。
但是,如果你有兴趣实现Hierarchical Softmax,那就是另一个故事。
答案 1 :(得分:4)
最后,我改用了Pytorch。它比Tensorflow更容易,更直接。
对于对实施HS感兴趣的任何人,您可以查看我的示例说明:https://gist.github.com/paduvi/588bc95c13e73c1e5110d4308e6291ab
对于仍然需要Tensorflow实施的人来说,这个适合您:https://github.com/tansey/sdp/blob/87e701c9b0ff3eacab29713cb2c9e7181d5c26aa/tfsdp/models.py#L205。但它有点乱,作者建议使用Pytorch或其他动态图框架