Этот пост вдохновлен курсом глубокого обучения, который я провожу с padhai.OneFourthLabs.in

Я пытался осмыслить облако слов, которое окружает мифический мир решения проблем машинного обучения (МО).

Подход 6Jars прост, он пытается объединить всю работу, которую вы выполняете в сценарии использования ML, в 6 вершин.

Сейчас мы живем в эпоху данных, и «Данные — это новая нефть». Данные окружают нас повсюду: от фотографий в Instagram до твитов и чат-шоу, которые мы транслируем по радио. И компьютеры видят эти данные (изображения, звук, текст и т. д.) как единицы и нули, т.е. 2 или 3D-матрицы, и для манипулирования этими матрицами нам нужно знать линейную алгебру.

Теперь, если данные, которые мы предоставляем нашей машине или алгоритму, помечены (ввод и вывод четко обозначены), то мы обучаем нашу машину в рамках контролируемого обучения. И чтобы лучше понять входные данные, нам понадобится описательная статистика, такая как гистограммы и т. Д. И это даст нам подсказку, на которую следует обратить внимание в качестве нашего следующего ключа к построению алгоритмов прогнозирования.

Затем нам нужно построить модель и сделать ее лучшей моделью… нам нужно ее оптимизировать… мы делаем это, уменьшая функцию ошибки, то есть с помощью исчисления.

В машинном обучении мы пытаемся дать машине возможность узнать о чем-то, а затем принимать решения (на основе того, что она узнала). И он учится на основе данных, которые мы даем алгоритму!

Теперь, когда все эти данные приходят к нам, что мы можем с ними сделать? Потому что то, что я хочу делать с моими данными, определяет, как я буду обучать свою модель и какие входные данные я буду вносить в свою модель. Это не что иное, как определение моих задач.

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

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

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

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

Данные, задачи, модель, функция потерь, алгоритмы обучения, оценка… это линзы, через которые я буду пытаться смотреть на любую проблему машинного обучения, и я уверен, что это сделает мое путешествие в машинное обучение более интересным!