Курсовая работа: Основы технологий машинного обучения

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Введение

Машинное обучение - этот термин, скорее всего, встречался вам много раз, его часто используют как синоним искусственного интеллекта, но на самом деле машинное обучение - это лишь верхушка айсберга. Согласно книге [1], в настоящее время мы сталкиваемся с машинным обучением каждый день, даже не подозревая об этом. Когда вы, например, просматриваете свой почтовый ящик, наибольший поток спама проходит мимо вас, за счет того что он был отфильтрован с помощью механизмов машинного обучения. Благодаря машинному обучению поисковая система распознает, какую рекламу показывать в ответ на ваш запрос в поисковике. Голосовые помощники Baidu и Google, рекомендации в Яндекс, распознавание лиц в Facebook и iPhone X . В последние десятилетие машинное обучение получило резкий толчок благодаря развитию науки, увеличению вычислительных мощностей. Обычно, когда машина выполняет какую-то задачу, все ее действия выполняются по определенному программистом-разработчиком алгоритму. Машина, использующая алгоритм машинного обучения, угадывает все сама, делает вывод на основе входных данных, и чем больше этих данных, тем точнее результат ее работы. Таким образом, машина программирует сама себя.

Актуальность исследования поставленной проблемы обусловлена автоматизацией решений сложных профессиональных задач в самых разных областях человеческой деятельности таких как:

§ Диагностика в медицине

§ Кредитный скоринг

§ Предсказание ухода клиентов

§ Обнаружение мошенничества

§ Биржевой технический анализ

§ Биржевой надзор

§ Техническая диагностика

§ Робототехника

§ Компьютерное зрение

§ Распознавание речи

§ Распознавание текста

§ Обнаружение спама

§ Категоризация документов

§ Распознавание рукописного ввода

Сфера, где применяется машинное обучение, постоянно увеличивается. Информатизация общества приводит к накоплению больших объёмов данных в производстве, науке, транспорте, бизнесе, медицине.

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

Предметом - различные технологии машинного обучения.

Целью исследования является анализ возможностей технологий машинного обучения. Достижение поставленной цели предусматривает постановку следующих задач:

- изучение истории машинного обучения;

- определение основных способов машинного обучения;

- исследование возможностей машинного обучения;

- рассмотрение практической сферы применения.

Теоретико-методологическую основу исследования составляют труды Педро Домингоса.

Эмпирическую базу исследования составили: книги по Machine Learning,различные статьи в Интернет.

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

1. История машинного обучения

машинный обучение труд

Как и многое другое в искусственном интеллекте, история ML началась с казалось бы многообещающих работ в 1950-х -- 1960-х годах, а затем последовал длительный период накопления знаний, известный как «зима искусственного интеллекта». В самые последние годы наблюдается взрывной интерес главным образом к одному из направлений -- глубинному, или глубокому обучению (deep leаrning).

Первопроходцами ML были Артур Сэмюэль, Джозеф Вейцбаум и Фрэнк Розенблатт. Первый получил широкую известность созданием в 1952 году самообучающейся программы Checkers-playing, умевшей, как следует из названия, играть в шашки. Возможно, более значимым для потомков оказалось его участие вместе с Дональдом Кнутом в проекте TeX, результатом которого стала система компьютерной верстки, вот уже почти 40 лет не имеющая себе равных для подготовки математических текстов. Второй в 1966 году написал виртуального собеседника ELIZA, способного имитировать (а скорее, пародировать) диалог с психотерапевтом; очевидно, что своим названием программа обязана героине из пьесы Бернарда Шоу. А дальше всех пошел Розенблатт, он в конце 50-х в Корнелльском университете построил систему Mark I Perceptron, которую можно признать первым нейрокомпьютером.

Mark I предназначался для классификации визуальных образов (символов алфавита) и представлял собой электронно-механическую систему, центром которой были 400 управляемых фото-сенсоров, они-то и служили моделью сетчатки. Управлялись они с помощью манипуляторов на шаговых моторах. На распространенной в Сети фотографии рядом с Розенблаттом видна небольшая коробка, которую обычно и называют Mark I, хотя это лишь один из узлов, в полном же комплекте система занимала шесть солидных стоек, она сохранилась в Смитсоновском музее в Вашингтоне. В дополнение к ней для распознавания речи была предпринята попытка создания еще более громоздкой системы Tobermory Perceptron. Обе системы были практическими реализациями пусть простых, но все же нейронных сетей. Сложно сказать, как бы продолжилось это направление развития, не будь оно прервано двумя обстоятельствами -- смертью Розенблатта, он погиб на яхте, и ожесточенной критикой со стороны Марвина Минского и Сеймура Паперта, доказывавших, что перцептрон неспособен к обучению.

За последующие 30-40 лет усилиями академически ориентированных ученых машинное обучение было превращено в самостоятельную математическую дисциплину.

Начало первого десятилетия XXI века оказалось поворотной точкой в истории ML, и объясняется это тремя синхронными тенденциями, давшими в совокупности заметный синергетический эффект.

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

