с чего начать учить машинное обучение

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

Всем привет!

Ни для кого не секрет, что интерес к машинному обучению и искусственному интеллекту растет в лучшем случае по экспоненте. Тем временем мой Яндекс Диск превратился в огромную свалку пейперс, а закладки в Google Chrome превратились в список, длина которого стремится к бесконечности с каждым днем. Таким образом, дабы упростить жизнь себе и вам, решил структурировать информацию и дать множество ссылок на интересные ресурсы, которые изучал я и которые рекомендую изучать вам, если вы только вначале пути (буду пополнять список постоянно).

Путь для развития новичка я вижу примерно так:

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

Попробуйте для начала начать с малого, если у вас нет за спиной 6 лет специалитета ВМК по методам прогнозирования, не стоит сразу скачивать архив лекций Е. Соколова или К. Воронцова, возможно статьи на Medium будут для вас оптимальнее. Также сложности могут возникнуть с понимаением алгоритмов, если вы плохо ориентируетесь в теории вероятностей, теории оптимизации и статистике, поэтому советую заглянуть на Ozon, в Московский Дом Книги и запастись курсами лекций по математике. Далее, ознакомившись с теорией будет проще применять знания в решении задач. Далее я приведу для вас список интересных ресурсов, которые я сам когда-то изучал. Желаю успехов 🙂

Новичку:

Лайфхак по быстрому выбору моделей от команды Sklearn

Источник

Машинное обучение. С чего начать? Часть 1

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

Jul 30, 2019 · 4 min read

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

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

Введение. Машинное обучение с помощью Python

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

Насколько это сложно?

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

Не удивительно, что Python выбирают создатели библиотек, работы которых в последствии используют специалисты по обработке данных и аналитики для решения своих задач. Далее мы обсудим эти must-have библиотеки для машинного обучения.

Знаменитая библиотека для анализа числовых данных. Она способна на многое: от вычисления медианы распределения данных до обработки многомерных массивов.

Тот самый инструмент, который поможет вам обрабатывать CSV файлы.

Библиотека для визуализации данных, например дата фреймов Pandas.

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

И, наконец, самое главное — библиотека с алгоритмами и другими необходимыми вещами для машинного обучения.

6. Tensorflow и Pytorch

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

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

Проекты

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

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

Пример проекта, который мы рассмотрим в этом уроке:

Titanic: Machine Learning from Disaster

Речь пойдёт о печально известном «Титанике». Трагическая катастрофа 1912 года, в которой погибли 1502 из 2224 пассажиров и экипажа. В этом конкурсе (или уроке) на основе реальных данных о катастрофе ваша задача предсказать, выжил ли человек во время трагедии.

Для начала давайте установим необходимые инструменты.

В первую очередь установите сам Python с официального сайта. Чтобы не было проблем с совместимостью библиотек, установите версию 3.6 или выше.

Далее установите все необходимые библиотеки через Python pip. Pip должен установиться автоматически с дистрибутивом Python.

В терминале, командной строке или Powershell введите следующее:

Если вы ещё не знакомы с jupyter notebook, то это популярный инструмент для интерактивного написания кода. Название состоит из слов Julia, Python, и R. Напишите в терминале jupyter notebook, и вам откроется такая страничка:

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

Наберите код в зелёном поле и сразу увидите результат.

Теперь, когда все инструменты установлены, можно приступать.

Исследование данных

Первым делом нужно изучить данные. Для этого загрузите данные с Kaggle и извлеките их в каталог, в котором вы запустили Jupyter notebook.

Импортируем нужные библиотеки:

Вы должны увидеть такую таблицу:

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

Это и есть наши данные. Здесь есть следующие колонки:

В процессе изучения данных часто всплывают недостающие данные. Давайте найдём их:

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

Отсутствуют некоторые значения в колонках Cabin, Age и Embarked. Очень много неизвестных номеров кают. С этим нужно что-то делать. Это называют очисткой данных.

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

Источник

Как постичь машинное обучение, если ты не великий математик

Предлагаем почитать перевод статьи Diego Isco с ресурса dev.to. Она будет полезна начинающим специалистам в области ML.

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

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

И я загорелся этим. Сказал, что хочу этому научиться. Неважно, насколько трудно мне будет. Я хочу научиться, и я научусь.

Будем честны: все мы слышали о зарплатах инженеров по машинному обучению. Взгляните на это.

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

Впечатляет, правда? Но машинное обучение еще нужно освоить — и вот тут начинается мрак.

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

