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

Вы можете начать писать свой код в Jupyter Notebook, который работает в среде вашего локального компьютера, или в Google Colab, который работает в среде Google Cloud. Если вы решите записать свой код в Jupyter Notebook, вы можете скачать его здесь, но если вы решите записать свой код в Google Colab, вам следует перейти по этой ссылке. Основное различие между ними заключается в графическом процессоре. В то время как Jupyter Notebook использует ваш графический процессор для запуска кода, Google Colab предоставляет вам бесплатный графический процессор. Что ж, вы можете прочитать эту статью, чтобы узнать больше о Google Colab.

Ладно, вернемся к основной теме. Вот объяснение семи шагов машинного обучения.

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

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

Кроме того, вам необходимо собирать такие данные, как базовый цвет яблока и апельсина, размер яблока и апельсина и т. д. Вы можете собирать данные с помощью Kaggle, баз данных, API, парсеров, онлайн-репозиториев и т. д. Поддерживаемые форматы данных в Машинное обучение — это CSV (значения, разделенные запятыми), XLS, JSON (обозначение объектов Javascript), SQL (стандартный язык запросов) и SPSS (статистический пакет для социальных наук).

2. Подготовка данных

Следующий шаг – подготовка данных. На этом шаге нужно сделать две важные вещи: Очистка данных и Преобразование данных. Очистка данных похожа на проверку отсутствующих значений и несоответствие типов данных, также удаление повторяющихся значений. Если вы получили пропущенные значения, лучше заполнить его средним значением или значением, которое чаще всего выходит из этого столбца. С другой стороны, преобразование данных — это процесс изменения данных на основе предопределенных правил, таких как разделение данных на две разные части: обучающую и тестовую. Вы можете разделить их на 70% и 30% или 80% и 20% (в зависимости от размера набора данных).

3. Выбор модели

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

· Искусственная нейронная сеть

· Деревья решений

· Машина опорных векторов

· Регрессионный анализ

· Байесовские сети

· Генетические алгоритмы

Модель будет работать в соответствии с типом обучения, полученным ранее.

4. Тренировочные данные

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

y=m*x+b, где x — входные данные, m — наклон этой линии, b — точка пересечения с осью y, а y — значение линии в позиции x. Значения, которые у нас есть для настройки или «обучения», — это m и b. Нет другого способа повлиять на положение линии, поскольку единственными другими переменными являются x, наш вход, и y, наш выход.

В машинном обучении много m, так как может быть много функций. Набор этих m значений обычно формируется в матрицу, которую мы будем обозначать W для матрицы «весов». Точно так же для b мы объединяем их вместе и называем это предубеждениями.

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

Затем этот процесс повторяется. Каждая итерация или цикл обновления весов и смещений называется одним «шагом» обучения.

5. Оценка

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

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

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

Одним из примеров является сколько раз мы проходим набор обучающих данных во время обучения. Я имею в виду, что мы можем «показать» модели наш полный набор данных несколько раз, а не только один раз. Иногда это может привести к более высокой точности.

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

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

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

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

7. Прогноз

Машинное обучение — это использование данных для ответа на вопросы. Таким образом, предсказание или вывод — это этап, на котором мы получаем ответы на некоторые вопросы. Это точка всей этой работы, где реализуется ценность машинного обучения.

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

Всем спасибо и хорошего дня :)