machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Понимание двоичной кросс-энтропии / потери логарифма: визуальное объяснение

Дата публикации Nov 21, 2018

фотоГ. КресколинаUnsplash

Введение

Если вы тренируетесьдвоичный классификаторСкорее всего, вы используетедвоичная кросс-энтропия/потеря журналакак ваша функция потери.

Вы когда-нибудь думали очто именно это значитиспользовать эту функцию потерь? Дело в том, что, учитывая простоту использования современных библиотек и сред, этоочень легко пропустить истинное значение функции потерьиспользуемый.

мотивация

Я искал сообщение в блоге, которое объясняет концепциидвоичная кросс-энтропия/потеря журналавнаглядно и лаконичночтобы я мог показать это своим ученикам вData Science Retreat, Так как я не мог найти то, что соответствовало бы моим целям, я взял на себя задачу написать это сам :-)

Простая классификационная задача

Начнем с 10 случайных точек:

x = [-2.2, -1.4, -0.8, 0.2, 0.4, 0.8, 1.2, 2.2, 2.9, 4.6]

Это наш единственныйхарактерная черта:Икс,

Рисунок 0: функция

Теперь давайте назначим некоторыецветак нашим точкам:красныйа такжезеленый, Это нашиэтикетки,

Рисунок 1: данные

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

Так как этобинарная классификацияМы можем также представить эту проблему как: «точка зеленаяИли, что еще лучше,какова вероятность того, что точка зеленого цвета«? Идеально,зеленые точкибудет иметь вероятность1,0(быть зеленым), в то время каккрасные точкибудет иметь вероятность0.0(быть зеленым).

В этой настройкезеленые точкипринадлежатположительный класс(ДАони зеленые), а покакрасные точкипринадлежатотрицательный класс(НЕТони не зеленые).

Если мысоответствовать моделичтобы выполнить эту классификацию, он будетпредсказать вероятность того, чтобы быть зеленымк каждому из наших пунктов. Учитывая, что мы знаем о цвете точек, как мы можемоцениватьНасколько хороши (или плохи) предсказанные вероятности? Это вся цельфункция потерь! Должно вернутьсявысокие значениядляплохие прогнозыа такженизкие значениядляхорошие прогнозы,

Длябинарная классификациякак наш пример,типичная функция потерьэтодвоичная кросс-энтропия/потеря журнала,

Функция потери: двоичная кросс-энтропия / потеря журнала

Если вы посмотрите этофункция потерьвверх, это то, что вы найдете:

Двоичная кросс-энтропия / потеря журнала

гдеYэтоэтикетка(1длязеленыйочки и0длякрасныйбаллы) ир (у)является предсказаннымвероятность того, что точка зеленаядля всехNточки.

Читая эту формулу, она говорит вам, что для каждогозеленыйточка (у = 1), добавляетлог (р (у))к потере, то естьлогарифмическая вероятность того, что это зеленый, И наоборот, это добавляетЖурнал (1-р (у)), этологарифмическая вероятность того, что это красный, для каждогокрасныйточка (у = 0). Не обязательно сложно, конечно, но не настолько интуитивно понятно…

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

Но прежде чем перейти к другим формулам, позвольте мне показать вамВизуальное представлениеформулы выше ...

Вычисление потерь - визуальный способ

Во-первых, давайтеТрещинаочки в соответствии с их классами,положительныйилиотрицательный, как на рисунке ниже:

Рисунок 2: разделение данных!

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

Рисунок 3: примерка логистической регрессии

Тогда для всех точек, принадлежащихположительный класс(зеленый), каковы предсказанныевероятностидано нашим классификатором? Этизеленые полосыподсигмовидная криваянаИкскоординаты, соответствующие точкам.

Рисунок 4: вероятности классификации точек в ПОЛОЖИТЕЛЬНОМ классе

Хорошо, пока, так хорошо! Как насчет точек вотрицательный класс? Помните, чтозеленые полосыподсигмовидная криваяпредставляют вероятность того, что данная точка являетсязеленый Итак, какова вероятность того, что данная точкакрасный?красные полосы вышесигмовидная кривая, конечно :-)

Рисунок 5: вероятности классификации точек в классе НЕГАТИВНО правильно

Собрав все это вместе, мы получим что-то вроде этого:

Рисунок 6: все вероятности вместе взятые!

Столбцы представляютпрогнозируемые вероятностисвязано с соответствующимнастоящий класскаждой точки!

ОК, у нас есть предсказанные вероятности ... времяоцениватьих путем вычислениядвоичная кросс-энтропия/потеря журнала!

Этивероятности - это все, что нам нужно, Итак, начнемизбавиться отИксосьи подвести бары рядом друг с другом:

Рисунок 7: вероятности всех точек

Ну, топодвесные решеткибольше не имеет смысла, так что давайтепереставить их:

Рисунок 8: вероятности всех точек - намного лучше :-)

Так как мы пытаемся вычислитьпотерянам нужно наказывать за плохие прогнозы, верно? Есливероятностьсвязано снастоящий классявляется1,0нам нужно егопотерябытьнуль, И наоборот, если этовероятностьнизкий, сказать,0,01нам нужно егопотерябытьОГРОМНЫЙ!

Оказывается, принимая(отрицательный) лог вероятностиподходит нам достаточно хорошо для этого (Поскольку лог значений от 0,0 до 1,0 является отрицательным, мы берем отрицательный лог, чтобы получить положительное значение для потери).