В тот вечер я плакал как ребенок. Но, как хороший технарь, утер слезы и решил учиться самостоятельно.

Да, я просто еще один нерд, пытающийся осилить машинное обучение.

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

Ход обучения

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение
Математика → Статистика → Программирование → Машинное обучение → Любительские проекты

Когда вы будете искать на YouTube видео о машинном обучении, то обязательно наткнетесь на 3 основных — от Siral Raval, Jabril и Daniel Bourke.

Все они — выше всяких похвал. Поэтому я решил взять из этих видео лучшее.

Математика

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

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

Хорошо, а что именно нужно знать? Всего-то линейную алгебру и матанализ.

Напоминаю: я не гений в математике. Я плохо разбираюсь в математике. Я завалил матанализ на всех курсах в университете!

Так вот, можно ли освоить теорию машинного обучения, не будучи гением в математике?

Есть один нюанс. Если вы не дружите с числами, то это потому, что не понимаете основ.

Помните основы? Об основах линейной алгебры и математического анализа рассказывает на канале 3Blue1Brown Грант Сандерсон. Ему надо дать Нобелевскую премию в области образования. Он просто берет математику объясняет ее в потрясающей форме. Как ребенку. Это прекрасно.

Итак, моим первым шагом было понять основы линейной алгебры и математического анализа. Поверьте, после этого все намного проще.

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

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

Подумать только: получать такое же образование, что и студенты, заплатившие тысячи долларов за очный курс! Да, диплома одного из лучших университетов мира не будет, но накопленные знания — вот что в итоге имеет значение.

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

Статистика

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

Поэтому сосредоточьтесь и учитесь.

А для облегчения этой задачи — бесплатный курс Probability — The Science of Uncertainty and Data от Массачусетского технологического института.

Читая учебную программу, вы можете подумать, что курс базовый, но это не так. Он охватывает достаточно тем, чтобы дать основы для понимания теории вероятности. Всем, кто любит поучиться, вот еще один курс — Statistics and Probability от Академии Хана. Это в дополнение, так что расслабьтесь.

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

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

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

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

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

Ладно, допустим, вы не знаете программирования, и это будет ваша первая строчка кода. В таком случае я бы выбрал Datacamp. Смело исследуйте тему самостоятельно и смотрите их курс по Python.

Машинное обучение

Мы уже далеко продвинулись. Изучили математику, статистику, алгоритмы, проплакали несколько ночей. Все ради этого момента.

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

Еще один ресурс — это Introduction to Machine Learning for Coders. Хороший курс с детальными объяснениями алгоритмов машинного обучения.

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

Не могу не упомянуть еще одну программу, которую очень хвалят. Но она платная: это Introduction to Machine Learning Course нa Udacity. Если у вас отложено немного денег и вы готовы инвестировать в себя, то это подходящий случай, но решайте сами.

Любительские проекты

Теперь вы уже знаете машинное обучение, но этого недостаточно. Вам нужно больше практики. Здесь вам поможет книга Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow.

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

И напоследок

Прежде чем завершить, хочу дать несколько советов.

Источник

Машинное обучение — это легко

Для кого эта статья?

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

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

В цифрах

С каждым годом растёт потребность в изучении больших данных как для компаний, так и для активных энтузиастов. В таких крупных компаниях, как Яндекс или Google, всё чаще используются такие инструменты для изучения данных, как язык программирования R, или библиотеки для Python (в этой статье я привожу примеры, написанные под Python 3). Согласно Закону Мура (а на картинке — и он сам), количество транзисторов на интегральной схеме удваивается каждые 24 месяца. Это значит, что с каждым годом производительность наших компьютеров растёт, а значит и ранее недоступные границы познания снова «смещаются вправо» — открывается простор для изучения больших данных, с чем и связано в первую очередь создание «науки о больших данных», изучение которого в основном стало возможным благодаря применению ранее описанных алгоритмов машинного обучения, проверить которые стало возможным лишь спустя полвека. Кто знает, может быть уже через несколько лет мы сможем в абсолютной точности описывать различные формы движения жидкости, например.

Анализ данных — это просто?

Да. А так же интересно. Наряду с особенной важностью для всего человечества изучать большие данные стоит относительная простота в самостоятельном их изучении и применении полученного «ответа» (от энтузиаста к энтузиастам). Для решения задачи классификации сегодня имеется огромное количество ресурсов; опуская большинство из них, можно воспользоваться средствами библиотеки Scikit-learn (SKlearn). Создаём свою первую обучаемую машину:

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

— Если все так просто, почему до сих пор не каждый предсказывает, например, цены на валюту?

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

