Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
01.09.2026
Размер:
13 Мб
Скачать
Обратимся к логическим (булевым) функциям. Функции булевой логики — это своего рода “мыслительные” функции со своим языком. Если мы говорим “Ты получишь мороженое только в том случае, если уже съел овощи И все равно голоден”, то мы используем булеву функцию И. Результат булевой функции И истинен только тогда, когда истинны (выполняются) оба условия. Он не будет истинным, если истинно только одно из условий. Поэтому, если я голоден, но еще не съел овощи, то не получу своё мороженое.
Аналогично, если мы говорим “Ты можешь погулять в парке, если сегодня выходной ИЛИ у тебя отпуск”, то используем булеву функцию ИЛИ. Результат булевой функции ИЛИ истинен, если истинным является хотя бы одно из условий. Вовсе не обязательно, чтобы все условия были истинными, как в случае функции И.
Ранее мы представляли функцию в виде машины, которая принимает некоторые входные данные, выполняет определенные действия и выдает один ответ.
вход А
логическая D
выход
функция
вход В
Значение истина часто представляется в компьютерах как число 1, а значение ложь — как число 0.
Входное
значение А
Входное
значение В
Логическое И
Логическое ИЛИ
00000101100
1
111
1
Здесь отчетливо видно, что результат функции И будет истинным только тогда, когда истинны и A, и B. Булевы функции играют очень важную роль в информатике, и первые электронные вычислительные устройства фактически собирались из крохотных электрических схем, выполняющих логические операции. Задачи такого рода естественным образом возникают перед учеными, исследующими причинно-следственные связи или корреляцию наблюдаемых величин.
Взгляните на приведенную ниже диаграмму, где значения на двух входах логической функции, A и B, представляют координаты точек на графике. Вы видите, что только в том случае, когда оба входных значения истинны, т.е. каждое из них равно 1, выходной результат, выделенный зеленым цветом, является истинным. Ложные выходные значения обозначены красным цветом. На диаграмме также показана прямая линия, отделяющая красную область от зеленой. Эта линия представляет линейную функцию, которую можно использовать для обучения линейного классификатора, что мы делали ранее.
В действительности можно было бы предложить много других вариантов проведения разделительной линии, которые работали бы столь же удовлетворительно, но главный вывод из этого примера заключается в том, что простой линейный классификатор вида y=ax+b можно обучить работе с булевой функцией И.
логическое И
(0, 1)
(1, 1)
Разделительная линия
(0, 0)
(1, 0)
А теперь взгляните на аналогичное графическое представление
булевой функции ИЛИ.
(0, 1)
(1, 1)
Разделительная линия
(0, 0)
(1, 0)
На этот раз красной оказалась лишь точка (0,0), поскольку ей соответствуют ложные значения на обоих входах, A и B. Во всех других комбинациях значений хотя бы одно из них является истинным, и по- этому для них результат является истинным. Вся прелесть этой диаграммы заключается в том, что она наглядно демонстрирует возможность обучения линейного классификатора работе с функцией ИЛИ.
Существует еще одна булева функция, исключающее ИЛИ, которая дает истинный результат только в том случае, если лишь одно из значений на входах A и B истинно, но не оба. Таким образом, если оба входных значения ложны или оба истинны, то результат будет ложным. Все вышесказанное резюмировано в приведенной ниже таблице.
Входное значение А
Входное значение В
Исключающее ИЛИ
000011101
110
Давайте посмотрим, как будет выглядеть наша диаграмма в
этом случае.
логическое исключающее ИЛИ
(0, 1)
(1, 1)
(0, 0)
?
(1, 0)
Вот вам и проблема! Мы не видим способа разделить зеленую и красную области одной прямой линией.
В действительности так оно и есть: невозможно провести одну прямую линию таким образом, чтобы она успешно отделила красные точки данных от зеленых для функции исключающего ИЛИ. Это означает, что простой линейный классификатор не в состоянии обучиться работе с функцией исключающего ИЛИ, если предоставить ему тренировочные данные, управляемые этой функцией.
Только что мы продемонстрировали главное ограничение простого линейного классификатора: такие классификаторы оказываются непригодными, если базовая задача не допускает разделения данных одной прямой линией.
Соседние файлы в папке ML - Коротков (2 сем, мага)