На самом деле, причина, по которой мы используемжурналибо это происходит от определениякросс-энтропиипожалуйста, проверьте «Покажите мне математикуРаздел ниже для более подробной информации.

График ниже дает нам четкую картину - какпрогнозируемая вероятностьизнастоящий классполучаетближе к нулю,потеря увеличивается в геометрической прогрессии:

Рисунок 9: Log Loss для разных вероятностей

Справедливо! Давайтевзять (отрицательный) лог вероятностей- это соответствующиепотерикаждой точки.

Наконец, мы вычисляемсреднее из всех этих потерь,

Рисунок 10: наконец, потеря!

Вуаля!Мы успешно вычислилидвоичная кросс-энтропия/потеря журналаэтого игрушечного примера.Это 0.3329!

Покажи мне код

Если хочешьперепроверьте значениемы нашли, простозапустить кодниже и убедитесь сами :-)

Покажите мне математику (правда ?!)

Шутки в сторону, этот постнепредназначен для очень математической склонности ... но для тех из вас, мои читатели, которые хотят понять рольэнтропия,логарифмыво всем этом, мы идем :-)

Если вы хотите углубиться втеория информации, включая все эти понятия - энтропия, кросс-энтропия и многое, многое другое - проверкаКрис Олахпослеэто невероятно подробно!

распределение

Давайте начнем с распределения наших очков. посколькуYпредставляетклассыиз наших точек (у нас есть3 красных очкаа также7 зеленых точек), это то, что его распространение, давайте назовем этод (у), выглядит как:

Рисунок 11: q (y), распределение наших точек

Энтропия

Энтропияэтомера неопределенностисвязано с данным распределениемд (у),

Что, есливсе наши очкимызеленый? Что будетнеопределенностьизчтораспределение?НУЛЬ, правильно? В конце концов, было бынет сомнений по поводу цветао точке: этовсегдазеленый! Так,энтропия равна нулю!

С другой стороны, что если бы мы точно зналиполовина балловмызеленыйиДругая половина,красный? Этохудший случайсценарий, верно? Мы бы абсолютнонет угадать угадать цвето точке: это полностьюслучайный! В этом случае энтропия определяется по формуле ниже (у нас есть два класса (цвета) - красный или зеленый - следовательно,2):

Энтропия для половинного распределения

Длякаждый другой случай междумы можем вычислитьэнтропия распределениякак нашд (у), используя формулу ниже, гдеСэто количество классов:

Энтропия

Итак, если мызнатьистинное распределениеслучайной величины, мы можем вычислить ееэнтропия, Но, если это так,зачем тренировать классификаторв первую очередь? В конце концов, мыЗНАТЬистинное распределение ...

Но что если мыне надо? Можем ли мы попытатьсяприблизительное истинное распределениес некоторымидругое распределение, сказать,р (у)? Мы можем точно! :-)

Кросс-энтропия

Давайте предположим, что нашточкиследоватьэтоДругиераспределениер (у), Но мы знаем, что онина самом деле идетотправда(неизвестный) распределениед (у), правильно?

Если мы вычислимэнтропиятаким образом, мы на самом деле вычисляемкросс-энтропиимежду обоими распределениями:

Кросс-энтропия

Если мы, несколько чудесным образом,совпадениер (у)вд (у)в совершенствевычисленные значения для обоихкросс-энтропииа такжеэнтропиябудет соответствоватьтакже

Так как это, вероятно, никогда не происходит,кросс-энтропия будет иметь большее значение, чем энтропиярассчитано на истинное распределение.

Кросс-энтропия минус энтропия

Оказывается, эта разница междукросс-энтропииа такжеэнтропияимеет имя ...

Расхождение Кульбака-Лейблера

Расхождение Кульбака-Лейблера,или "Дивергенция КЛДля краткости, является меройнесходствомежду двумя распределениями:

Дивергенция КЛ

Это означает, чтоближе p (y) добирается до q (y),нижедивергенцияи, следовательно,кросс-энтропии, будет.

Итак, нам нужно найти хорошийр (у)использовать ... но это то, что нашиклассификатордолжен делать, не так ли ?!И это действительно так! Это выглядит длялучший возможныйр (у)это тот, которыйминимизирует кросс-энтропию,

Функция потери

Во время обученияклассификаториспользует каждый изN балловв его учебном наборе для вычислениякросс-энтропиипотеря, эффективноподгонка распределения р (у)! Поскольку вероятность каждой точки равна 1 / N, кросс-энтропия определяется как:

Кросс-энтропия - точка за точкой

Помните рисунки с 6 по 10 выше? Нам нужно вычислитькросс-энтропиина верхней частивероятности, связанные с истинным классомкаждой точки. Это означает использованиезеленые полосыдля точек вположительный класс(у = 1) икрасныйвиситбрусьядля точек вотрицательныйучебный класс(у = 0) или, математически говоря:

Математическое выражение, соответствующее рисунку 10 :-)

Последний шаг - вычислитьсреднийиз всех точек в обоих классах,положительныйа такжеотрицательный:

Двоичная кросс-энтропия - вычисляется по положительным и отрицательным классам

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

Двоичная кросс-энтропия - обычная формула

Вуаля! Мы вернулись коригинальная формуладлядвоичная кросс-энтропия / логарифм:-)

Последние мысли

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

Если у вас есть какие-либо мысли, комментарии или вопросы, пожалуйста, оставьте комментарий ниже или свяжитесь со мной пощебет,

Оригинальная статья

Footer decor

© machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map