Шаг 164.
Глубокое обучение на Python. Обобщенный процесс машинного обучения. Разработка модели. Преодоление базового случая

    На этом шаге мы рассмотрим способы преодоления базового случая.

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

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


Выбор правильной функции потерь

    Выбирая функцию потерь, имейте в виду, что не всегда можно напрямую оптимизировать показатель успеха решения задачи. Иногда нет простого способа преобразовать показатель успеха в функцию потерь; функции потерь, в конце концов, должны быть вычислимыми на мини-пакетах данных (в идеале на очень маленьких объемах данных, вплоть до одного экземпляра) и дифференцируемыми (иначе не получится использовать обратное распространение ошибки для обучения сети). Например, широко используемую метрику классификации ROC AUC нельзя оптимизировать непосредственно. Поэтому в задачах классификации обычно оптимизируется некоторая ее оценка, например перекрестная энтропия. В общем случае можно считать, что чем ниже величина перекрестной энтропии, тем выше будет значение ROC AUC. Следующая таблица поможет вам выбрать функцию активации для последнего уровня и функцию потерь для некоторых типичных задач.

Таблица 1. Выбор функции активации для последнего уровня и функции потерь
Тип задачи Функция активации для последнего уровня Функция потерь
Бинарная классификация sigmoid binary_crossentropy
Многоклассовая однозначная классификация softmax categorical_crossentropy
Многоклассовая многозначная классификация sigmoid binary_crossentropy


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

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

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

    На следующем шаге мы рассмотрим разработку модели с переобучением.




Предыдущий шаг Содержание Следующий шаг