Uploaded by anastasikiree

Курсовая Работа " решение задач классификации"

advertisement
Министерство науки и высшего образования Российской федерации
СамГТУ (Самарский государственный технический университет),
Институт автоматики и информационных технологий
КОНТРОЛЬНАЯ РАБОТА
по дисциплине
«Интеллектуальные системы и базы знаний».
Решение задач классификации и регрессии
Руководитель
____________________________
«_____»________________2019г.
Студент группы_______ ________
_______________Киреева Анастасия Александровна
«_____»_______________2019г
Самара 2019
Оглавление
Введение ................................................................................................................... 3
1 Теоретические основы ......................................................................................... 4
1.1 История............................................................................................................... 5
1.2 Обучение без учителя ....................................................................................... 7
1.3 Обучение с учителем ........................................................................................ 8
1.4 Классы задач машинного обучения ................................................................ 8
1.5 Основные теоретические положения ............................................................ 10
1.5.1 Постановка задачи .................................................................................... 12
1.5.2 Представление результатов...................................................................... 13
1.5.3 Деревья решений ....................................................................................... 13
1.5.4. Математические функции ....................................................................... 14
2 Программные средства поддержки .................................................................. 16
2.1 Пример 1. Protégé ............................................................................................ 16
2.2 Пример 2. Ai-one ............................................................................................. 18
Заключение ............................................................................................................ 19
Список литературы ............................................................................................... 20
2
Введение
Машинное обучение считается ветвью искусственного интеллекта,
основная идея которого заключается в том, чтобы компьютер не просто
использовал заранее написанный алгоритм, а сам обучился решению
поставленной задачи. Построение систем машинного обучения является на
сегодняшний день одной из самых популярных, актуальных и современных
областей человеческой деятельности на стыке информационных технологий,
математического анализа и статистики. Машинное обучение все глубже
проникает в нашу жизнь посредством пользовательских продуктов,
созданных с помощью методов искусственного интеллекта. Очевидно, что
данные технологии будут развиваться и дальше, постепенно становясь
частью повседневной рутины во многих областях человеческой
профессиональной деятельности.
С каждым годом растёт потребность в изучении больших данных как
для компаний, так и для отдельных специалистов. В крупных компаниях, как
Яндекс или Google, все шире используются такие инструменты для изучения
данных, как язык программирования R, библиотеки для Python.
Согласно Закону Мура, количество транзисторов на интегральной схеме
удваивается каждые 24 месяца. Это значит, что с каждым годом
производительность компьютеров растёт, а значит и ранее недоступные
границы познания снова «смещаются вправо» — открывается простор для
изучения больших данных, с чем и связано в первую очередь создание
«науки о больших данных», изучение которого в основном стало возможным
благодаря применению алгоритмов машинного обучения.
Машинное обучение выходит из сферы только математиков и
алгоритмистов, и все глубже проникает в мир IT- бизнесменов, а затем и в
мир простых обывателей. С одной стороны, это приносит человеку огромную
пользу, а с другой - может в скором времени бросить вызов каждому из нас.
И чтобы прогресс не застал нас врасплох, нужно следить за ситуацией и "
держать руку на пульсе". Поэтому, я считаю эту тему достаточно актуальной
в наше время. Также очень интересной, потому что, эта тема новая, но за
короткий отрезок времени проникла во многие сферы жизни. Машинное
обучение широко используют в:
1. IT-сфере: разработка приложений (распознавание речи, обнаружение
спама и т.д.)
2. Рекламные компании ( предсказания ухода клиентов)
3. Маркетинговые исследования
4. Медицинская диагностика (анализируя истории болезней пациентов,
можно обнаруживать незаметные для человека связи и устанавливать
неизвестные ранее симптомы опасных заболеваний.
3
1 Теоретические основы
Методы Data Mining помогают решить многие задачи, с которыми
сталкивается аналитик. Из них основными являются: классификация,
регрессия, поиск ассоциативных правил и кластеризация. Ниже приведено
краткое описание основных задач анализа данных.
Задача классификации сводится к определению класса объекта по его
характеристикам. Необходимо заметить, что в этой задаче множество классов, к которым может быть отнесен объект, заранее известно.
Задача регрессии, подобно задаче классификации, позволяет определить
по известным характеристикам объекта значение некоторого его параметра.
В отличие от задачи классификации значением параметра является не
конечное множество классов, а множество действительных чисел.
При поиске ассоциативных правил целью является нахождение частых
зависимостей (или ассоциаций) между объектами или событиями. Найденные зависимости представляются в виде правил и могут быть
использованы как для лучшего понимания природы анализируемых данных,
так и для предсказания появления событий.
Задача кластеризации заключается в поиске независимых групп (кластеров) и их характеристик во всем множестве анализируемых данных. Решение
этой задачи помогает лучше понять данные. Кроме того, группировка
однородных объектов позволяет сократить их число, а следовательно, и
облегчить анализ.
Перечисленные задачи по назначению делятся на: описательные и
предсказательные.
Описательные (descriptive) задачи уделяют внимание улучшению
понимания анализируемых данных. Ключевой момент в таких моделях —
легкость и прозрачность результатов для восприятия человеком. Возможно,
обнаруженные закономерности будут специфической чертой именно
конкретных исследуемых данных и больше нигде не встретятся, но это все
равно может быть полезно и потому должно быть известно. К такому виду
задач относятся кластеризация и поиск ассоциативных правил.
Решение предсказательных (predictive) задач разбивается на два этапа.
На первом этапе на основании набора данных с известными результатами
строится модель. На втором этапе она используется для предсказания
результатов на основании новых наборов данных. При этом, естественно,
требуется, чтобы построенные модели работали максимально точно. К
данному виду задач относят задачи классификации и регрессии. Сюда можно
отнести и задачу поиска ассоциативных правил, если результаты ее решения
могут быть использованы для предсказания появления некоторых событий.
По способам решения задачи разделяют на supervised learning (обучение
с учителем) и unsupervised learning (обучение без учителя). Такое название
произошло от термина Machine Learning (машинное обучение), часто
4
используемого в англоязычной литературе и обозначающего все технологии
Data Mining.
Машинное обучение (Machine Learning) — подраздел искусственного
интеллекта, изучающий методы построения алгоритмов, способных
обучаться. Машинное обучение находится на стыке математической
статистики, методов
оптимизации и
классических
математических
дисциплин, но имеет также и собственную специфику, связанную
с проблемами вычислительной
эффективности и переобучения.
Многие
методы индуктивного обучения разрабатывались как альтернатива
классическим статистическим подходам. Многие методы тесно связаны
с извлечением информации и интеллектуальным анализом данных Любую
работающую технологию машинного обучения можно условно отнести к
одному из трёх уровней доступности. Первый уровень — это когда она
доступна только различным технологическим гигантам уровня Google или
IBM. Второй уровень — это когда ей может воспользоваться людей студент с
некоторым багажом знаний. Третий уровень — это когда даже неспециалист
способен с ней совладать.
Машинное обучение находится сейчас на стыке второго и третьего
уровней, за счёт чего скорость изменения мира с помощью данной
технологии растет с каждым днем.
Большую часть задач машинного обучения можно разделить на
обучение с учителем (supervised learning) и обучение без учителя
(unsupervised learning). Если вы представили себе программиста с плёткой в
одной руке и куском сахара в другой, вы немного ошиблись. Под «учителем»
здесь понимается сама идея вмешательства человека в обработку данных.
При обучении с учителем у нас есть данные, на основании которых нужно
что-то предсказать, и некоторые гипотезы. При обучении без учителя у нас
есть только данные, свойства которых мы и хотим найти. На примерах
разницу вы увидите немного яснее.
1.1 История
Понятие «добыча данных», или «интеллектуальный (глубинный) анализ
данных» (Data Mining) сегодня известно не только специалистам. И это не
удивительно: после семинара, организованного в 1989 г. американским
ученым российского происхождения Григорием Ильичем Пятецким-Шапиро
(род. в 1958 г. в Москве) идея, что в больших базах «сырых данных» можно с
помощью специальных алгоритмов отыскивать интересные знания, была
воспринята с большим энтузиазмом, а исследования в этом направлении
получили широкую популярность. Впечатляющая возможность найти что-то
новое и полезное в уже имеющихся информационных массивах на
протяжении уже более чем двух десятков лет увлекает научную фантазию
большого числа исследователей и инженеров во всем мире. В результате этой
деятельности на свет появилась целая плеяда готовых к применению
коммерческих продуктов, предназначенных для анализа больших объемов
5
неструктурированных, либо мало структурированных данных с целью
нахождения новых, нетривиальных, полезных знаний и ранее неизвестных
закономерностей. Эти новые знания призваны оказать так называемую
«поддержку решений», помочь проанализировать разного рода риски,
выявить ранее неочевидную функцию зависимости значения одного атрибута
данных от значений других атрибутов [1]. Появление таких возможностей
стало закономерным итогом развития многих отраслей науки и технологий.
Например, еще в 1970-1980-е гг. был создан необходимый математический и
алгоритмический задел, который позволил впоследствии применить
алгоритмы
математической
статистики,
теории
вероятности
и
вычислительные методы к анализу больших массивов данных. Постоянное
совершенствование технологической базы привело к тому, что на переднем
крае науки, особенно в астрономии, физике, биоинформатике, других
прорывных научных направлениях, а также в ряде секторов современного
бизнеса объективно возникли огромные массивы информации, которые
физически нельзя было обработать традиционными методами. Задача
освоения этих данных сама по себе стала научным вызовом. Широкое
распространение систем управления базами данных (СУБД) позволило без
особого труда внедрить в 1990-е гг. технологии аналитической обработки
информации в режиме реального времени – так называемые OLAPинструменты (от англ. online analytical processing ), что открыло возможность
оперировать огромными информационными массивами. В итоге в
относительно короткие сроки был сформирован готовый комплекс
инструментов, программных оболочек, языков программирования для
статистического исследования. Все эти решения были реализованы в
коммерчески успешных программных продуктах, которые получили большое
распространение. Что касается технологий машинного обучения (machine
learning , далее – МО), то они связаны с развитием одноименной научной
дисциплины, которая возникла еще в конце 1950-х гг. Речь идет о создании и
исследовании компьютерных моделей и алгоритмов, способных к
«самообучению» на основе поступающей информации. Эти технологии в
принципе во многом схожи с обычными методами анализа данных, но, как
следует из названия, ключевое отличие заключается в процессе «обучения»,
которого нет в классическом статистическом анализе. Используя технологию
обучения алгоритма, мы отталкиваемся от предположения об
«однородности» данных, то есть от гипотезы, что во всех выборках
(подмножествах) данных проявляются одни и те же зависимости между
атрибутами, а распределение значений атрибутов не изменяет своего
характера на всем множестве входных данных. В итоге появляется
возможность «обучить» некий алгоритм, который впоследствии может быть
применен к новым наборам данных без дополнительных ресурсоемких
вычислений. Таким образом, суть машинного обучения заключается в том,
чтобы «научить» алгоритм верно сопоставлять набор входных параметров и
соответствующий результат. При этом алгоритм не программируют заранее,
6
какой результат выводить при поступлении тех или иных данных, а именно
обучают в процессе. В качестве примера можно привести такую аналогию:
представим, что входные параметры – это производственное сырье разного
качества, а результат - описание продукта, который должен получиться из
этого сырья. Допустим также, что для производства имеется один станок с
двадцатью параметрами конфигурации, при этом конфигурацию необходимо
задать до начала процесса один-единственный раз. Таким образом, смысл
задачи - подобрать конфигурацию станка таким образом, чтобы из любого
поступающего сырья были в итоге произведены продукты максимально
соответствующие описанию. Аналогичные задачи подбора параметров
решают при помощи алгоритмов машинного обучения. В зависимости от
особенностей задач и технологий обучение алгоритма может представлять
собой четко выделяемый, ограниченный во времени этап, а может быть
бесконечным процессом (онлайн обучение). В последнем случае необходимо
определить некую стадию эволюции алгоритма, позволяющую сказать, что
он теперь «минимально обучен» и с данного момента способен производить
корректное соответствие выходного результата входным параметрам с
заданной точностью.
1.2 Обучение без учителя
Интереснее ситуация обстоит с обучением без учителя, где нам
неизвестны «правильные ответы». Пусть нам известны данные о росте и весе
некоторого числа людей. Необходимо сгруппировать данные на 3 категории,
чтобы для каждой категории людей выпустить рубашку подходящего
размера. Такая задача называется задачей кластеризации.
Рис. 1. Кластеризация на 3 кластера
Отметим, что обычно разделение на кластеры является не таким явным
и нет единого «правильного» разделения.
7
1.3 Обучение с учителем
У нас есть данные о 10 000 квартирах в Москве, причём известна
площадь каждой квартиры, количество комнат, этаж, на котором она
расположена, район, наличие парковки, расстояние до ближайшей станции
метро и так далее. Кроме того, известна стоимость каждой квартиры. Нашей
задачей является построение модели, которая на основе данных признаков
будет предсказывать стоимость квартиры. Это классический пример
обучения с учителем, где у нас есть данные (10 000 квартир и различные
параметры для каждой квартиры, называемые признаками) и отклики
(стоимость квартиры). Такая задача называется задачей регрессии.
Другие примеры: на основании различных медицинских показателей
предсказать наличие у пациента рака. Или на основании текста электронного
письма предсказать вероятность того, что это спам. Такие задачи
являются задачами классификации.
Рис. 2
На первой картинке объекты разделяются прямой. На второй более
сложной кривой. Заметьте, что некоторые объекты классифицируются
неправильно.
Еще одним примером можно взять ситуацию, когда у нас каждый объект
описывается, скажем, 100 признаками. Проблема таких данных заключается
в том, что построить графическую иллюстрацию таких данных, мягко говоря,
затруднительно, поэтому мы можем уменьшить количество признаков до
двух-трёх. Тогда можно визуализировать данные на плоскости или в
пространстве. Такая задача называется задачей уменьшения размерности.
1.4 Классы задач машинного обучения
В предыдущем разделе мы привели несколько примеров задач
машинного обучения. В этом мы постараемся обобщить категории таких
задач, сопроводив список дополнительными примерами.
Задача регрессии: на основании различных признаков предсказать
вещественный ответ. Другими словами, ответом может быть 1, 5, 23.575 или
8
любое другое вещественное число, которое, например, может олицетворять
стоимость квартиры. Примеры: предсказание стоимости акции через
полгода, предсказание прибыли магазина в следующем месяце, предсказание
качества вина на слепом тестировании.
Задача классификации: на основании различных признаков
предсказать категориальный ответ. Другими словами, ответов в такой задаче
конечное количество, как в случае с определением наличия у пациента рака
или определения того, является ли письмо спамом. Примеры: распознавание
текста по рукописному вводу, определение того, находится на фотографии
человек или кот.
Задача
кластеризации:
разбиение
данных
на
похожие
категории. Примеры: разбиение клиентов сотового оператора по
платёжеспособности, разбиение космических объектов на похожие
(галактики, планеты, звезды и так далее).
Задача уменьшения размерности: научиться описывать наши данные
не N признаками, а меньшим числом (как правило, 2-3 для последующей
визуализации). В качестве примера помимо необходимости для визуализации
можно привести сжатие данных.
Задача выявления аномалий: на основании признаков научиться
различать отличать аномалии от «не-аномалий». Кажется, что от задачи
классификации эта задача ничем не отличается. Но особенность выявления
аномалий состоит в том, что примеров аномалий для тренировки модели у
нас либо очень мало, либо нет совсем, поэтому мы не можем решать такую
задачу как задачу классификации. Пример: определение мошеннических
транзакций по банковской карте.
В машинном обучении есть большое число алгоритмов, причём
некоторые являются довольно универсальными. В качестве примеров можно
привести метод опорных векторов, бустинг над решающими деревьями или
те же нейронные сети. К сожалению, большая часть людей довольно смутно
представляет себе суть нейронных сетей, приписывая им свойства, которыми
они не обладают.
Нейронная сеть (или искусственная нейронная сеть) — это сеть
нейронов, где каждый нейрон является математической моделью реального
нейрона. Нейронные сети начали пользоваться большой популярностью в 80х и ранних 90-х, однако в конце 90-х их популярность сильно упала.
Впрочем, в последнее время это одна из передовых технологий,
используемых в машинном обучении, применяемая в огромном количестве
приложений. Причина возврата популярности проста: увеличились
вычислительные способности компьютеров.
С помощью нейронных сетей можно решать как минимум задачи
регрессии и классификации и строить крайне сложные модели. Не вдаваясь в
математические подробности, можно сказать, что в середине прошлого века
Андрей Николаевич Колмогоров доказал, что с помощью нейронной сети
можно аппроксимировать любую поверхность с любой точностью.
9
1.5 Основные теоретические положения
При анализе часто требуется определить, к какому из известных классов
относятся исследуемые объекты, т. е. классифицировать их. Например, когда
человек обращается в банк за предоставлением ему кредита, банковский
служащий должен принять решение: кредитоспособен ли потенциальный
клиент или нет. Очевидно, что такое решение принимается на основании
данных об исследуемом объекте (в данном случае - человеке): его месте
работы, размере заработной платы, возрасте, составе семьи и т. п. В
результате анализа этой информации банковский служащий должен отнести
человека к одному из двух известных классов "кредитоспособен" и
"некредитоспособен".
Другим примером задачи классификации является фильтрация
электронной почты. В этом случае программа фильтрации должна
классифицировать входящее сообщение как спам (нежелательная
электронная почта) или как письмо. Данное решение принимается на
основании частоты появления в сообщении определенных слов (например,
имени получателя, безличного обращения, слов и словосочетаний:
"приобрести", "заработать", "выгодное предложение" и т. п.).
В общем случае количество классов в задачах классификации может
быть более двух. Например, в задаче распознавания образа цифр таких
классов может быть 10 (по количеству цифр в десятичной системе
счисления). В такой задаче объектом классификации является матрица
пикселов, представляющая образ распознаваемой цифры. При этом цвет
каждого пиксела является характеристикой анализируемого объекта.
В Data Mining задачу классификации рассматривают как задачу
определения значения одного из параметров анализируемого объекта на
основании значений других параметров. Определяемый параметр часто
называют зависимой переменной, а параметры, участвующие в его
определении - независимыми переменными. В рассмотренных примерах
независимыми переменными являлись:
 зарплата, возраст, количество детей и т. д.;
 частота определенных слов;
 значения цвета пикселов матрицы.
Зависимыми переменными в этих же примерах являлись:
 кредитоспособность клиента (возможные значения этой переменной
"да" и "нет");
 тип сообщения (возможные значения этой переменной "spam" и
"mail");
 цифра образа (возможные значения этой переменной 0, 1, ..., 9).
Необходимо обратить внимание, что во всех рассмотренных примерах
независимая переменная принимала значение из конечного множества
значений: {да, нет}, {spam, mail}, {0, 1, ..., 9}. Если значениями независимых
и зависимой переменных являются действительные числа, то задача
называется задачей регрессии. Примером задачи регрессии может служить
10
задача определения суммы кредита, которая может быть выдана банком
клиенту.
Задача классификации и регрессии решается в два этапа. На первом
выделяется обучающая выборка. В нее входят объекты, для которых
известны значения как независимых, так и зависимых переменных. В
описанных ранее примерах такими обучающими выборками могут быть:
 информация о клиентах, которым ранее выдавались кредиты на разные
суммы, и информация об их погашении;
 сообщения, классифицированные вручную как спам, или как письмо;
 распознанные ранее матрицы образов цифр.
На основании обучающей выборки строится модель определения
значения зависимой переменной. Ее часто называют функцией
классификации или регрессии. Для получения максимально точной функции
к обучающей выборке предъявляются следующие основные требования:
o
количество объектов, входящих в выборку, должно быть
достаточно большим. Чем больше объектов, тем построенная на ее основе
функция классификации или регрессии будет точнее;
o
в выборку должны входить объекты, представляющие все
возможные классы в случае задачи классификации или всю область значений
в случае задачи регрессии;
o
для каждого класса в задаче классификации или каждого
интервала области значений в задаче регрессии выборка должна содержать
достаточное количество объектов.
На втором этапе построенную модель применяют к анализируемым
объектам (к объектам с неопределенным значением зависимой переменной).
Задача
классификации
и
регрессии
имеет
геометрическую
интерпретацию. Рассмотрим ее на примере с двумя независимыми
переменными, что позволит представить ее в двумерном пространстве.
Каждому объекту ставится в соответствие точка на плоскости. Символы "+"
и "-" обозначают принадлежность объекта к одному из двух классов.
Очевидно, что данные имеют четко выраженную структуру: все точки класса
"+" сосредоточены в центральной области. Построение классификационной
функции сводится к построению поверхности, которая обводит центральную
область. Она определяется как функция, имеющая значения "+" внутри
обведенной области и "-" - вне.
Основные проблемы, с которыми сталкиваются при решении задач
классификации и регрессии, — это неудовлетворительное качество исходных
данных, в которых встречаются как ошибочные данные, так и пропущенные
значения, различные типы атрибутов - числовые и категорические, разная
значимость атрибутов, а также так называемые проблемы overfitting и
underfitting. Суть первой из них заключается в том, что классификационная
функция при построении "слишком хорошо" адаптируется к данным, и
встречающиеся в них ошибки и аномальные значения пытается
интерпретировать как часть внутренней структуры данных. Очевидно, что
11
такая модель будет некорректно работать в дальнейшем с другими данными,
где характер ошибок будет несколько иной. Термином underfitting
обозначают ситуацию, когда слишком велико количество ошибок при
проверке классификатора на обучающем множестве. Это означает, что
особых закономерностей в данных не было обнаружено и либо их нет
вообще, либо необходимо выбрать иной метод их обнаружения.
1.5.1 Постановка задачи
В задаче классификации и регрессии требуется определить значение
зависимой переменной объекта на основании значений других переменных,
характеризующих данный объект. Формально задачу классификации и
регрессии, но описать следующим образом. Имеется множество объектов:
I={i1,i2,…,ij,..,in},
где ij- исследуемый объект. Примером таких объектов может быть
информация о проведении игр при разных погодных условиях (табл. 1).
Таблица 1.
Каждый объект характеризуется набором переменных:
Ij= {x1, x2, ...,xh,...,xm,y},
где xh — независимые переменные, значения которых известны и на
основании которых определяется значение зависимой переменной у. В
данном примере независимыми переменными являются: наблюдение,
температура, влажность и ветер. Зависимой переменной является игра.
В Data Mining часто набор независимых переменных обозначают в виде
вектора:
Х={x1, x2, ...,xh,...,xm},
Каждая переменная x1 может принимать значения из некоторого
множества:
Сh={ch1,c.h2,…}
Если значениями переменной являются элементы конечного множества,
то говорят, что она имеет категориальный тип. Например, переменная
наблюдение принимает значения на множестве значений {солнце,
облачность, дождь}.
12
Если множество значений С = {сь с2, ..., сг,..., ск} переменной у конечное, то задача называется задачей классификации. Если
переменная у принимает значение на множестве действительных чисел R, то
задача называется задачей регрессии.
1.5.2 Представление результатов
Несмотря на то, что был назван способ определения значения зависимой
переменной функцией классификации или регрессии, он необязательно
может быть выражен математической функцией. Существуют следующие
основные виды представления таких способов: классификационные правила,
деревья решений и математические функции.
Классификационные правила состоят из двух частей: условия и
заключения:
если (условие) то (заключение).
Условием является проверка одной или нескольких независимых
переменных. Проверки нескольких переменных могут быть объединены с
помощью операций "и", "или" и "не". Заключением является значение
зависимой переменной или распределение ее вероятности по классам.
Например:
если (наблюдение = солнце и температура = жарко) то (игра = нет);
если (наблюдение = облачность и температура = холодно) то (игра =
да).
Основным достоинством правил является легкость их восприятия и
запись на естественном языке. Другое преимущество - относительная их
независимость. В набор правил легко добавить новое без необходимости
изменять уже существующие. Относительность независимости правил
связана с возможной их противоречивостью друг другу. Если переменные,
характеризующие некоторый объект, удовлетворяют условным частям
правил с разными заключениями, то возникает неопределенность со
значением его зависимой переменной. Например, имеются правила:
если (наблюдение = солнце) то (игра = нет);
если (наблюдение = облачность и температура = холодно) то (игра =
да).
В них объекты, удовлетворяющие условиям из второго правила,
удовлетворяют и условиям первого правила. Однако вывод делается разный.
Другими словами, в соответствии с этими правилами при одинаковых
обстоятельствах получены противоречивые указания, что неприемлемо.
1.5.3 Деревья решений
Деревья решений - это способ представления правил в иерархической,
последовательной структуре. На рис. 3 изображен пример дерева решений
для данных, представленных в табл. 1.
13
Рис. 3. Пример дерева решений
Обычно каждый узел дерева включает проверку определенной
независимой переменной. Иногда в узле дерева две независимые переменные
сравниваются друг с другом или определяется некоторая функция от одной
или нескольких переменных.
Если переменная, которая проверяется в узле, принимает
категориальные значения, то каждому возможному значению соответствует
ветвь, выходящая из узла дерева. Если значением переменной является
число, то проверяется, больше или меньше это значение некоторой
константы. Иногда область числовых значений разбивают на несколько
интервалов. В этом случае выполняется проверка на попадание значения в
один из интервалов.
Листья деревьев соответствуют значениям зависимой переменной, т.е.
классам. Объект принадлежит определенному классу, если значения его
независимых переменных удовлетворяют условиям, записанным в узлах
дерева на пути от корня к листу, соответствующему этому классу.
1.5.4. Математические функции
Математическая функция выражает отношение зависимой переменной
от независимых. В этом случае анализируемые объекты рассматриваются как
точки
в
(n
+
1)-мерном
пространстве.
Тогда
переменные
объекта ij= {x1, x2, ...,xh,...,xm,y}, рассматривают как координаты, а функция
имеет следующий вид:
yi = w0 + w1 x1 +w2 x2 +…+wm xm
где w0, w1…- веса независимых переменных, в поиске которых и состоит
задача нахождения классификационной функции.
Очевидно, что все переменные должны быть представлены в виде
числовых параметров. Для преобразования логических и категориальных
переменных к числовым используют разные способы.
Логические типы, как правило, кодируют цифрами 1 и 0. Истине ставят
в соответствие значение 1, а ложь обозначают 0.
Значениями категориальных переменных являются имена возможных
состояний изучаемого объекта. Разумеется, таких состояний может быть
больше двух. Их имена должны быть перечислены и пронумерованы в
14
списке. В системе каждое имя из списка может быть представлено своим
номером. В итоге категориальная переменная преобразуется в числовую
переменную. Например, значение переменной наблюдение = {солнце,
облачность, дождь} можно заменить значениями {0, 1, 2}.
Другой способ представления исходно категориальной переменной в
системе — это замена возможных значений набором двоичных признаков. В
наборе столько двоичных признаков, сколько имен содержится в списке
возможных состояний объекта. При анализе объекта значение 1
присваивается тому двоичному признаку, который соответствует состоянию
объекта. Остальным присваивается значение 0. Например, для переменной
наблюдения такими значениями будут: {001, 010, 100}.
Разные алгоритмы решения задачи классификации и регрессии строят и
используют различные способы определения значения зависимой
переменной.
15
2 Программные средства поддержки
2.1 Пример 1. Protégé
WebProtégé - это среда разработки онтологий для Интернета, которая
позволяет легко создавать, загружать, изменять и делиться онтологиями для
совместного просмотра и редактирования. Protege используется для
разработок бизнес-приложений. Вместе с тем, Protege имеет набор
инструментов открытого кода, который идеален при разработке
«приложений, основанных на знаниях с элементами онтологии».
Целевая аудитория Protege – эксперты и в определенной степени
начинающие программисты. Данный инструмент позволяет создавать, делать
аплоад, модифицировать и делиться приложениями. В рамках Protege
существует активное сообщество, которое обеспечивает оптимальный
уровень совместной работы и упрощает решение возникающих проблем.
В результате переноса на формальный язык описания онтологии в среде
Protégé версии 5.5.0 Build Beta-5 было сделано следующее: а) Введены
классы:
Рис. 2.1. Пример введённых классов б) Объявлены возможные свойства
объектов
16
Рис. 2.2. Пример экрана с объявлением свойств объектов в) для каждого типа
класса и свойства объявлены атрибуты. Например, для формы знака введены
понятия (другое, крест, треугольник, круг, квадрат и прямоугольник), а также
введено исключение, что один знак не может быть разной формы
одновременно
Рис. 2.3. Пример введения понятия/атрибута в класс знака
Остальные элементы были внесены по аналогии. г) Такая компоновка
позволила делать выгрузки при помощи встроенного инструмента решения
задачи семантического поиска, например, стал возможен поиск решения по
дереву с заданием параметров (если движение вне населенного пункта и
дорожный знак имеет форму треугольника, а также содержит в себе цвета:
красный, белый и черный, то...).
Рис. 2.4. Пример поиска решения в среде редактора Protégé 9
17
Пример поиска решения в среде редактора Protégé (см. рис. 4), задаем
условия: имеетМестоДвижение value Вне_населенного_пункта and
Дорожный_знак and имеетФорму value Треугольник and имеетЦвет value
Красный and имеетЦвет value Белый and имеетЦвет value Черный – получаем
ответ, подходящий под условия запроса. Такой же пример для движения в
населенном пункте, знак в этом случае располагается ближе к переезду: Рис.
5. Пример поиска решения в среде редактора Protégé д) Protégé позволяет
строить любые графы, добавляя или убирая связи, или, учитывая
определенные нужные в данный момент элементы, получать графическое
решение задачи:
Рис. 6. Пример графовой структуры
2.2 Пример 2. Ai-one
Ai-one — продукт, стимулом разработки которого, по словам его
творцов, явился «биологический интеллект», предоставляет разработчикам
возможность создания интеллектуальных помощников внутри большинства
приложений.
Набор инструментов «Analyst Toolbox» содержит библиотеку
документов, инструментарий для конструирования интеллектуальных
агентов и API. Ai-one может трансформировать данные в обобщенный свод
правил, благоприятно влияющий на большинство глубоких структур
искусственного интеллекта и машинного обучения.
18
Заключение
В настоящее время крупные компании вкладывают большие средства
(инвестиции доходят до 1500 млн.долларов) в машинное обучение, потому
что данная технология по-настоящему окупается. Через
5 лет этот
показатель может увеличиться в 10 раз. С каждым годом большие данные
становятся все более сложнее и человеку становится уже не достаточно своих
аналитических способностей. Некоторые задачи перейдут к искусственному
интеллекту, который справится с ними лучше и быстрее,чем человек.
Прогнозируется, что в ближайшее десятилетие искусственный интеллект
займет около 7% рабочих мест в России. Часть процессов в организациях
автоматизируют и управлять этими процессами поручат самообучающимся
алгоритмам. Огромное место займет ИИ в интернете вещей. Интернет вещей
требует обработки большого потока информации в реальном времени.
Устройства, подключенные к сети, генерируют гигантские массивы данных,
которые необходимо будет обрабатывать, анализировать и
хранить. Как пример, зубные щетки с функцией блютуз, которые будут
отправлять информацию о состоянии зубов стоматологу или дроны, которые
станут незаменимы в сельском хозяйстве. Они будут собирать информацию о
зрелости урожая, о состоянии почвы, о вредителях и болезнях растений. И во
всех технологиях будет использоваться машинное обучение. Поэтому
машинное обучение готовит для нас перспективное будущее и массу
интересных инноваций.
19
Список литературы
1. Андреас, Мюллер Введение в машинное обучение с помощью Python.
Руководство для специалистов по работе с данными / Мюллер Андреас. - М.:
Альфа-книга, 2017. - 487 c.
2. Домингос, П. Верховный алгоритм. Как машинное обучение изменит
наш мир / П. Домингос. - М.: Манн, Иванов и Фербер, 2016. - 656 c.
3. Домингос, Педро Верховный алгоритм: как машинное обучение
изменит наш мир / Педро Домингос. - Москва: РГГУ, 2015. - 447 c.
4. Плас, Джейк Вандер Python для сложных задач. Наука о данных и
машинное обучение. Руководство / Плас Джейк Вандер. - М.: Питер, 2018. 759 c.
5. Себастьян, Рашка Python и машинное обучение / Рашка Себастьян. М.: ДМК Пресс, 2017. - 614 c.
6. Системы принятия решений. Курс лекций. https://studfile.net/ulgu1/145/folder:8217/#6172579.
20
Download