admin 19 мая 2018

10 рецептов машинного обучения от разработчиков Google

В десяти коротких видеоуроках курса машинного обучения от разработчиков Google рассмотрены приемы Machine Learning для начинающих аналитиков данных.

10 рецептов для машинного обучения от разработчиков Google

Для кого эти уроки?

В небольшом видеокурсе машинного обучения от разработчиков Google рассматриваются базовые рецепты решения задач Machine Learning. Логично, что в этом курсе наравне с библиотекой scikit-learn используется и фреймворк машинного обучения Google – TensorFlow. Отличительной особенностью курса является то, что для понимания некоторых моделей машинного обучения их код пишется с нуля без использования сторонних библиотек, на чистом Python. Таким образом, курс подойдет для тех, кто хорошо знаком с Python, но только приступает к обучению Machine Learning.

1. Hello World машинного обучения от разработчиков Google

Шесть строк на Python – все, что вам потребуется для написания первой программы машинного обучения. Во вступительном уроке кратко описывается, что такое машинное обучение и почему это важно. Рассматривается пример задачи классификации и дается соответствующий код с использованием библиотеки scikit-learn.

2. Визуализация дерева решений

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

3. Как подобрать хорошие признаки?

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

4. Пишем конвейер кросс-валидации

В четвертом видеоуроке демонстрируется простейший конвейер кросс-валидации для контролируемого обучения из 12 строк кода. По пути обсуждаются вопросы обучающей и тестовой выборок, процесс обучения модели. В качестве инструмента визуализации процесса обучения используется ресурс playground.tensorflow.org.

5. Пишем классификатор с нуля

Пришло время написать первый классификатор, основанный на простейшей версии метода k-ближайших соседей. Для этого в программе из предыдущего урока вместо импорта классификатора из sklearn напишем с нуля свой собственный класс c методами для обучения модели (fit) и вывода предсказаний (predict). Для определения расстояний между соседями используется библиотека SciPy.

6. Обучение классификатора изображений

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

7. Распознавание рукописных цифр

В этом видео рассматривается классическая задача машинного обучения, решаемая с использованием нейросетей – классификация рукописных цифр из датасета MNIST. К этому уроку написан блокнот Python (что это за зверь – мы рассказывали раньше). Для работы с этим уроком вам также потребуется Docker. Если описание из видео показалось вам не очень ясным, или заинтересовало, как происходит обучение, посмотрите введение в нейросети на примере распознавания цифр. Рассматриваемый линейный классификатор представляет простейший вариант нейронной сети, без скрытых слоев.

8. Пишем с нуля дерево решений

В этом уроке показывается, как с нуля на чистом Python написать модель дерева решений на примере алгоритма CART (деревья классификации и регрессии). Поиграть с кодом можно в блокноте Python или обычном py-файле. Попутно объясняются концепции меры нечистоты распределения по критерию Джини (Gini impurity) и информационного выигрыша (information gain).

9. Введение в проектирование признаков

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

10. Введение в Weka

Заключительный урок мини-курса машинного обучения от разработчиков Google знакомит с инструментом Weka – старой библиотекой с графическим интерфейсом, позволяющим визуализировать датасеты, обучать и оценивать различные классификаторы. Это один из инструментов, полезных в процессе обучения Machine Learning.

Другие материалы по теме:

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