Как начать машинное обучение
Вы всегда были поражены количеством онлайн-курсов по машинному обучению? Вы считаете, что количество тем в машинном обучении пугает? Вы тратите больше времени на чтение обзоров, чем на сам курс? Что ж, я составил пошаговое руководство, чтобы вы могли перейти с нуля до опытного участника Kaggle за один год. Давайте прямо в это дело!
Примечание. Я предполагал, что читатель знает основы исчисления и векторы.
Шаг 0:
Сделайте, пожалуйста, записную книжку. Даже если курс содержит конспекты лекций или слайды, делайте заметки. И когда вы пишете код, добавляйте комментарии к критическим шагам. Поможет вам в доработке.
Шаг 1:
Эндрю Нг создал один из лучших вводных курсов по машинному обучению. Он бесплатный, всеобъемлющий и не требует многих условий. Есть некоторые сложные математические концепции, которые он объяснит «достаточно» для курса, но не углубляясь в них. Пожалуйста, обратите внимание на эти математические темы, поскольку мы вернемся к ним позже.
Шаг 2:
Курс Эндрю Нг изучает язык программирования Octave, который не используется в машинном обучении. Вам необходимо изучить Python. Но перед этим я рекомендую вам научиться пользоваться компьютерными средами. К концу вашего учебного пути вы встретите несколько библиотек, и устанавливать их все в основной каталог не рекомендуется.
Вот отличный пост от Даниэля Бурка; это поможет вам все настроить.
Шаг 3:
А теперь вернемся к Python. Если вы предпочитаете учебники и медленные учебные пособия, Corey Schafer создал фантастическое учебное пособие. Посмотрите видеоролики 1–9, 17–39, 46 и 56.
h ttps: //www.youtube.com/playlist? list = PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU
Если вы предпочитаете более увлекательные и динамичные обучающие программы, Харрисон Кинсли или Sentdex сделали отличное руководство, в котором вы создаете небольшую игру.
Шаг 4:
Теперь, когда вы изучили Python, вы поймете, что использование нескольких вложенных списков для обработки матриц неэффективно. Здесь на помощь приходит Numpy. Вот краткое текстовое руководство от Гоку Мохандас.
Шаг 5:
Помните, я сказал обратить внимание на математические концепции, которые только что затронул Эндрю Нг. Один из них - линейная алгебра. Но я не хочу, чтобы вы прошли полноценный теоретический курс линейной алгебры. Вместо этого у нас есть блестящий курс «Вычислительная линейная алгебра» от Рэйчел Томас.
Шаг 6:
Прежде чем приступить к разработке модели машинного обучения, необходимо выполнить анализ данных. Двумя наиболее важными инструментами / библиотеками для этого являются Pandas и Matplotlib. Corey Schafer сделал исчерпывающее руководство для обоих. Не пытайтесь запомнить все функции; ознакомьтесь с библиотеками.
Панды: https://www.youtube.com/playlist?list=PL-osiE80TeTsWmV9i9c58mdDCSskIFdDS
Matplotlib: https://www.youtube.com/playlist?list=PL-osiE80TeTvipOqomVEeZ1HRrcEvtZB_
Шаг 7:
Теперь, когда у вас есть все инструменты, вы можете приступить к созданию моделей машинного обучения. Я бы порекомендовал следовать наряду с учебником Sentdex из видео 1–42.
https://www.youtube.com/playlist?list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v
Шаг 8:
Некоторые алгоритмы, а именно деревья решений, случайные леса, усиление и наивный байесовский алгоритм, не были затронуты ни в одном из курсов или руководств, перечисленных выше. Для этого у нас есть классный учитель, известный как Джош Стармер. Он объясняет вещи подробно и наглядно. Мне нравится саркастически приземленный тон голоса в его видео.
- Деревья решений
https://www.youtube.com/watch?v=7VeUPuFGJHk&t=13s
https://www.youtube.com/watch?v=wpNl-JwwplA
https://www.youtube.com/watch?v=q90UDEgYqeI&t=51s
2. Случайный лес
Следующее руководство разработано DigitalSreeni. Он микроскопист, и на его канале YouTube есть отличный контент о приложениях машинного обучения для обработки изображений.
3. AdaBoost
Я считаю, что к настоящему времени вы сможете прочитать документацию и разобраться во всем самостоятельно. Но на всякий случай я добавил простое руководство по реализации AdaBoost в Python от Unfold Data Science.
4. Повышение градиента
5. XGBoost
6. Наивный байесовский
Шаг 9:
Теперь вам следует перейти к глубокому обучению. Но перед этим вы должны получить следующие две книги. Если вы хотите углубиться в математические основы того, что вы узнали или собираетесь изучить, эти две книги - отличные ресурсы.
Шаг 10:
Было бы лучше, если бы вы начали со специализации по глубокому обучению Эндрю Нг. Этот курс познакомит вас с фундаментальными концепциями нейронных сетей и поделится множеством советов по оптимизации вашей модели.
Шаг 11:
Наконец, чтобы укрепить свои практические навыки глубокого обучения, пройдите следующий курс. Это потенциально может сделать вас победителем конкурса Kaggle.
Поздравляю! Вы стали практиком машинного обучения-самоучки.
Для людей, которые хотят глубже вникнуть в теоретические аспекты, я поделюсь списком ресурсов в своем следующем посте. Следуйте за мной, чтобы быть в курсе.
Хлопайте и комментируйте, если вы нашли это полезным. Приветствуются предложения и положительная критика.