«Данные - это мощная сущность, а машинное обучение - это искусство извлечения полезной информации из набора данных»
Для создания такого искусства у машинного обучения есть различные методы / алгоритмы. Проблема машинного обучения определяется на основе трех характеристик - производительности, задачи и опыта. Производительность задачи улучшается на основе предыдущих данных или опыта.
Машинное обучение подразделяется на три основные части:
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» - это скорость обучения, с которой мы увеличиваем значение теты.
Выбор «скорости обучения» важен для модели. Для этого нужно практиковаться методом проб и ошибок. Чтобы автоматизировать это, у нас есть формула градиентного спуска, универсальная для всех моделей машинного обучения.