www.machinelearningmastery.ru

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

Home

Глубокое обучение: какие функции потери и активации я должен использовать?

Дата публикации Jul 26, 2018

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

В этом посте предполагается, что читатель знаком с функциями активации. Обзор по ним можно увидеть в предыдущем посте:Глубокое обучение: обзор нейронов и функций активации

Что вы пытаетесь решить?

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

Вы пытаетесь предсказать числовое значение?

Примеры: прогнозирование соответствующей цены продукта или прогноз количества продаж каждый день.

Если это так, см. РазделРегрессия: предсказание числового значения

Вы пытаетесь предсказать категорический результат?

Примеры: предсказание объектов, видимых на изображении, или предсказание темы разговора

Если это так, то вам нужно подумать о том, сколько классов и сколько ярлыков вы хотите найти.

Если ваши данные являются двоичными, это класс или не класс (например, мошенничество, диагностика, вероятность совершения покупки), см. РазделКатегориальное: предсказание бинарного исхода

Если у вас несколько классов (например, объекты на изображении, темы в электронных письмах, подходящие продукты для рекламы), и они являются эксклюзивными - у каждого элемента есть только одна метка - см.Категориальный: прогнозирование одного ярлыка из нескольких классов, Если в ваших данных есть несколько меток, вам следует обратиться к разделуКатегориальный: прогнозирование нескольких меток из нескольких классов,

Регрессия: предсказание числового значения

Например. прогнозирование цены продукта

Последний слой нейронной сети будет иметь один нейрон, а возвращаемое значение является непрерывным числовым значением.

Чтобы понять точность прогноза, его сравнивают с истинным значением, которое также является непрерывным числом.

Функция окончательной активации

линейный- Это приводит к числовому значению, которое нам требуется

или

РЕЛУ- Это приводит к числовому значению больше 0

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

Среднеквадратическая ошибка (MSE)- Находит среднеквадратичную разницу между прогнозируемым значением и истинным значением.

Категориальное: предсказание бинарного исхода

Например. прогнозирование транзакции является мошенничеством или нет

Последний слой нейронной сети будет иметь один нейрон и будет возвращать значение от 0 до 1, что может быть выведено как вероятное.

Чтобы понять точность прогноза, его сравнивают с истинным значением. Если данные этого класса, истинное значение равно 1, в противном случае это 0.

Функция окончательной активации

сигмоид- Это приводит к значению от 0 до 1, которое мы можем вывести, чтобы быть уверенным в том, насколько уверена модель в своем примере в классе.

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

Бинарный Крест Энтропия- Перекрестная энтропия количественно определяет разницу между двумя вероятностями распределения. Наша модель предсказывает модельное распределение {p, 1-p}, поскольку у нас есть двоичное распределение. Мы используем двоичную кросс-энтропию, чтобы сравнить это с истинным распределением {y, 1-y}

Категориальный: прогнозирование одного ярлыка из нескольких классов

Например. прогнозирование предмета документа

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

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

Функция окончательной активации

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

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

Крест Энтропия- Перекрестная энтропия количественно определяет разницу между двумя вероятностями распределения. Наша модель предсказывает модельное распределение {p1, p2, p3} (где p1 + p2 + p3 = 1). Мы используем кросс-энтропию, чтобы сравнить это с истинным распределением {y1, y2, y3}

Категориальный: прогнозирование нескольких меток из нескольких классов

Например. предсказывать присутствие животных на изображении

В последнем слое нейронной сети будет один нейрон для каждого из классов, и они будут возвращать значение от 0 до 1, что может быть выведено как вероятное.

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

Функция окончательной активации

сигмоид- Это приводит к значению от 0 до 1, которое мы можем вывести, чтобы быть уверенным в том, насколько оно уверенно в классе

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

Бинарный Крест Энтропия- Перекрестная энтропия количественно определяет разницу между двумя вероятностями распределения. Наша модель предсказывает модельное распределение {p, 1-p} (двоичное распределение) для каждого из классов. Мы используем двоичную кросс-энтропию, чтобы сравнить их с истинными распределениями {y, 1-y} для каждого класса и суммировать их результаты

Таблица результатов

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

Я надеюсь, что этот пост был ценным! Для получения дополнительной информации о нейронных сетях и функциях окончательной активации, пожалуйста, смотрите предыдущий пост:

Глубокое обучение: обзор нейронов и функций активации

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

Footer decor

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