Продолжение новичка.

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

Классификация:

  • Тип обучения с учителем, при котором заданный набор данных распределяется по классам на основе сходства их характеристик.
  • Цель задачи анализа данных: прогнозирование метки для заданных наборов данных; категориальные или дискретные ярлыки.
  • Также известен как логистическая регрессия.
  • Имеет всего 2 выхода - ДА (1) и НЕТ (0).
  • Пример: определение спам-писем, в которых СПАМ = 1, а НЕ СПАМ = 0.

Как и любой другой алгоритм контролируемого обучения, этот также состоит из шести основных шагов:

  1. Импорт наборов данных
  2. Предварительная обработка данных
  3. Определение модели
  4. Расчет погрешности
  5. Минимизация ошибок
  6. Прогнозирование будущих ценностей.

Шаг 1. Импорт данных

  • Хорошо известный набор данных, который используется для распознавания рукописных чисел, называется набором данных mnist, который состоит из тысяч выборок всех цифр от 0 до 9.
  • Всего имеется 784 сэмпла пикселей (28x28), где числа отображаются белым цветом на черном фоне.
  • Все 784 пиксельных отсчета набора данных содержат значения пикселей.

Значение пикселя для черного: 0 и значение пикселя для белого: 255

Шаг 2: предварительная обработка данных

  • Изменение данных перед их передачей в алгоритм, чтобы упростить и упростить вычисления.
  • Разделение всех данных на два: X-вход (функция) и Y-фактический выход, который полностью зависит от используемого набора данных и задачи, которую необходимо выполнить.
  • И X, и Y делятся на

Данные для обучения - для обучения и построения модели

Тестовые данные - для проверки построенной модели.

Шаг 3: Определение модели

Модель: представление данных

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

  • Для классификации вывод только двоичный: 0≤x≤1. Мы выбираем логистическую функцию, которая вычисляет выход в требуемом диапазоне. В данном случае мы выбрали сигмовидную функцию в качестве модели.

Сигмоидальная функция z (g (z)) задается следующим образом: z = f (x) = X * theta.T

Шаг 4: Расчет погрешности

  • Поскольку выходные данные являются двоичными, существует только 2 вида ошибок: нулевая ошибка и максимальная ошибка (бесконечность).
  • 2 случая, когда может возникнуть ошибка:

Сценарий 1: фактический результат = 1 и прогнозируемый результат = 0

Ошибка = -log (g (x))

Сценарий 2: фактический результат = 0 и прогнозируемый результат = 1

Ошибка = -log (1-g (x))

  • Объединяя оба случая, окончательная функция стоимости J обозначается как:

Шаг 5: минимизация ошибки

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

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

Шаг 6: окончательный шаг-прогноз

  • После того, как функция стоимости минимизирована, модель затем тестируется с использованием тестовых данных и рассчитывается точность модели. Теперь модель готова делать прогнозы.
  • Чтобы делать прогнозы, мы должны загрузить входное изображение. Мы можем использовать библиотеку python PIL для загрузки и инвертирования изображения (поскольку большинство входных изображений имеют белый фон с черными надписями).
  • Теперь эту завершенную модель можно использовать для получения прогноза категории для одного конкретного входа, указывая, принадлежит ли вход этой конкретной категории или нет.

Чтобы прочитать о регрессии, нажмите:



Благодарю вас! Приятного чтения!