Подготовка данных и разработка функций в ML

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

Проект машинного обучения разбит на пять этапов. 1. Определите проблему ML и предложите решение. 2. Создайте свой набор данных. 3. Преобразуйте данные. 4. Обучите модель. 5. Используйте модель для прогнозирования. В этом курсе рассматривается создание набора данных и преобразование данных.

Предпосылки

Этот курс предполагает, что у вас есть:

Зачем изучать подготовку данных и разработку функций?

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

Для следующего вопроса щелкните нужную стрелку, чтобы проверить свой ответ:

Если бы вам пришлось уделить приоритетное внимание улучшению одной из следующих областей вашего проекта по машинному обучению, какая из них окажет наибольшее влияние?
Качество и размер ваших данных
Данные превосходят все. Это правда, что обновление вашего алгоритма обучения или архитектуры модели позволит вам изучить различные типы шаблонов, но если ваши данные плохие, вы в конечном итоге создадите функции, которые подходят не к тому. Качество и размер набора данных имеют гораздо большее значение, чем какой блестящий алгоритм вы используете.
Использование новейшего алгоритма оптимизации
Вы определенно можете увидеть некоторые преимущества от внедрения оптимизаторов, но это не окажет такого существенного влияния на вашу модель, как другой элемент в этом списке.
Более глубокая сеть
Хотя более глубокая сеть может улучшить вашу модель, влияние будет не таким значительным, как у другого пункта в этом списке.
Более умная функция потерь
Закрывать! Лучшая функция проигрыша может дать вам большой выигрыш, но она все равно уступает другому элементу в этом списке.

Почему важен сбор хорошего набора данных?

Google Переводчик

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

— инженер-программист, Google Translate

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

«...в большинстве случаев, когда я пытался вручную отладить интересные на вид ошибки, их можно было связать с проблемами с обучающими данными».— инженер-программист, Google Translate

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

Проект диабетической ретинопатии мозга

В проекте Google Brain по диабетической ретинопатии использовалась архитектура нейронной сети, известная как Inception, для обнаружения заболеваний путем классификации изображений. Команда не настраивала модели. Вместо этого им удалось создать набор данных из 120 000 примеров, отмеченных офтальмологами. (Подробнее см. на странице https://research.google.com/pubs/pub43022.html .)