Как начать изучать машинное обучение?

Опубликовано: 2 Июля, 2021

Артур Самуэль ввел термин «машинное обучение» в 1959 году и определил его как «область обучения, которая дает компьютерам возможность учиться без явного программирования».

И это было началом машинного обучения! В наше время машинное обучение - один из самых популярных (если не самый!) Вариантов карьеры. Согласно Indeed, инженер по машинному обучению - лучшая работа 2019 года с ростом на 344% и средней базовой зарплатой в размере 146 085 долларов в год.

Но все еще есть много сомнений в том, что такое машинное обучение и как его начать изучать? Итак, эта статья посвящена основам машинного обучения, а также пути, по которому вы можете в конечном итоге стать полноценным инженером по машинному обучению. А теперь приступим !!!

Что такое машинное обучение?

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

Как начать изучать ML?

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

Шаг 1. Ознакомьтесь с предварительными условиями

Если вы гений, вы можете запустить ML напрямую, но обычно есть некоторые предварительные условия, которые вам нужно знать, включая линейную алгебру, многомерное исчисление, статистику и Python. И если вы этого не знаете, не бойтесь! Вам не нужна докторская степень. степень в этих темах, чтобы начать, но вам нужно базовое понимание.

(а) Изучите линейную алгебру и многомерное исчисление

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

(б) Изучите статистику

Данные играют огромную роль в машинном обучении. Фактически, около 80% вашего времени в качестве эксперта по машинному обучению будет потрачено на сбор и очистку данных. А статистика - это поле, которое занимается сбором, анализом и представлением данных. Так что неудивительно, что вам нужно этому учиться !!!
Некоторые из ключевых концепций статистики, которые имеют важное значение, - это статистическая значимость, распределения вероятностей, проверка гипотез, регрессия и т. Д. Кроме того, байесовское мышление также является очень важной частью машинного обучения, которое имеет дело с различными концепциями, такими как условная вероятность, априорные и апостериорные факторы, Максимальное правдоподобие и т. Д.

(c) Изучите Python

Некоторые люди предпочитают пропускать линейную алгебру, многомерное исчисление и статистику и изучать их по мере их изучения методом проб и ошибок. Но единственное, что нельзя пропустить, - это Python! Хотя есть и другие языки, которые вы можете использовать для машинного обучения, такие как R, Scala и т. Д., Python в настоящее время является самым популярным языком для машинного обучения. На самом деле существует множество библиотек Python, которые особенно полезны для искусственного интеллекта и машинного обучения, такие как Keras, TensorFlow, Scikit-learn и т. Д.

Так что, если вы хотите изучить ML, лучше всего выучите Python! Вы можете сделать это, используя различные онлайн-ресурсы и курсы, такие как Fork Python, доступный бесплатно на GeeksforGeeks.

Шаг 2 - Изучите различные концепции машинного обучения

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

(а) Терминология машинного обучения

  • Модель - модель - это конкретное представление, полученное из данных путем применения некоторого алгоритма машинного обучения. Модель также называют гипотезой.
  • Характеристика - характеристика - это индивидуальное измеримое свойство данных. Набор числовых признаков можно удобно описать вектором признаков. Векторы признаков передаются в модель в качестве входных данных. Например, чтобы предсказать плод, могут быть такие характеристики, как цвет, запах, вкус и т. Д.
  • Цель (метка) - целевая переменная или метка - это значение, которое должна спрогнозировать наша модель. Для примера фруктов, обсуждаемого в разделе функций, метка с каждым набором входных данных будет именем фрукта, например, яблоко, апельсин, банан и т. Д.
  • Обучение . Идея состоит в том, чтобы предоставить набор входных данных (функций) и ожидаемых результатов (меток), поэтому после обучения у нас будет модель (гипотеза), которая затем сопоставит новые данные с одной из категорий, на которых обучается.
  • Прогнозирование - как только наша модель будет готова, ей можно будет подать набор входных данных, на которые она предоставит прогнозируемый результат (метку).

(б) Типы машинного обучения

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

(c) Как практиковать машинное обучение?

  • Самая трудоемкая часть в ML - это сбор, интеграция, очистка и предварительная обработка данных. Так что обязательно попрактикуйтесь с этим, потому что вам нужны высококачественные данные, но большие объемы данных часто бывают грязными. Так что это то, на что уйдет большая часть вашего времени !!!
  • Изучите различные модели и потренируйтесь на реальных наборах данных. Это поможет вам создать интуитивное представление о том, какие типы моделей подходят в различных ситуациях.
  • Наряду с этими шагами не менее важно понимать, как интерпретировать результаты, полученные с использованием разных моделей. Это легче сделать, если вы разбираетесь в различных параметрах настройки и методах регуляризации, применяемых к разным моделям.

(d) Ресурсы для обучения машинному обучению:

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

  • Стэнфордский курс Эндрю Нг по машинному обучению является довольно популярным в качестве общего введения в машинное обучение. Он фокусируется на машинном обучении, интеллектуальном анализе данных и статистическом распознавании образов, а видеоролики с пояснениями очень полезны для прояснения теории и основных концепций машинного обучения.
  • Если вам нужно руководство по машинному обучению для самостоятельного изучения, ускоренный курс машинного обучения от Google подойдет вам, поскольку он предоставит вам введение в машинное обучение с видеолекциями, практическими примерами и практическими упражнениями.
  • Если вы предпочитаете автономный курс, вам идеально подойдет курс Geeksforgeeks Machine Learning Foundation. Этот курс познакомит вас с различными концепциями машинного обучения, а также ознакомит с практическим опытом их применения в учебной среде.

Шаг 3 - Примите участие в соревнованиях

Поняв основы машинного обучения, можно переходить к безумной части !!! Соревнования! Это в основном сделает вас еще более опытным в машинном обучении, объединив в основном теоретические знания с практической реализацией. Здесь приведены некоторые из основных соревнований, с которых вы можете начать на Kaggle и которые помогут вам обрести уверенность в себе:

  • Titanic: Machine Learning from Disaster: The Titanic: Machine Learning from Disaster Challenge - очень популярный проект для начинающих в области машинного обучения, поскольку для него доступно несколько учебных пособий. Так что это отличное введение в концепции машинного обучения, такие как исследование данных, разработка функций и настройка модели.
  • Digit Recognizer: Digit Recognizer - это проект после того, как вы познакомитесь с основами Python и ML. Это отличное введение в захватывающий мир нейронных сетей с использованием классического набора данных, который включает предварительно извлеченные функции.

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

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.