«Данные - это мощная сущность, а машинное обучение - это искусство извлечения полезной информации из набора данных»

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

Машинное обучение подразделяется на три основные части:

1) Обучение с учителем

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

2) Обучение без учителя

Когда для данного набора данных нет предопределенного набора помеченных входов / выходов. Затем мы можем обучить модель группировать данные на основе характеристик и сходства. Пример - прогноз аномалии / рака, мошенническая транзакция.

3) Обучение с подкреплением

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

Предварительная обработка данных:

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

  • Сбор огромного количества актуальных данных
  • Замена null на медианные значения и сохранение общего типа данных для каждого столбца.
  • Удаление ненужных функций
  • Представление символов / строки в виде чисел с помощью LabelEncoder
  • Нормализация данных: этот метод требуется, когда представляемые данные имеют разные шкалы значений. Например, Распознаваемые человеком единицы, такие как персонаж = 25, скорость автомобиля = 80 км / ч и т. Д., Которые машину легко запутать. Так что нормализация данных помогает решить эту проблему. Формулы, используемые здесь, показаны ниже.

Масштаб данных после предварительной обработки будет в диапазоне (от -1 до +1).

  • Разделение ввода и вывода от необработанных данных

Фреймворки:

  • Панды - манипулирование необработанными данными.
  • Numpy - Математические вычисления.
  • Matplotlib, pyplot - Построение графиков.

Математика:

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

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

Обучение с учителем можно разделить на два типа:

  • Регрессия - непрерывный диапазон значений (вывод)
  • Классификация - выходные данные дискретны и предполагают принадлежность к одной из групп.

Все модели контролируемого обучения имеют данные, и их следует разделить на две части: входные (X) и выходные (Y). Чтобы понять / найти подходящую модель для данных, используйте диаграмму рассеяния.

Модель регрессии:

Глядя на приведенные ниже данные, мы склонны обозначать такие данные линией.

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

  • x - входной параметр
  • Θ0— Предвзятость: Имеется в виду принять чью-то сторону. В ML мы выбираем одно обобщение над другим из множества возможных обобщений
  • Θ1 - гиперпараметр: настроен для конкретной задачи прогнозного моделирования.
  • y - выход

Функция ошибки / Стоимость:

Цель каждой модели машинного обучения - уменьшить ошибку до 0.

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

Модель: X * Θ ^ T

Минимизация ошибки: мы можем минимизировать ошибку, пробуя разные значения Θ1 в нашей модели.

Градиентный спуск:

Показанный здесь график - для нескольких значений тета и соответствующего значения квадрата ошибки.

Независимо от того, насколько высока наша величина ошибки, мы должны свести ее к минимуму. Для этого мы можем использовать наклон линии ( y / x) [частичное дифференцирование y относительно x], которое показано ниже. Отрицательный градиент гарантирует, что мы спускаемся по кривой, а «C» - это скорость обучения, с которой мы увеличиваем значение теты.

Выбор «скорости обучения» важен для модели. Для этого нужно практиковаться методом проб и ошибок. Чтобы автоматизировать это, у нас есть формула градиентного спуска, универсальная для всех моделей машинного обучения.