Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Машинное обучение и
интеллектуальный анализ данных
Лекция 2. Задачи классификации
Г.А. Ососков*, О.И. Стрельцова*, Д.И. Пряхина*,
Д.В. Подгайный*, А.В. Стадник*, Ю.А. Бутенко*
Государственный университет «Дубна»
*Лаборатория информационных технологий, ОИЯИ
Дубна, Россия
Государственный университет «Дубна»
Машинное обучение
Машинное обучение заключается в
извлечении знаний из данных.
Обучение с учителем
(supervised learning)
Задачи
классификации
Машинное обучение занимается
построением математических
моделей для исследования данных.
Алгоритмы обучения без учителя
(unsupervised algorithms)
Задачи
Задачи
регрессии кластеризации
Задачи понижения
размерности
Методы частичного обучения
(semi-supervised learning)
Машинное обучение
Машинное обучение заключается в
извлечении знаний из данных.
Обучение с учителем
(supervised learning)
Задачи
классификации
Машинное обучение занимается
построением математических
моделей для исследования данных.
Алгоритмы обучения без учителя
(unsupervised algorithms)
Задачи
Задачи
регрессии кластеризации
Задачи понижения
размерности
Методы частичного обучения
(semi-supervised learning)
Классификация
Классификация — отнесение объектов (наблюдений, событий) к одному из заранее
известных классов по некоторым правилам (признакам).
Обучающая выборка — конечное множество объектов, для которых известно, к каким
классам они относятся.
Классифицировать объект — значит, указать номер (или наименование класса), к
которому относится данный объект.
Примеры
Информационные технологии: обнаружение спама по заголовку письма, тексту,
схожести с другими письмами в папке «Спам» и др.
Медицинская диагностика: определение (классификация) вида заболевания по
набору медицинских характеристик.
Геологоразведка: определение наличия полезных ископаемых по данным
зондирования почв.
Банковское дело: принятие решения о выдаче/отказе кредита.
И т.д.
Типы классов
Многоклассовая классификация
Класс 1
Класс 1
Класс 2
Класс 2
Признак 2
Признак 1
Признак 1
Бинарная классификация
Класс 3
Признак 2
Непересекающиеся классы
Пересекающиеся классы
Класс 1
Признак 1
Класс 2
Признак 2
Нечеткие классы
Требуется определять степень
принадлежности объекта
каждому из классов, обычно это
действительное число от 0 до 1.
Задача классификации
Класс 1
Класс 1
Класс 2
*
*
Класс 3
Признак 1
Признак 1
Класс 2
*
*
Признак 2
Признак 2
Как разделить классы?
Как определить к какому классу относятся исследуемые объекты? (*)
Выбрать наиболее подходящий метод классификации!
Методы решения задач классификации
1. Метод k-ближайших соседей
2. Метод опорных векторов
3. Наивный Байесовский классификатор
4. Логистическая регрессия
5. Деревья решений
6. Дискриминантный анализ
7. Нейронные сети
И многие другие
*
Признак 2
Класс 1
Класс 1
Класс 2
Класс 2
Класс 3
Класс 3
Признак 1
Признак 1
Метод k-ближайших соседей
*
*
Признак 2
Алгоритм
1. Вычислить векторное расстояние между классифицируемым объектом и
известными объектами классов.
2. Выбрать k ближайших объектов. Исследуемый объект относится к классу,
которому принадлежит большинство из выбранных объектов.
Проблема: выбор параметра k.
Достоинство: хорошие результаты не смотря на простой алгоритм реализации.
Недостаток: высокая вычислительная трудоемкость.
Метод опорных векторов
Класс 1
Признак 1
Класс 2
Оптимальная
разделяющая
гиперплоскость
Опорные
векторы
Максимальное
расстояние
Признак 2
Проблема: выбор функции для линейно неразделимых классов.
Достоинство: разделяющая полоса максимальной ширины, что улучшает классификацию.
Недостаток: используется только для бинарной классификации.
Наивный Байесовский классификатор
Вероятностный классификатор, использующий теорию Байеса, по которой
определяется, с какой вероятностью исследуемый объект относится к тому или
иному классу.
Формула Байеса
Класс Классифицируемый
объект
Жесткое предположение о независимости признаков.
Распределение
Гаусса
Достоинство: требуют небольшого количества обучающих данных.
Недостаток: неточное предсказание в случае с зависимыми признаками.
Практическая часть изучения методов классификации
Часть 1. Генерация модельных данных
1. Подключение библиотеки
2. Вызов генератора модельных данных
3. Проверка типа данных
4. Проверка формата массивов, хранящих сгенерированные данные
Библиотека scikit-learn. Machine Learning in Python:
Generate isotropic Gaussian blobs for clustering.
https://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_blobs.html
Практическая часть изучения методов классификации
Часть 1. Генерация модельных данных
5. Просмотр содержимого
Номер класса
Признак 1
Признак 2
Библиотека scikit-learn. Machine Learning in Python:
Generate isotropic Gaussian blobs for clustering.
https://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_blobs.html
Практическая часть изучения методов классификации
Часть 1. Генерация модельных данных
6. Визуализация модельных данных
Класс 0
Класс 1
Библиотека scikit-learn. Machine Learning in Python:
Generate isotropic Gaussian blobs for clustering.
https://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_blobs.html
Практическая часть изучения методов классификации
Часть 1. Генерация модельных данных
Изменение параметров при генерации модельных данных
1. Параметр centers (количество классов)
Библиотека scikit-learn. Machine Learning in Python:
Generate isotropic Gaussian blobs for clustering.
https://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_blobs.html
Практическая часть изучения методов классификации
Часть 1. Генерация модельных данных
Изменение параметров при генерации модельных данных
2. Параметр n_features (количество признаков)
Библиотека scikit-learn. Machine Learning in Python:
Generate isotropic Gaussian blobs for clustering.
https://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_blobs.html
Практическая часть изучения методов классификации
Часть 1. Генерация модельных данных
Изменение параметров при генерации модельных данных
3. Параметр cluster_std (стандартное отклонение классов*)
* Отклонение (разброс) значений классов
от их средней величины
Библиотека scikit-learn. Machine Learning in Python:
Generate isotropic Gaussian blobs for clustering.
https://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_blobs.html
Практическая часть изучения методов классификации
Часть 2. Создание объекта для классификации
1. Создание объекта
Признак 1
Признак 2
2. Визуализация объекта
Класс 0
Класс 1
Практическая часть изучения методов классификации
Часть 3. Метод k-ближайших соседей
1. Подключение библиотеки
2. Создание модели
3. Обучение модели
4. Классификация объекта
Класс 0
Класс 1
Библиотека scikit-learn. Machine Learning in Python:
Classifier implementing the k-nearest neighbors vote.
https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html
Практическая часть изучения методов классификации
Часть 3. Метод k-ближайших соседей
5. Изменение параметра n_neighbors
Класс 0
Класс 1
Библиотека scikit-learn. Machine Learning in Python:
Classifier implementing the k-nearest neighbors vote.
https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html
Практическая часть изучения методов классификации
Часть 4. Метод опорных векторов
1. Подключение библиотеки
2. Создание модели
3. Обучение модели
Ядро модели можно указывать явным
образом только в том случае, если по
визуализации данных можно сделать
вывод о разделяющей функции.
4. Классификация объекта
Класс 0
Класс 1
Библиотека scikit-learn. Machine Learning in Python:
C-Support Vector Classification.
https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC
Практическая часть изучения методов классификации
Часть 4. Метод опорных векторов
5. Функция для визуализации разделяющей гиперплоскости, отступов и опорных векторов
Библиотека scikit-learn. Machine Learning in Python:
C-Support Vector Classification.
https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC
Практическая часть изучения методов классификации
Часть 4. Метод опорных векторов
6. Визуализация
Класс 0
Класс 1
Библиотека scikit-learn. Machine Learning in Python:
C-Support Vector Classification.
https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC
Практическая часть изучения методов классификации
Часть 4. Метод опорных векторов
7. Создание и визуализация модели без явного указания ядра (разделяющей функции)
Класс 0
Класс 1
Библиотека scikit-learn. Machine Learning in Python:
C-Support Vector Classification.
https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC
Практическая часть изучения методов классификации
Часть 5. Наивный Байесовский классификатор
1. Подключение библиотеки
2. Создание модели
3. Обучение модели
4. Классификация объекта
Класс 0
Библиотека scikit-learn. Machine Learning in Python:
Gaussian Naive Bayes
https://scikit-learn.org/stable/modules/naive_bayes.html
Класс 1
Решение практической задачи классификации
Классификация фирм, уклоняющихся от налогов
(Из [1]) Специальное исследование показало, что склонность фирм к утаиванию части
своих доходов (и, соответственно, - к уклонению от уплаты части налогов) в
существенной мере определяется двумя показателями:
• x1 – соотношением «быстроты активов» и текущих пассивов;
• x2 – соотношением прибыли и процентных ставок
(оба показателя оцениваются по определенной методике в шкале от 300 до 900 баллов);
Требуется
Определить (используя 3 изученных метода классификации), к какому классу следует
отнести фирму с показателями:
x1 = 740, x2 = 590
Провести исследование результатов работы алгоритмов классификации.
Сравнить результаты полученные тремя методами, сделать вывод.
Алгоритмы классификации:
• Метод K-ближайших соседей
• Метод опорных векторов
• Наивный Байесовский классификатор
[1] С.В. Айвазян, В.С. Мхитарян. Прикладная статистика в задачах и упражнениях. –М.:
ЮНИТИ-ДАНА . 2001. - 270 с.
Решение практической задачи классификации
№
Фирмы,
уклоняющиеся от
налогов
Фирмы, не
уклоняющиеся от
налогов
x1
x2
x1
x2
1
740
680
750
590
2
670
600
360
600
3
560
550
720
750
4
540
520
540
710
5
590
540
570
700
6
590
700
520
670
7
470
600
590
790
8
560
540
670
700
9
540
630
620
730
10
500
600
690
840
11
-
-
610
680
12
-
-
550
730
13
-
-
590
750
Обучающая выборка [1]
Решение практической задачи классификации
Классификация фирм, уклоняющихся от налогов
Подготовка исходных данных
1. Создание массивов с исходными данными
Решение практической задачи классификации
Классификация фирм, уклоняющихся от налогов
Подготовка исходных данных
1. Создание массивов с исходными данными
Решение практической задачи классификации
Классификация фирм, уклоняющихся от налогов
Подготовка исходных данных
2. Визуализация
Класс 0 – фирмы,
уклоняющиеся от налогов
Класс 1
Класс 1 – фирмы,
не уклоняющиеся от налогов
Класс 0
Содержание отчета
по лабораторной работе 2
1. Постановка задачи. Представление исходных данных в виде графика (с
названием, подписанными осями).
2. Теоретическая часть. Описание алгоритмов классификации (метод K
ближайших соседей, метод опорных векторов, наивный Байесовский
классификатор).
3. Программная реализация (исходный код программы с построчным
комментированием) подготовки исходных данных и создания трех
моделей классификации. При работе с методом опорных векторов
обязательно реализовать функцию для визуализации разделяющей
гиперплоскости, отступов и опорных векторов.
4. Демонстрация и сравнение результатов работы трех методов для
классификации фирмы.
5. Выводы.
6. Список литературы.
Загружать отчеты для проверки только в формате .PDF
https://lms.uni-dubna.ru/course/view.php?id=2100