Я понял, что выходная матрица, использующая быстрый текст Отрицательной выборки и Иерархического Softmax, имеет тот же формат (matrix target_size x embedding_dimensions), но имеет совершенно другое значение. Сначала я могу просто сделать np.argmax(np.matmul(output_matrix,embedding))
, чтобы получить лучший результат. Для HS мне нужно иметь дерево Хаффмана, а вложение output_matrix [i] * на самом деле является решением по пути в этом дереве. Поэтому они не взаимозаменяемы. И дерево HS на самом деле используется во время обучения.
Мой вопрос следующий. Если у меня есть выходная матрица, построенная по отрицательной выборке, могу ли я построить выходную матрицу и новое дерево HS, чтобы она давала тот же результат? Т.е. я хочу использовать HS только для прогнозирования, так как это совпадение быстрее для вычислений для большого числа классов.
И еще один вопрос, если у меня есть выходная матрица HS, как я могу преобразовать в нормальную матрицу softmax?