Вы начинаете свой путь в области машинного обучения? Я тоже как ты! Итак, вот честный обзор вводного курса, о котором вы, вероятно, слышали, проведенного Эндрю Нг на Coursera по машинному обучению.

Мой опыт программирования

Да, у меня есть некоторый — но небольшой — опыт программирования. Самые невероятные вещи, которые я делал с программированием, пока не начал курс, были: решение нескольких простых задач с бразильской Олимпиады по информатике в 2018 году с использованием C++ и после двух лет без какого-либо опыта программирования я научился создавать простой клон Twitter с помощью Ruby. Без опыта работы с наукой о данных и искусственным интеллектом.

Насколько это было тяжело?

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

Да, вы будете изучать новый язык программирования, который мне сейчас очень нравится, под названием Octave/Mathlab. Это очень просто и очень мощно. Если вы никогда не программировали сами, я бы посоветовал вам посмотреть несколько руководств на Youtube по программированию с помощью Octave, чтобы вы могли немного узнать о том, что такое программирование и как оно работает. Если у вас есть опыт программирования, вы можете легко пройти курс.

После того, как вы освоитесь с кодированием, вы, безусловно, можете идти вперед и начинать курс. Курс занимает 11 недель, но я закончил за 9 недель — и я знаю, что мог бы закончить менее чем за 21 день, посвятив этому 2 часа своей повседневной жизни. Дело в том, что я начал, потом занялся другими делами и вернулся. Для справки, я закончил последние 3 недели за 4 дня, уделяя этому 3 часа в день. Так что о сроках тоже не беспокойтесь. Это довольно выполнимо.

А как насчет математики? Это самая сложная часть курса. Прошло 2 года с тех пор, как я коснулся математики. Он очень хорошо использует графики в курсе, чтобы мы могли видеть, как модели работают с данными. Если вы знаете, что такое ось x и ось y на графике, этого достаточно для графиков. Вы также будете встречать исчисление здесь и там, чтобы объяснить, откуда берутся все формулы, но вы не будете использовать исчисление в заданиях по программированию. И здесь вы можете спросить: я хочу изучить машинное обучение, как я стану экспертом в машинном обучении, если я не могу понять, откуда берутся формулы? Самое время сказать, что курс является вводным. Эндрю Нг много раз прямо говорит, что вам нужно будет просто принять некоторые формулы и модели, которые он показывает в курсе. И это случилось со мной. Я пытался понять все, чему он учил, но также знал, что у меня нет необходимого опыта, чтобы доказать некоторые формулы из области статистики, теории вероятностей и линейной алгебры. Даже Эндрю Нг выдвинул бы формулу, не доказав ее во многих случаях. Совершенно необязательно проходить длинные курсы линейной алгебры, вероятностей, исчисления и т. д., прежде чем приступить к курсу. Единственное, что вам нужно, это быть знакомым с умножением матриц — это все, что касается математики. Поверьте мне.

Чему учит курс?

Узнав, что вы можете справиться с проклятием без строгой математики, вы будете поражены тем, что вы узнаете. Курс обычно охватывает алгоритм каждую неделю. Вы освоитесь с линейной и логистической регрессией, градиентным спуском, нейронными сетями, SVM, K-средними и обнаружением аномалий. Если эти имена кажутся вам сложными, не волнуйтесь, в курсе их просто учат. Он объясняет вещи ясно и практично — очень практично. Он дает несколько ценных советов даже экспертам в этой области о том, как улучшить модель, сравнить количество и качество данных и что делать, если вы сталкиваетесь с проблемой в системе машинного обучения. Серьезно, его курс того стоит!

Самыми важными моментами курса для меня были:

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

Последние важные комментарии

Если вам интересно, почему он использует язык программирования Octave/Mathlab вместо хорошо известных языков Python и R, то вот почему: по своему опыту работы учителем он видел, что ученики лучше усваивают концепции. машинного обучения, изучая его с помощью Octave / Mathlab, поскольку он показывает большую часть математики под капотом. Я чувствую, что если бы он использовал Python — скажем, — люди были бы ограничены в продолжении своего пути на ML только с использованием Python. Затем он использует очень простой язык и показывает, как все работает, вместо импорта библиотеки, которая делает всю грязную работу за вас.

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

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

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