Отказ от ответственности: содержание этого сообщения, включая некоторые изображения, взято из лекций Первый курс глубокого обучения от One-Fourth Labs. Я несу полную ответственность за любые ошибки, которые могли возникнуть при воспроизведении.
Все машинное обучение можно разложить по 6 банкам, а именно
- Данные
- Задача
- Модель
- Потеря
- Обучение
- Оценка
1. Данные
Данные - это отдельные фрагменты информации (данные - это множественное число от данных, единый фрагмент информации), которая действует как топливо для машинного обучения.
Данные бывают разных форматов.
Но перед передачей данных машинам все данные должны быть закодированы как числа и обычно имеют большой размер.
Пример
На изображении выше мы видим, что изображения закодированы в числа, и здесь y - это class_label / response_variable / target_variable (подробнее об этом будет сказано в следующей банке), который говорит, есть ли у пациента опухоль. (1) или нет (0).
Откуда мы получаем данные?
Курирование данных - это организация и интеграция данных, собранных из различных источников.
Если вам повезет, есть много ресурсов, где они публично размещают наборы данных. Немного таких Google AI, UCI ML Repository, data.gov.in, Kaggle.
Если вы богаты, существуют рынки краудсорсинга, где вы можете назначать задачи по сбору данных (например, у вас есть данные, которые нужно пометить вручную, вы можете назначить эту задачу людям в этих местах). Немного таких Амазон механическая турка, Дататуркс, Восьмерка.
Если вы сообразительны, вы можете использовать такие методы, как анкетирование и опросы, проведение интервью, использование методов сбора и сканирования данных.
2. Задача
Прежде чем перейти к тому, что именно является задачей машинного обучения, давайте рассмотрим несколько примеров.
Пример 1
Нам всем нравится функция на Facebook, которая делает автоматическую пометку на наших лицах, что мы действительно называем задачей машинного обучения.
Пример 2
Рекомендовать продукты с помощью спецификаций, отзывов и личных данных также можно рассматривать как задачу.
Теперь давайте посмотрим на типы задач технически
Проще говоря, мы можем использовать контролируемое обучение, когда выходные данные известны, и можем использовать неконтролируемое обучение, когда входные данные указаны без явной выходной переменной.
мы видели пример сканирования медицинских изображений в банке данных, в котором y является выходной переменной. поэтому задача предсказать, есть ли у пациента опухоль, является задачей контролируемого обучения. Итак, при обучении с учителем, оно подпадает под классификацию или регрессию ? Я надеюсь, что вы сможете ответить на этот вопрос.
В своем выступлении на Inter AI Devcon 2018 Эндрю Н.Г., соучредитель Coursera, сказал, что контролируемое обучение создало 99% экономической ценности ИИ.
3. Модель
Просто вы можете рассматривать модель как математическую формулировку задачи.
На основании наших данных медицинских сканированных изображений нам было предложено создать систему, которая решает задачу: есть у пациента опухоль или нет. Эта система ответов на вопросы, которую мы создаем, называется моделью.
Есть много моделей, которые создаются годами. Каждая модель имеет свои преимущества и недостатки в зависимости от типа данных, на основе которых мы создаем модель.
В нашем случае, поскольку у нас всего 2 класса, опухоль (1) или нет опухоли (0), мы можем использовать небольшую линейную модель (y_pred = mx + c) для нашей задачи.
Пример
В приведенном выше примере наша задача - отнести изображение к одному из 5 доступных классов. как построить для него модель?
предположим, что истинное соотношение между x и y составляет y = f (x) и предположим, что наше приближение равно y_hat = f_hat (x)
Здесь, чтобы предсказать y_hat ( ярлык класса ), у нас есть разные варианты моделей для применения к x (особенности изображения)
4. Функция потерь
Как узнать, какая модель лучше? Функция потерь (также известная как ошибка) отвечает на этот вопрос.
Примечание. пока предположим, что коэффициенты в приведенных выше моделях были даны этими тремя карикатурами. посмотрим, как они на самом деле попали в банку 5.
На изображении выше y - истинное значение, а f1_hat (x), f2_hat (x), f3_hat (x) - это прогнозируемые значения, полученные на основе трех разных моделей, как показано на изображении.
Теперь, чтобы узнать, какая модель подходит для наших данных, мы вычисляем функцию потерь, сравнивая прогнозируемые результаты с фактическими результатами .
Одной из таких простых функций потерь является MSE (среднеквадратичная ошибка).
Некоторые общие функции потерь:
Классификационные потери: среднеквадратическая ошибка / потеря L2, средняя абсолютная ошибка / потеря L1.
Регрессионные потери: потеря шарнира / потеря нескольких классов SVM, потеря перекрестной энтропии / вероятность отрицательного журнала
5. Алгоритм обучения
В предыдущей банке мы видели три модели с коэффициентами / параметрами. Чтобы определить эти параметры для модели, нам нужен алгоритм обучения.
Здесь для модели, описанной выше, мы должны заставить систему изучить наилучшие возможные значения для параметров a, b, c, при которых потери минимизируются. Для этого мы используем стратегии оптимизации. Градиентный спуск - одно из таких.
Первые 4 баночки: Данные, Задача, Модель, Функция потерь - это работа, которую должен выполнять человек, а это обучение 5-й банки должно выполняться машиной.
6. Оценка
Чтобы вычислить оценку для нашей модели машинного обучения, нам нужно ее оценить.
Мы оцениваем параметры, используя алгоритм обучения на обучающих данных, и оцениваем модель на тестовых данных.
Для этого существует множество показателей производительности. Один из таких простых показателей - Точность.
Некоторые показатели оценки / производительности
Матрица неточностей, площадь под кривой ROC (AUC - ROC), среднеквадратическая ошибка (RMSE) (используется в регрессии),
почему мы не используем точность вместо функции потерь?
Часто функции потерь легче оптимизировать, чем обеспечивать точность, потому что они дифференцируются по параметрам модели, а в некоторых случаях даже выпуклые, что значительно упрощает задачу. ["Источник"]
Дайте мне знать, насколько вам это понравилось, хлопнув в ладоши. Спасибо за чтение :) Ура!
📝 Прочтите этот рассказ позже в Журнале.
🗞 Просыпайтесь каждое воскресное утро и слышите самые интересные истории, мнения и новости недели, ожидающие в вашем почтовом ящике: Получите примечательный информационный бюллетень›