Машинное обучение, глубокое обучение, искусственный интеллект - как бы вы ни называли эту область, сейчас это самая яркая тенденция в нашей отрасли. Посещая страту мне стало ясно, что:
- Некоторые люди, и не только Google, уже начинают заниматься машинным обучением.
- Через 2–3 года наши клиенты будут использовать нашу платформу для создания решений, включающих модели машинного обучения. Мы должны убедиться, что это сработает для них.
- Машинное обучение можно применить и в моей области, в инженерии данных. Точно так же, как инженеры по обработке данных могут работать с командами микросервисов, они также могут использовать микросервисы в своих собственных архитектурах. Точно так же инженеры по обработке данных будут работать с командами машинного обучения, но также будут включать машинное обучение в свои собственные решения.
Поэтому мне лучше начать изучать машинное обучение! Но… с чего мне начать.
В Strata самым обсуждаемым фреймворком машинного обучения был TensorFlow от Google. И, как и все, что делает Google, было несколько забавных и дружелюбных руководств, чтобы начать работу и поэкспериментировать. Итак, я начал там.
Но когда я упомянул TensorFlow в Твиттере в качестве рекомендуемой отправной точки, я получил ответ, что это не обязательно лучший фреймворк. Итак, с какого фреймворка следует начать новичку в области машинного обучения?
Я собираю все отзывы, которые у меня есть, потому что это отличная информация, а за обсуждениями в твиттере сложно следить.
Шей сказал, что TensorFlow перепродается, поскольку один размер подходит всем, и хотя хорошо начинать с того, что имеет лучшую документацию, я хочу изучить несколько фреймворков.
А Адам Гибсон предупреждает, что больше всего ажиотажа разводят «‹TensorFlow›. Очень немногие люди, использующие его, развертывают в продуктах… большинство организаций еще не занимаются мл. "
@Oferron сказал, что фреймворки не являются реальной проблемой, это понимание того, что функции потерь не произвольны и должны отражать бизнес-кейс, и что передовой опыт нужен для проверки Я этого еще не совсем понимаю, но узнаю :)
Алекс Отт спросил: Почему не« Керас ?» и я определенно планирую изучить его, возможно, с помощью учебника для новичков. Ресурсов Кераса масса, так что я в восторге.
И Алекс Отт, и Адам Гибсон рекомендовали XGBoost и scikit-learn для производственных приложений. Это не глубокое обучение (то есть нейронная сеть), как TensorFlow, но это означает, что их модели более реальный опыт. Из них scikit-learn выглядит более гибким и лучше документированным, так что я, вероятно, попробую его.
Адам также рекомендовал Панды и случайные леса, особенно для инженеров по обработке данных: Панды должны чувствовать себя как дома (это то, что DS использует для ETL :))
А Gem II считает, что все дело в языке, потому что вы не хотите усложнять машинное обучение, изучая новый язык! Если Java / Scala« Smile для простого ML, deeplearning4j для DL. Если Python, scikit-learn, то Keras для DL »
Я так благодарен всем экспертам в Твиттере, которые нашли время, чтобы дать мне советы, подсказки и направления. Я дам вам знать, как это происходит :)