Вторая -- снижение стоимости параллельных вычислений и памяти. Эта тенденция обнаружилась в 2004 году, когда компания Google раскрыла свою технологию MapReduce, за которой последовал ее открытый аналог Hadoop (2006), и совместно они дали возможность распределить обработку огромных объемов данных между простыми процессорами. Тогда же Nvidia совершила прорыв на рынке GPU: если раньше в игровом сегменте ей могла составить конкуренцию AMD/ATI, то в сегменте графических процессоров, которые можно использовать для целей машинного обучения, она оказалась монополистом. И в то же время заметно уменьшилась стоимость оперативной памяти, что открыло возможность для работы с большими объемами данных в памяти и, как следствие, появились многочисленные новые типы баз данных, в том числе NoSQL. И, наконец, в 2014 году появился программный каркас Apache Spark для распределенной обработки неструктурированных и слабоструктурированных данных, он оказался удобен для реализации алгоритмов машинного обучения.

Третья -- новые алгоритмы глубинного машинного обучения, наследующие и развивающие идею перцептрона в сочетании с удачной научной PR-кампанией. Своей критикой Марвин Минский и Сеймур Паперт сыграли положительную роль, они вскрыли слабости перцептрона в том виде, как его придумал Розенблатт, и одновременно стимулировали дальнейшие работы по нейронным сетям, до 2006 года остававшиеся теоретическими. Вероятно, первым, кто решил «развинтить» (углубить) перцепрон, был советский математик А.Г. Ивахненко, опубликовавший начиная с 1965 года ряд статей и книг, в которых, в частности, описана моделирующая система «Альфа». В 1980 году Кунихика Фукусима предложил иерархическую многослойную сверточную нейронную сеть, известную как неокогнитрон.

Последующие годы отмечены интенсивной работой многих ученых в области глубинных нейронных сетей (Deep Neural Network, DNN), однако детальный и желательно объективный анализ событий этого периода еще ждет своего исследователя.

2. Основные методы и возможности машинного обучения

2.1 Основные методы машинного обучения

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

2.1.1 Контролируемое обучение

2.1.1.1 Наивная байесовская классификация

Наивные байесовские классификаторы представляют собой семейство простых вероятностных классификаторов, которые основаны на применении Теоремы Байеса со строгими (наивными) предположениями о независимости функций. Из книги [2] P (A\B) является вероятностью гипотезы A при наступлении события B (апостериорная вероятность), P (B\A) -- вероятностью наступления события B при истинности гипотезы A, P (A) -- априорной вероятностью гипотезы A и P (B) -- полной вероятностью наступления события B.

Абстрагируясь от теории и переходя к практике, можно выделить следующие сферы применения Теоремы Байеса:

§ «отлов» спама в электронной почте;

§ сегментация новостных статей по их тематике;

§ определение эмоционального окраса блока текста;

§ программное обеспечение для распознавания лиц.

2.1.1.2 Метод наименьших квадратов

Рисунок 1

Если вы знакомы со статистикой, то наверняка слышали о линейной регрессии ранее. Наименьшие квадраты выступают в роли метода для реализации линейной регрессии. Чаще всего она представляется в виде задачи подгонки прямой линии, проходящей через множество точек. Есть несколько вариантов ее осуществления, и метод наименьших квадратов -- один из них. Можно нарисовать линию, а затем измерить расстояние по вертикали от каждой точки к линии и «перенести» эту сумму вверх. Необходимой линией будет та конструкция, где сумма расстояний будет минимальной. Иными словами, кривая проводится через точки, имеющие нормально распределенное отклонение от истинного значения(рис.2).

Если линейная функция применима для подбора данных, то метод наименьших квадратов относится к типам метрики ошибок, которая минимизирует погрешности.

2.1.1.3 Логистическая регрессия

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

Рисунок 2

Данный алгоритм активно используется в реальной жизни, а именно при:

§ оценке кредитоспособности лица (кредитном скоринге);

§ измерении показателей успешности маркетинговых кампаний;

§ предсказании доходов с определенного продукта;

§ вычислении возможности возникновения землетрясения в конкретный день.

2.1.1.4 Метод опорных векторов

Метод опорных векторов (SVM) -- это набор алгоритмов, использующихся для задач классификации и регрессионного анализа(рис.4). Учитывая, что в N-мерном пространстве каждый объект принадлежит одному из двух классов, SVM генерирует (N-1)-мерную гиперплоскость с целью разделения этих точек на 2 группы. Это как если бы вы на бумаге изобразили точки двух разных типов, которые можно линейно разделить. Помимо того, что метод выполняет сепарацию объектов, SVM подбирает гиперплоскость так, чтобы та характеризовалась максимальным удалением от ближайшего элемента каждой из групп.

Рисунок 3

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

2.1.1.5 Метод ансамблей

Метод ансамблей, следуя из содержания книги [3], основан на обучающих алгоритмах, которые формируют множество классификаторов, а затем сегментируют новые точки данных, отталкиваясь от голосования или усреднения. Оригинальный метод ансамблей -- не что иное, как Байесовское усреднение, но более поздние алгоритмы включают исправления ошибок выходного кодирования, бэггинг (bagging) и бустинг (boosting). Бустинг направлен на превращение слабых моделей в сильные путем построения ансамбля классификаторов. Бэггинг также агрегирует усовершенствованные классификаторы, но используется при этом параллельное обучение базовых классификаторов. Говоря языком математической логики, бэггинг -- улучшающее объединение, а бустинг -- улучшающее пересечение.

Источник: https://otherreferats.allbest.ru/download/1348114/