Я использую модель Gensim Doc2vec для обучения векторов документов. Я распечатал представления для слова «хорошо», но я нашел каждую эпоху, я не нашел обновления! Пока я распечатывал представления для документа с идентификатором «3», каждая эпоха отличается!Doc2vec Gensim: слово вложения не обновляются в каждую эпоху
Мои коды ниже, не знаю, что происходит.
model = gensim.models.Doc2Vec(dm = 0, alpha=0.1, size= 20, min_alpha=0.025)
model.build_vocab(documents)
print ('Building model....',(time4-time3))
for epoch in range(10):
model.train(documents)
print('Now training epoch %s' % epoch)
print(model['good'])
print(model.docvecs[str(3)])
Я не понял, что вы подразумеваете. (1) В каждую эпоху векторы слов не начинаются наугад, а из предыдущего значения слова. Только в первую эпоху векторы векторов начинаются со случайного. – kampta
каждый раз, когда вы вызываете функцию «train», вектор слов получает случайное значение для векторов слов. в другом слове «поезд» функция начала учебной модели от начала и слова вектор получить случайное значение. –
Это правильно. Функция «поезд» начинает обучение с начала. Поскольку значение по умолчанию параметра 'seed' функции' train' фиксировано равным 0, каждый раз, когда вы начинаете обучение, векторы векторов будут инициализированы одинаковыми случайными значениями, а после «n эпох» вы получите одинаковые векторы (по существу эксперименты воспроизводимы) – kampta