Шаг 5.
Основы создания нейросети на Python.
Как работают нейронные сети. Задачи классификации и прогнозирования очень близки

    На этом шаге мы рассмотрим эту особенность указанных задач.

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

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

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

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

    Что получится, если мы наложим на этот график прямую линию?

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

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

    Давайте проведем другую линию, изменив наклон, и посмотрим, что при этом произойдет.

На этот раз линия оказалась еще менее полезной, поскольку вообще не отделяет один вид жуков от другого.

    Сделаем еще один заход.

    Вот это другое дело! Линия отчетливо отделяет гусениц от божьих коровок. Теперь мы можем использовать ее в качестве классификатора жуков.

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

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

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

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

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

    Ответ на этот вопрос также имеет самое непосредственное отношение к способности нейронной сети обучаться, к рассмотрению чего мы и переходим.

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




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