Шаг 6.
Основы создания нейросети на Python.
Как работают нейронные сети. Тренировка простого классификатора

    На этом шаге мы приведем общую схему обучения нейронной сети.

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

    Как мы это сделаем?

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

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

Пример Ширина Длина Жук
1 3,0 1,0 Божья коровка
1 1,0 3,0 Гусеница

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

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

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

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

  у = Ах

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

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

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




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