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

Опять линейный классификатор

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

В качестве примера давайте разберём функцию

y= x2

Вспомним как выглядит линейная функция

y= kx+b

Возьмем x = 1, тогда

y=12 = 1

Чтобы прийти к такому же ответу линейная функция должна быть такой:

y = 1*1+0,

где k = 1, b = 0

Теперь возьмем x =2.

y=22 = 4

Линейная функция будет иметь следующий вид:

y = 1*2+2,

где k = 1, b = 2

Но ведь мы можем это записать и по другому:

y= 2*2+0

или

y=0.5*2+3

Возьмем x = 3

y=32 = 9

Линейный вариант, например:

y=2*3+3

И так далее. Как видите в линейной функции меняется k и b. А ведь эти переменные тоже можно вычислить используя линейные функции, в которых есть свои переменные k и b. А их, в свою очередь, тоже можно вычислить при помощи ещё одних линейных функций. И так может продолжаться до бесконечности.

Логические функции

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

Логические функции это своего рода «мыслительные» операции, которые имеют свой собственный язык. Например, когда мы говорим: «Ты получишь пудинг только в том случае, если уже съел овощи И все равно голоден», мы используем логическую функцию «И». Эта функция становится истинным только тогда, когда оба условия выполнены. Таким образом, если я голоден, но еще не ел овощи, то не получу свой пудинг.


Когда мы говорим «Ты можешь погулять в парке, если сегодня выходной ИЛИ у тебя отпуск», мы используем логическую функцию «ИЛИ». В отличие от функции «И», где все условия должны исполниться одновременно, в случае «ИЛИ» достаточно одного из них. Поэтому даже если сегодня не выходной день, но у меня отпуск, я всё равно могу пойти в парк.

Ранее мы представляли функцию в виде машины, которая прини­мает некоторые входные данные, выполняет определенные действия и выдает один ответ.

концепция-нейросетей-2

Значение истина(условие выполнено) часто представляется в компьютерах как число 1, а значение ложь(условие не исполнено) — как число 0. В приведенной ниже таблице резуль­таты работы логических функций И и ИЛИ представлены с использо­ванием этой лаконичной нотации для всех комбинаций входных зна­чений А и В.

Условие 1 (Вход А)Условие 2 (Вход Б)Логическая функция «И»
Должны быть выполнены оба условия
Логическая функция «ИЛИ»
Должно быть выполнено хотя бы одно условие
0000
0101
1001
1111

Здесь отчетливо видно, что результат функции «И» будет истинным только тогда, когда истинны и А, и В.
Булевы функции занимают центральное место в информатике. Первые электронные вычислительные устройства были построены на основе крошечных электрических схем, которые выполняли логические операции. Эти схемы, в свою очередь, были способны выполнять даже арифметические операции, хотя сами по себе они выполняли лишь базовые операции.

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

Например, требуется найти ответ на следующий вопрос: “Повышается ли вероятность заболевания малярией в тех местно­стях, в которых постоянно идут дожди И температура превышает 35 градусов?” Или такой: “Повышается ли вероятность заболевания малярией, если выполняется любое (функция «ИЛИ») из этих условий?”

Логическая функция «И»

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

концепция-нейросетей-3

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

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

Логическая функция «ИЛИ»

А теперь давайте посмотрим на графическое представление логической функции «ИЛИ».

концепция-нейросетей-4

На этот раз красной осталась только точка (0,0), поскольку она соответствует ситуации, когда оба входа, А и В, имеют ложные значения. Для всех остальных комбинаций значений хотя бы один из них является истинным, поэтому результат также будет истинным.

Эта диаграмма наглядно демонстрирует, что линейный классификатор может быть обучен работе с функцией «ИЛИ».

Логическая функция «Исключающее ИЛИ»


Существует еще одна логическая функция, «Исключающее ИЛИ», кото­рая дает истинный результат только в том случае, если одно из условий выполняется, а другое нет. Таким образом, если оба оба условия не выполнены или оба исполнены, то результат будет лож­ным. В следующей таблице представлены все возможные комбинации условий и соответствующие им результаты выполнения функции «Исключающее ИЛИ».

Условие 1(Вход А)Условие 2(Вход Б)Исключающее ИЛИ
000
011
101
110

Взгляните на диаграмму, соответствующую этой функции.

концепция-нейросетей-5

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

И это действительно так: невозможно провести одну прямую линию, которая успешно разделит данные, выделенные красным и зелёным цветом. Это значит, что простой линейный классификатор не сможет научиться работать с этой функцией.

Основная концепция нейросетей

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

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

Следовательно, нам необходимо найти выход из этой ситуации. К счастью, он существует: мы можем объединить несколько классификаторов. Это наглядно демонстрирует приведенная ниже диаграмма с двумя разделительными линиями. Данная идея — это основная концепция нейросетей.

концепция-нейросетей-6

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует файлы cookie, чтобы предложить вам лучший опыт просмотра. Посещая этот веб-сайт, вы соглашаетесь с использованием нами файлов cookie.