Если вы читаете это, значит, вам любопытно и интересно учиться! Замечательно - вы наткнулись на нужную статью. Здесь я поделюсь с вами своим путешествием по машинному обучению (без каламбура) и поделюсь основными ресурсами, которые я использовал, чтобы получить хорошую основу для машинного обучения.

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

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

В последнее время этой области уделяется много внимания, в основном из-за быстрого и стремительного развития технологий за последние два десятилетия.

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

И это только первые этапы чрезвычайно быстро развивающейся области. Алгоритмы машинного обучения используются в широком спектре областей; Автомобили Tesla используют его для управления транспортными средствами без водителя, Google дает рекомендации по поиску, который вы выполняете ежедневно, YouTube делает это для классификации объектов на видео, Netflix предлагает следующую серию, армию для летающих дронов без пилотов, больницы используют его для обнаружения рака и т. д.

По данным Indeed, вакансия инженера по машинному обучению была самой востребованной вакансией на рынке в 2019 году с увеличением на 344%. Любой, у кого есть правильная приверженность и последовательность, может получить необходимые навыки для правильного применения машинного обучения.

Когда начать?

Математика

(Обновите некоторые математические понятия)

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

Линейная алгебра

Вероятность

Исчисление

Программирование

(Научитесь программировать)

В настоящее время наиболее широко используемым языком программирования для применения и разработки алгоритмов машинного обучения является Python (его можно найти на GitHub); его легко выучить, а еще легче читать. Его синтаксис похож на английский язык. После Python широко используются некоторые другие языки: C / C ++, R, GoLang, Matlab. Если вы новичок в программировании, начните здесь:

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

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

Изучите машинное обучение

В Интернете есть множество курсов по ML. Заранее важно убедиться, что курсы / инструкторы, которым вы решили следовать, достаточно квалифицированы и надежны для чтения лекций. Некоторые практические курсы, которые я считаю полезными, перечислены ниже:

Самый известный курс машинного обучения в Интернете (+ 3,2 миллиона студентов). Лектор Эндрю Нг (также основатель Coursera и руководитель группы ИИ в Google Brain) представляет материал восходящим, простым для понимания и практический способ с упором на математический подход к моделям.

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

В этом источнике используется нисходящий подход для объяснения глубокого обучения (и связанных областей, таких как компьютерное зрение и обработка естественного языка). Стоит упомянуть, что в этом курсе делается попытка избежать интенсивных математических объяснений и вместо этого больше внимания уделяется интуитивному обучению. Его основатель Джереми Ховард является основателем и исполнительным директором продвинутой компании по машинному обучению.

Все вышеперечисленные курсы читаются профессионалами, имеющими обширный опыт в этой области и ее приложениях. Что бы вы ни выбрали, вы не ошибетесь.

Создавайте свои проекты

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

Несколько дополнительных советов для новичков

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

Обратиться за помощью

stackoverflow - ваш лучший друг как разработчик! Большинство ответов обычно можно найти здесь. Используйте это наилучшим образом. Техническое сообщество обычно очень отзывчиво на вопросы, независимо от платформы - Stackoverflow, Github, электронной почты, LinkedIn, Twitter или даже Facebook (особенно группы AI / ML).

Сеть

Создайте свою сеть из других энтузиастов и инженеров машинного обучения

Twitter, помимо размещения эпических мемов, является излюбленной платформой инженеров для того, чтобы делиться своей работой или распространять работу своих коллег. LinkedIn - очень подходящая профессиональная платформа для общения с другими профессионалами в этой области. Если у вас нет учетной записи, откройте ее!

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

Twitter

LinkedIn

Прочтите следующую статью

Может быть заманчиво присоединиться к этому миру без особого опыта. Чтобы сделать этот переход более плавным, я решил сделать серию статей о машинном обучении, которые сможет прочитать любой, независимо от того, программист ли вы или менеджер. С примерами из реального мира, простым и понятным языком, он был разработан с намерением быть понятым КАЖДОМУ. Сериал идет следующим образом:

Потерпи

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

Потерпи. Этот процесс преподнесет множество уроков тем, кто достаточно терпелив, чтобы терпеть чувство дискомфорта.

Подвести итог

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

Вы всегда можете связаться со мной в LinkedIn.