Вы никогда не ошибетесь

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

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

Вот почему я пишу этот пост. Здесь я собираюсь объяснить, как завершить ваш первый проект машинного обучения за 10 шагов.

Если вы новичок и прежде чем приступить к своему первому проекту машинного обучения, возможно, вы захотите продолжить чтение оставшейся части этой статьи. Наслаждаться.

1. Цель проекта машинного обучения

Первый вопрос, на который вам нужно ответить: является ли ваш проект машинного обучения разовым или постоянной процедурой? Если это разовые усилия по построению модели, а остальное - просто усилия по управлению производительностью моделей, то вы можете примерно спланировать время, необходимое для его завершения. Лучший проект - это проект с понятным сценарием использования. Вот почему после определения цели вы можете четко определить, кто будет использовать результаты и насколько они будут полезны. Как и любой другой проект, без понимания того, как использовать результат, ваш проект машинного обучения закончится незавершенным. На практике результаты используются для различных видов анализа, в том числе для прогнозирования производственного планирования, поиска лазеек в продуктах или настроениях клиентов по поводу продукта или просто для лучшего знакомства с вашими данными.

2. Сбор данных

Многие приходят в восторг, когда слышат идеи о том, как ML может решить их проблемы, но мало ли они знали, что ML - это всего лишь двигатель, а реальное топливо - это данные. Сбор данных является наиболее важным аспектом проекта, поскольку ценность и размер собранных данных позже будут определять производительность наших моделей машинного обучения. Спросите у своей компании, разрешат ли они вам использовать данные, с которыми вы имеете дело каждый день на работе. Если они скажут нет, вы все равно сможете найти данные с платформ с открытым исходным кодом в Интернете, например, на платформах Kaggle или Github.

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

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

Когда мы собираем данные, у них возникают такие проблемы, как опечатки, орфографические ошибки, дублирование и пропущенные значения. Возможные различия отсутствующих значений: («Нет», «NA», «NaN», «», «?»). Вы можете справиться с недостающими данными этими двумя способами.

Числовые NAN означает, что вы вычисляете недостающие данные с помощью режима, среднего и медианы, например, если у вас есть числовые данные, вы должны использовать среднее значение. Если вы работаете с проблемой кластеризации и сталкиваетесь с выбросами, попробуйте Median.

Категориальные NAN означает замену данных наиболее частыми значениями.

4. Разработка функций

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

5. Выбор категории машинного обучения

Согласно книге Cambridge Press «Понимание машинного обучения», на корневом уровне есть три типа категорий, а именно:

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

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

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

а) Обучение с учителем включает классификацию и регрессию. Классификация относится к системам обнаружения мошенничества, классификации изображений, спама и диагностики. Регрессия подтверждает оценку рисков и прогнозы по количеству баллов.

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

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

Ранее вы определили цель своего проекта. Теперь пришло время определить категорию вашей задачи машинного обучения на основе вышеизложенного.

6. Нарезка данных

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

7. Использование техники машинного обучения

Доступны тысячи методов, и все они хороши, но найдите подходящую модель, которая соответствует вашим данным, чтобы получить наилучшие результаты. Уже существуют некоторые установленные правила, которые помогут вам выбрать, какие модели подходят вам. Просто чтобы дать вам несколько примеров, если ваш проект имеет дело с предсказанием или прогнозом непрерывных значений, вы можете использовать линейную регрессию или нейронную сеть. Если вы работаете над проектом, который имеет дело с многоклассовой классификацией, возможно, лучшим выбором будет модель случайного леса. Вы получите дрель.

8. Настройка параметров

Улучшение данных о поездах возможно путем настройки параметров. В сложных моделях начальные условия более критичны. Эти условия или настройки называются гиперпараметрами. Настройка гиперпараметров поможет в обновлении и в процессе обучения параметров во время тренировки. Такие настройки, как случайный поиск или поиск по сетке, обеспечат лучшие результаты.

9. Интерпретация результатов

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

10. Быстрое развертывание

Команда специалистов по данным может построить прогнозную модель, но в основном она предназначена для использования конечными пользователями. Быстрая и простая разработка необходима, чтобы сделать модель простой в использовании в корпоративной среде, включая саму модель машинного обучения, интерфейс прикладных программ (API) и способы визуализации результатов прогнозирования. Можно сказать, что вся обработка будет производиться на бэкэнде. Это внутренний сервер, который получает запрос от клиента в форме JSON. Впоследствии эти входные данные отправляют запрос модели для обработки и заканчивают TensorflowJS, который выполняется в веб-браузере.

Спасибо за чтение. Если у вас возникнут какие-либо идеи или отзывы, не стесняйтесь поделиться со мной, отправив мне сообщение на мой Linkedin!

➡️ https://www.linkedin.com/in/faizfablillah/