Ближе к делу

— Получается, зарабатывать на этом деле я не сразу смогу?

Итак, сегодня нам потребуются:

Дальнейшее использование требует от читателя некоторых знаний о синтаксисе Python и его возможностях (в конце статьи будут представлены ссылки на полезные ресурсы, среди них и «основы Python 3»).

Как обычно, импортируем необходимые для работы библиотеки:

— Ладно, с Numpy всё понятно. Но зачем нам Pandas, да и еще read_csv?

Иногда бывает удобно «визуализировать» имеющиеся данные, тогда с ними становится проще работать. Тем более, большинство датасетов с популярного сервиса Kaggle собрано пользователями в формате CSV.

— Помнится, ты использовал слово «датасет». Так что же это такое?

Датасет — выборка данных, обычно в формате «множество из множеств признаков» → «некоторые значения» (которыми могут быть, например, цены на жильё, или порядковый номер множества некоторых классов), где X — множество признаков, а y — те самые некоторые значения. Определять, например, правильные индексы для множества классов — задача классификации, а искать целевые значения (такие как цена, или расстояния до объектов) — задача ранжирования. Подробнее о видах машинного обучения можно прочесть в статьях и публикациях, ссылки на которые, как и обещал, будут в конце статьи.

Знакомимся с данными

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

Работая в Jupyter notebook, получаем такой ответ:

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

Это значит, что теперь нам доступны данные для анализа. В первом столбце значения Grade показывают, к какому сорту относится вино, а остальные столбцы — признаки, по которым их можно различать. Попробуйте ввести вместо data.head() просто data — теперь для просмотра вам доступна не только «верхняя часть» датасета.

Простая реализация задачи на классификацию

Переходим к основной части статьи — решаем задачу классификации. Всё по порядку:

Создаем массивы, где X — признаки (с 1 по 13 колонки), y — классы (0ая колонка). Затем, чтобы собрать тестовую и обучающую выборку из исходных данных, воспользуемся удобной функцией кросс-валидации train_test_split, реализованной в scikit-learn. С готовыми выборками работаем дальше — импортируем RandomForestClassifier из ensemble в sklearn. Этот класс содержит в себе все необходимые для обучения и тестирования машины методы и функции. Присваиваем переменной clf (classifier) класс RandomForestClassifier, затем вызовом функции fit() обучаем машину из класса clf, где X_train — признаки категорий y_train. Теперь можно использовать встроенную в класс метрику score, чтобы определить точность предсказанных для X_test категорий по истинным значениям этих категорий y_test. При использовании данной метрики выводится значение точности от 0 до 1, где 1 100% Готово!

— Неплохая точность. Всегда ли так получается?

Для решения задач на классификацию важным фактором является выбор наилучших параметров для обучающей выборки категорий. Чем больше, тем лучше. Но не всегда (об этом также можно прочитать подробнее в интернете, однако, скорее всего, я напишу об этом ещё одну статью, рассчитанную на начинающих).

— Слишком легко. Больше мяса!

Для наглядного просмотра результата обучения на данном датасете можно привести такой пример: оставив только два параметра, чтобы задать их в двумерном пространстве, построим график обученной выборки (получится примерно такой график, он зависит от обучения):

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

Да, с уменьшением количества признаков, падает и точность распознавания. И график получился не особенно-то красивым, но это и не решающее в простом анализе: вполне наглядно видно, как машина выделила обучающую выборку (точки) и сравнила её с предсказанными (заливка) значениями.

Предлагаю читателю самостоятельно узнать почему и как он работает.

Последнее слово

Надеюсь, данная статья помогла хоть чуть-чуть освоиться Вам в разработке простого машинного обучения на Python. Этих знаний будет достаточно, чтобы продолжить интенсивный курс по дальнейшему изучению BigData+Machine Learning. Главное, переходить от простого к углубленному постепенно. А вот полезные ресурсы и статьи, как и обещал:

Материалы, вдохновившие автора на создание данной статьи

Более углубленное изучение использования машинного обучения с Python стало возможным, и более простым благодаря преподавателям с Яндекса — этот курс обладает всеми необходимыми средствами объяснения, как же работает вся система, рассказывается подробнее о видах машинного обучения итд.
Файл сегодняшнего датасета был взят отсюда и несколько модифицирован.

Где брать данные, или «хранилище датасетов» — здесь собрано огромное количество данных от самых разных источников. Очень полезно тренироваться на реальных данных.

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

Источник

Наука о данных, искусственный интеллект, машинное обучение: путь самоучки

