Чтобы понять проблему, выполните следующие задачи:
- Укажите цель продукта, который вы разрабатываете или рефакторите.
- Определите, какую цель лучше всего решить с помощью прогнозного машинного обучения, генеративного искусственного интеллекта или решения, не связанного с машинным обучением.
- Убедитесь, что у вас есть данные, необходимые для обучения модели, если вы используете подход прогнозного машинного обучения.
Сформулируйте цель
Начните с формулировки своей цели в терминах, не связанных с ОД. Цель – это ответ на вопрос: «Чего я пытаюсь достичь?»
В следующей таблице четко указаны цели гипотетических приложений:
Приложение | Цель |
---|---|
Приложение Погода | Рассчитайте количество осадков с шагом в шесть часов для географического региона. |
Модное приложение | Создавайте разнообразные дизайны рубашек. |
Видео приложение | Рекомендуйте полезные видео. |
Почтовое приложение | Обнаружение спама. |
Финансовое приложение | Обобщите финансовую информацию из нескольких источников новостей. |
Приложение «Карта» | Рассчитать время в пути. |
Банковское приложение | Выявление мошеннических операций. |
Приложение для обедов | Определите кухню по меню ресторана. |
Приложение электронной коммерции | Отвечайте на отзывы полезными ответами. |
Ясный вариант использования машинного обучения
Некоторые рассматривают МО как универсальный инструмент, который можно применить ко всем проблемам. На самом деле МО — это специализированный инструмент, подходящий только для решения конкретных задач. Вы не хотите реализовывать сложное решение ML, когда подойдет более простое решение, не связанное с ML.
Системы машинного обучения можно разделить на две большие категории: прогнозирующее машинное обучение и генеративный искусственный интеллект . В следующей таблице перечислены их определяющие характеристики:
Вход | Выход | Техника тренировки | |
---|---|---|---|
Прогнозное машинное обучение | Текст Изображение Аудио видео Числовой | Делает прогноз, например, классифицирует электронное письмо как спам или не спам, угадывает завтрашние осадки или прогнозирует цену акций. Результат обычно можно сверить с реальностью. | Обычно использует большое количество данных для обучения модели обучения с учителем, без учителя или с подкреплением для выполнения конкретной задачи. |
Генеративный ИИ | Текст Изображение Аудио видео Числовой | Генерирует выходные данные на основе намерений пользователя, например, краткое изложение статьи или создание аудиоклипа или короткого видео. | Обычно использует множество немаркированных данных для обучения большой языковой модели или генератора изображений заполнению недостающих данных. Затем модель можно использовать для задач, которые можно сформулировать как задачи заполнения пустых полей, или ее можно точно настроить, обучая ее на помеченных данных для какой-либо конкретной задачи, например классификации. |
Чтобы убедиться, что ML — это правильный подход, сначала убедитесь, что ваше текущее решение, не связанное с ML, оптимизировано. Если у вас нет решения, не связанного с машинным обучением, попробуйте решить проблему вручную с помощью эвристики .
Решение, не связанное с машинным обучением, — это эталон, который вы будете использовать, чтобы определить, подходит ли машинное обучение для решения вашей проблемы. При сравнении подходов, не связанных с МО, и методов МО рассмотрите следующие вопросы:
Качество . Насколько лучше, по вашему мнению, может быть решение ML? Если вы считаете, что решение ML может быть лишь небольшим улучшением, это может указывать на то, что текущее решение является лучшим.
Стоимость и обслуживание . Насколько дорого стоит решение ML как в краткосрочной, так и в долгосрочной перспективе? В некоторых случаях внедрение машинного обучения обходится значительно дороже с точки зрения вычислительных ресурсов и времени. Рассмотрите следующие вопросы:
- Может ли решение ML оправдать увеличение стоимости? Обратите внимание, что небольшие улучшения в больших системах могут легко оправдать затраты и обслуживание внедрения решения ML.
- Сколько обслуживания потребует решение? Во многих случаях реализации машинного обучения требуют специального долгосрочного обслуживания.
- Есть ли у вашего продукта ресурсы для поддержки обучения или найма людей с опытом ML?
Проверьте свое понимание
Прогнозное машинное обучение и данные
Данные являются движущей силой прогнозного машинного обучения. Чтобы делать хорошие прогнозы , вам нужны данные, содержащие функции с предсказательной силой. Ваши данные должны иметь следующие характеристики:
Обильный . Чем больше актуальных и полезных примеров в вашем наборе данных , тем лучше будет ваша модель.
Последовательный и надежный . Наличие данных, которые собираются последовательно и надежно, позволит создать лучшую модель. Например, модель погоды на основе машинного обучения выиграет от данных, собранных за многие годы с помощью одних и тех же надежных инструментов.
Доверенный . Поймите, откуда берутся ваши данные. Будут ли данные поступать из надежных источников, которые вы контролируете, например журналы вашего продукта, или они будут из источников, о которых вы не имеете особого представления, например, выходные данные другой системы ML?
Доступный . Убедитесь, что все входные данные доступны во время прогнозирования в правильном формате. Если будет сложно получить определенные значения объектов во время прогнозирования, исключите эти объекты из своих наборов данных.
Правильный . В больших наборах данных неизбежно, что некоторые метки будут иметь неверные значения, но если неправильный процент меток превышает небольшой процент, модель будет давать плохие прогнозы.
Представитель . Наборы данных должны быть максимально репрезентативными для реального мира. Другими словами, наборы данных должны точно отражать события, поведение пользователей и/или явления моделируемого реального мира. Обучение на нерепрезентативных наборах данных может привести к снижению производительности, когда модель просят делать реальные прогнозы.
Если вы не можете получить необходимые данные в требуемом формате, ваша модель будет давать неверные прогнозы.
Предсказательная сила
Чтобы модель давала хорошие прогнозы, функции в вашем наборе данных должны обладать предсказательной силой. Чем больше функция коррелирует с меткой, тем больше вероятность ее предсказания.
Некоторые функции будут иметь большую предсказательную силу, чем другие. Например, в наборе погодных данных такие функции, как cloud_coverage
, temperature
и dew_point
, будут лучшими предикторами дождя, чем moon_phase
или day_of_week
. В примере с видеоприложением можно предположить, что такие функции, как video_description
, length
и views
могут быть хорошими предикторами того, какие видео пользователь захочет посмотреть.
Имейте в виду, что предсказательная сила функции может измениться из-за изменения контекста или предметной области. Например, в видеоприложении такая функция, как upload_date
, в целом может быть слабо связана с меткой. Однако в субдомене игровых видео upload_date
может сильно коррелировать с меткой.
Определение того, какие функции обладают предсказательной силой, может занять много времени. Вы можете вручную изучить прогнозирующую силу функции, удаляя и добавляя ее во время обучения модели. Вы можете автоматизировать определение прогностической способности функции, используя такие алгоритмы, как корреляция Пирсона , скорректированная взаимная информация (AMI) и значение Шепли , которые обеспечивают числовую оценку для анализа предсказательной способности функции.
Проверьте свое понимание
Дополнительные рекомендации по анализу и подготовке наборов данных см. в разделе Подготовка данных и разработка функций для машинного обучения .
Прогнозы против действий
Нет смысла что-то прогнозировать, если вы не можете превратить прогноз в действие, которое поможет пользователям. То есть ваш продукт должен действовать на основании результатов модели.
Например, модель, которая предсказывает, найдет ли пользователь видео полезным, должна использоваться в приложении, которое рекомендует полезные видео. Модель, которая предсказывает, будет ли дождь, должна использоваться в погодном приложении.
Проверьте свое понимание
На основе следующего сценария определите, является ли использование машинного обучения лучшим подходом к решению проблемы.
Команда инженеров в крупной организации отвечает за управление входящими телефонными звонками.
Цель : информировать вызывающих абонентов о том, как долго они будут ждать в режиме удержания, учитывая текущий объем вызовов.
У них нет какого-либо решения, но они считают, что эвристическим решением было бы разделить текущее количество клиентов, находящихся в режиме ожидания, на количество сотрудников, отвечающих на телефонные звонки, а затем умножить это значение на 10 минут. Однако они знают, что проблемы некоторых клиентов решаются за две минуты, а у других это может занять до 45 минут или дольше.
Их эвристика, вероятно, не даст им достаточно точного числа. Они могут создать набор данных со следующими столбцами: number_of_callcenter_phones
, user_issue
, time_to_resolve
, call_time
, time_on_hold
.
time_on_hold
.