Поделиться через


MatrixFactorizationTrainer.Options.Alpha Поле

Определение

Важность потери ненаблюдаемых записей в одноклассовой матричной факторизации. Применимо, если LossFunction задано значение SquareLossOneClass

public double Alpha;
val mutable Alpha : double
Public Alpha As Double 

Значение поля

Комментарии

Важность потери ненаблюдаемых (т. е. отрицательных) записей в одноклассовой матричной факторизации. Как правило, в обучении наблюдается только несколько матричных записей (например, менее 1 %) (т. е. положительные). Чтобы сбалансировать вклады от ненаблюдаемого и наблюдаемого в общей функции потерь, этот параметр обычно является небольшим значением, чтобы решатель мог найти факторизацию в равной степени хорошо для незамеченных и наблюдаемых записей. Если в матрице обучения 200000-х300000 присутствует только 10000 наблюдаемых записей, можно попробовать Alpha = 10000 / (200000*300000 - 10000). Если наблюдается большинство записей в матрице обучения, можно использовать Альфа >> 1. Например, если в предыдущей матрице не наблюдается только 10 000, можно попробовать Alpha = (200000 * 300000 – 10000) / 10000. Следовательно, Alpha = (# наблюдаемых записей) / (# ненаблюдаемых записей) может сделать наблюдаемые и ненаблюдаемые записи одинаково важными в функции сведенных потерь. Однако лучший параметр в машинном обучении всегда зависит от данных, поэтому пользователю по-прежнему нужно попробовать несколько значений.

Применяется к