Читать книгу Нейронный сети. Эволюция - Каниа Алексеевич Кан - Страница 21
ГЛАВА 5
ОглавлениеБольше входных данных
А что будет если добавить на вход искусственного нейрона, еще больше данных? Для начала, хотя бы еще один…
Проблемы линейной классификации
Допустим поступило новое задание, не совсем похожее на предыдущее. Теперь от нас хотят классифицировать виды животных, но уже с дополнительным параметром – возраст. Тестовая выборка дается уже по трем параметрам – ширина, высота, возраст. Первое что приходит в голову – объединить два параметра в одно. Если принять соотношение длины к высоте за один параметр, то мы можем смело действовать, как раньше:
Но проанализировав всё задание самостоятельно, мы пришли к такому выводу:
Как видим – данные пересекаются. И действительно, природу, как и всё что нас окружает, далеко не всегда можно классифицировать прямой. Даже один и тот же вид животных, может обитать в разных климатических зонах и условиях, что может сильно сказываться на параметрах его тела.
Что же делать? Ну для начала не будем паниковать и попробуем найти решение, пойдя по простому пути.
Логические функции
Рассмотрим, что будет на выходе нашего нейрона, добавив к нему еще один вход. Для этого, будем подавать на его вход данные логических функций.
Логическая функция принимает на вход два аргумента. Их значения, целевые значения, тоже известны. Логические функции могут принимать только дискретные аргументы (0 или 1).
Рассмотрим логическую функцию (И). Такая функция равна нулю для любого набора входных аргументов, кроме набора (х1 = 1, х2 = 1):
Функцию логического (И), для упрощения, еще называют – логическом произведением. В самом деле:
х1 * х2 = 0 * 0 = 0
х1 * х2 = 1 * 0 = 0
х1 * х2 = 0 * 1 = 0
х1 * х2 = 1 * 1 = 1
Раз мы решили добавить еще один вход на наш нейрон, то как будет выглядеть функция выхода? Ну первое что приходит в голову, раз мы в первом случае суммировали, по аналогии с линейной функцией, два произведения входных данных и весовых коэффициентов (y = w1x1 + w2), то почему бы не попробовать действовать подобным образом. Тогда представим линейный классификатор функцией – y = w1x1 + w2x2 + w3. Ну и конечно же, эволюционируем наш нейрон, добавив еще одну “ногу” на вход:
Если присмотреться, наш нейрон уже и в правду напоминает какой то, простейший живой организм.
Так как у нас всего четыре обучающие выборки, то давайте самостоятельно, без написания программы, проанализируем, что будет происходить на выходе и какие должны быть значение весовых коэффициентов: