Объяснение вероятности отрицательного журнала

Это функция затрат, которая используется в качестве потерь для моделей машинного обучения, показывая нам, насколько плохо оно работает: чем ниже, тем лучше.

Я объясню это слово в слово, надеюсь, у меня все получится. легче понять.

Отрицательный: очевидно, означает умножение на -1. Какие? Утрата нашей модели. В большинстве фреймворков машинного обучения есть только минимизация оптимизации, но мы хотим максимизировать вероятность выбора правильной категории.

Мы можем максимизировать минимизируя отрицательную вероятность журнала, вот она, мы хотим каким-то образом максимизировать, минимизируя.

Кроме того, таким образом гораздо проще рассуждать о потерях, чтобы соответствовать правилу приближения функций потерь к нулю по мере того, как модель становится лучше.

Журнал: как объяснено ниже, мы вычисляем произведение нескольких вещей. Также, если вам повезет, вы помните, что log (a * b) = log (a) + log (b)

Почему мы хотим все обернуть логарифмом? Компьютеры способны почти на все, кроме точного числового представления.

Может случиться так, что после умножения вы потеряете точность, если числа будут слишком большими или слишком маленькими. При использовании в журнале числа, такого как 1e-100, журнал становится чем-то близким к -230, что намного проще для представления на компьютере !!

Лучше прибавить -230, чем умножить на 1e-100.

Вы можете найти еще один пример числовой стабильности здесь https://stackoverflow.com/questions/42599498/numercially-stable-softmax

Вероятность: разве это не то же самое, что вероятность? Значение этого слова очень похоже, не так ли? Как и во многих случаях, статистику необходимо быть точным, чтобы определять концепции:

Вероятность относится к вероятности того, что некоторые расчетные параметры дадут некоторые известные данные.

Это имеет смысл, так как в машинном обучении нас интересует получение некоторых параметров, соответствующих шаблону, присущему данным, данные фиксированы, а параметры не используются во время обучения.

Обычно модель выводит набор вероятностей (например, [0,1, 0,3, 0,5, 0,1]), как это соотносится с вероятностью? Мы используем NLL в качестве потерь, а модель выводит вероятности, но мы сказали, что они означают нечто иное.

Ооооо ... тогда как они вместе играют? Что ж, чтобы вычислить вероятность, мы должны использовать вероятности. Чтобы продолжить приведенный выше пример, представьте, что для некоторых входных данных мы получили следующие вероятности: [0,1, 0,3, 0,5, 0,1], 4 возможных класса. Если истинным ответом будет четвертый класс в виде вектора [0, 0, 0, 1], вероятность текущего состояния модели, производящей входные данные, составляет:

0*0.3 + 0*0.1 + 0*0.5 + 1*0.1 = 0.1.

NLL: -ln (0,1) = 2,3

Вместо этого, если бы правильной категорией был третий класс [0, 0, 1, 0]:

0*0.3 + 0*0.1 + 1*0.5 + 0*0.1 = 0.5

NLL: -ln (0,5) = 0,69

Сделайте вдох и посмотрите на значения, полученные с помощью логарифма и умножения на -1.

Понимаете? Чем точнее прогноз, тем меньше потери NLL, а это именно то, что мы хотим! То же самое работает и с другими потерями: чем лучше выход, тем меньше убыток.

Когда это использовать?

При классификации.

Могу ли я использовать его для двоичной классификации?

Да, конечно, но обычно у фреймворков есть свои собственные функции потерь двоичной классификации.

Могу ли я использовать его для классификации по нескольким меткам?

Да, ты можешь. Взгляните на эту статью о различных способах наименования потери кросс-энтропии. Подожди! Перекрестная потеря энтропии. Что это такое? Из википедии:

[…], Чтобы максимизировать вероятность - это то же самое, что минимизировать перекрестную энтропию […]

Https://en.wikipedia.org/wiki/Cross_entropy

На практике то же самое.