Не каждый может найти время и деньги на то, чтобы получить очное образование в сферах Data Science (DS, наука о данных), AI (Artificial Intelligence, искусственный интеллект), ML (Machine Learning, машинное обучение). Недостаток времени и нехватка денег — это серьёзные препятствия. Преодолеть эти препятствия можно, занявшись самообучением. Но и тут не всё так просто. Для того чтобы успешно учиться самостоятельно, нужны дисциплина, сосредоточенность и правильный подбор учебных предметов. Самообучение в выбранной области, при правильном подходе, можно свободно совмещать с обычной жизнью или с учёбой в общеобразовательных учреждениях. Но в некоторых областях знаний, в таких, как DS, AI, ML, очень сложно начать учиться самостоятельно. Однако, прошу поверить мне на слово, сложности стоят того, что можно получить в результате. Ключ к успеху в самообучении лежит в том, чтобы учиться в собственном темпе.

с чего начать учить машинное обучение. Смотреть фото с чего начать учить машинное обучение. Смотреть картинку с чего начать учить машинное обучение. Картинка про с чего начать учить машинное обучение. Фото с чего начать учить машинное обучение

В этом материале я хочу рассказать о том, как можно действовать тому, кто хочет самостоятельно обрести знания в областях DS, AI и ML. Применение предложенных здесь методов учёбы способно привести к хорошему прогрессу в изучении нового. Здесь, кроме того, я собираюсь поделиться ссылками на ресурсы, которыми я пользуюсь, и которые я без тени сомнения готов порекомендовать другим.

Изучите некоторые математические дисциплины

Математика, даже если это кому-то и не нравится, очень важна в интересующей нас области. Я думаю, что можно с достаточной уверенностью говорить о том, что те, кто это читают, уже обладают некоторыми знаниями по математике, которые они получили в школе. Это — хорошая база, но этого и близко недостаточно тому, кто хочет развиваться в сферах DS, AI и ML. А именно, тут понадобится углубиться в математику немного сильнее, чем это делается в школе, придётся изучить некоторые вещи из статистики, алгебры и других математических дисциплин. Я собрал бы список полезных ресурсов по математике для DS, но это уже сделали за меня в этой статье. И сделали очень хорошо.

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

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

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

Выберите один язык программирования и как следует в нём разберитесь

Существует много языков программирования, используемых теми, кто работает в областях DS, AI и ML. Чаще всего здесь используются Python, R, Java, Julia и SQL. В данных сферах могут применяться и другие языки, но те, которые я перечислил, применяются чаще других не без причины:

Научитесь собирать данные

Чаще всего вам никто не будет давать данные, предназначенные специально для вас, а иногда в вашем распоряжении может не быть вообще никаких данных. Но, в любом случае, вам нужно найти способ сбора данных, с которыми вы будете работать. У организации, в которой вы трудитесь, может быть хорошая система сбора данных. Если это так, для вас это — большой плюс. Если такой системы в организации нет, то вам придётся найти способ сбора данных. Но речь идёт не о любых данных, а о качественной информации, с который вы сможете продуктивно работать, достигая поставленных целей. Сбор данных не имеет прямой связи с «добычей данных», с их глубинным анализом. Сбор данных — это шаг работы, который предшествует анализу.

Открытые данные, которыми можно пользоваться бесплатно, можно найти во многих местах интернета. Иногда же нужные данные можно собрать с веб-сайтов, применяя методы веб-скрапинга. Владение веб-скрапингом — это очень важный навык дата-сайентиста, поэтому я очень прошу всех, кто собирается работать в областях DS, AI и ML, освоить этот навык. Вот хорошее руководство по веб-скрапингу.

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

Научитесь обрабатывать данные

То, о чём я будут тут говорить, часто называют «первичной обработкой данных» (Data Wrangling). Этот процесс включает в себя очистку имеющихся данных. Здесь применяется разведочный анализ данных и удаление из них всего ненужного. Этот процесс так же включает в себя структурирование данных, приведение их к такой форме, с которой можно будет работать. Эта стадия работы с данными является самой тяжёлой и изматывающей. Те данные, с которыми вы столкнётесь в процессе обучения, будут уже подготовлены к анализу. Но данные, с которыми вы встретитесь в реальном мире, могут быть совершенно «сырыми». Если вы и правда стремитесь стать специалистом в области обработки и анализа данных, вам стоит найти настоящие данные и отыскать способы приведения их в пристойный вид.

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

Научитесь визуализировать данные

