Текущая реализация системы рекомендаций использует алгоритм TF 1.8 и WALS . Модель была обучена с использованием self.fit (input_fn = input_fn) и ML Engine с версией 1.8. Набор данных был сформирован в соответствии с примером с использованием tenorflow.train.Example (...) Извлечение из журналов обучения, показанных ниже.

Подгонка была выполнена с некоторыми параметрами по умолчанию. Значение потерь уменьшилось при второй оценке. Однако потеря не изменилась после этого. Конечная взвешенная по корню квадратная ошибка (rwse) в этом обучении стала 0,126.
Настройка гиперпараметра была выполнена позже, и лучший набор параметров был использован в следующем обучении. Результат этого обучения показан ниже.

Дерево вещей, чтобы отметить здесь. Во-первых, значение потерь в начале ниже, чем на последующих этапах оценки. Низкое значение в начале, скорее всего, связано с выбором параметров из результатов настройки гиперпараметра. Увеличение значения потерь в дальнейшем выглядит странно. Во-вторых, это неизменная величина потерь после второй оценки. Этот шаблон остается тем же самым, в то время как self.fit (input_fn = input_fn) используется для обучения модели. В-третьих, окончательное значение rwse в этой тренировке составило 0,487, а при настройке гиперпараметра с тем же набором параметров rwse = 0,015
Вопрос в том, наблюдал ли кто-нибудь нечто подобное? Можно ли улучшить производительность алгоритма, используя класс WALSMatrixFactorization и self.fit (input_fn = input_fn, steps = train_steps) ?? Заранее спасибо за помощь.