Если вы — специалист по DS, AI или ML, и хорошо разбираетесь в своём деле, вы не должны забывать о том, что то, что кажется вам очевидным, может быть совершенно непонятно окружающим. Не ждите от них того, что они, например, смогут сделать выводы, глядя на колонки цифр. Научиться визуализировать данные нужно для того чтобы результатами вашей работы могли бы воспользоваться специалисты из других областей. «Визуализацией данных» обычно называют процесс представления данных в графическом виде. Такое представление данных позволит извлечь их них пользу даже тем, кто не имеет специальных знаний в сферах DS, AI и ML.

Существует множество способов визуализации данных. Так как мы, всё же, программисты, нашим основным методом визуализации данных должно быть написание соответствующего кода. Это быстро и не требует покупки специализированных инструментов. При написании кода для визуализации данных можно пользоваться множеством бесплатных и опенсорсных библиотек, созданных для используемых нами языков программирования. Например, существуют библиотеки такого рода для Python. Это — Matplotlib, Seaborn и Bokeh. Вот видеоурок по Matplotlib.

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

Искусственный интеллект и машинное обучение

AI и ML можно рассматривать как подразделы DS, так как они основаны на данных. AI и ML — это технологии, которые основаны на обучении машин поведению, сходному с поведением людей. Для этого используются специально подготовленные данные, передаваемые машинам. Компьютерные модели можно научить многому такому, на что способны люди. Для этого их обучают и направляют к нужному результату. В данном случае «машины» можно воспринимать как маленьких детей, не имеющих совершенно никаких знаний. Этих детей постепенно обучают идентифицировать объекты, говорить. Они учатся на своих ошибках и, по мере обучения, начинают всё лучше решать поставленные перед ними задачи. Так происходит и с машинами.

Технологии AI и ML — это то, что «оживляет» машины с использованием множества математических алгоритмов. Человечеству до сих пор не известны границы возможностей этих постоянно совершенствующихся технологий. В наши дни технологии AI и ML широко используются для решения когнитивных задач. Это — обнаружение и распознавание объектов, распознавание лиц и речи, обработка естественного языка, выявление спама и обнаружение мошенничества. Этот список можно ещё очень долго продолжать.

Более подробный рассказ об AI и ML достоин отдельной публикации. Пока же я могу порекомендовать это видео, касающееся общих вопросов применения данных технологий. А вот — многочасовой видеоурок, посвящённый машинному обучению. Проработав эти видео, вы можете приобрести знания в сфере ML, соответствующие начальному или даже среднему уровню. Вы узнаете о множестве существующих алгоритмов машинного обучения, о том, как они устроены, и о том, как ими пользоваться. После этого у вас должно быть достаточно знаний для того чтобы приступить к созданию собственных простых ML-моделей. О том, как это сделать, можно почитать здесь.

Изучите способы публикации ML-моделей в интернете

Существуют инструменты, позволяющие публиковать ML-модели в интернете. Это позволяет дать к ним доступ всем желающим. Для того чтобы публиковать модели в интернете, нужно хорошее понимание процессов веб-разработки. Дело в том, что под «публикацией модели» понимается создание веб-страницы (или группы страниц), обеспечивающей возможность работы с моделью в браузере. Кроме того, нужно учитывать то, что фронтенд проекта, его интерфейс, должен обмениваться данными с бэкендом, с серверной частью проекта, где расположена сама модель. Для того чтобы строить подобные проекты, вы должны уметь создавать серверные API и пользоваться этими API в клиентской части приложений.

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

На самом деле, существует множество способов развёртывания моделей в интернете. Я посоветовал бы начать с изучения того, как это делается с использованием веб-фреймворка Flask, основанного на Python. Вот хорошее учебное руководство об этом.

Найдите наставника

Самообучение — это прекрасно, но ничто не сравнится с обучением у профессионалов. Дело в том, что при таком подходе усваивается то, что используется в реальности, и в том, что так обучение идёт через практику. Многие вещи можно изучить только на практике. Обучение с наставником имеет множество сильных сторон, но надо учитывать то, что не каждый наставник способен оказать существенное влияние на вашу карьеру или жизнь. Именно поэтому очень важно найти хорошего наставника.

Например, эту задачу можно попытаться решить с помощью платформы Notitia AI. Здесь учащимся назначают персональных наставников, которые делают личный и профессиональный вклад в развитие учеников. Наставники доводят тех, кто хочет учиться, от начального до экспертного уровня в сферах DS, AI и ML. Notia AI, это, кроме того, самая доступная платформа такого рода.

Итоги

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *