Google Assistant、Amazon Alexa、Microsoft Cortana、Apple Siri 或 Facebook Messaging M 有什么共同之处?所有这些个人助理都由机器学习和人工智能 (AI) 提供支持。根据 Glassdoor 和 Upwork.com 的数据,机器学习是 2017 年的一项热门技能,并且在未来许多年都将如此。
您将如何培养技能成为下一代机器学习工程师?
开始学习机器学习
Udacity、Coursera、edX 和其他资源提供 MOOC(大型开放式在线课程),Amazon.com 列出了 5,000 多本关于机器学习的书籍。其中许多书可以帮助您入门,并逐步将您带到具有实践知识的高级水平。此外,Aurélien Géron(一位前 Google 工程师,曾领导 YouTube 视频分类团队)也写了一本很棒的书:Hands-On Machine Learning with Scikit-Learn and TensorFlow。这是一本实用的指导书,适用于动手操作的 机器学习和深度学习(一类机器学习算法)。
本书假设您对机器学习几乎一无所知;但是,本书也假设您具有一些 Python 编程经验,并且对大学水平的数学(包括线性代数、概率和统计学)有合理的理解。机器学习项目通常使用 Python、R、Java/Scala 和 C/C++ 作为编程语言。Géron 没有让我们实现自己玩具版本的机器学习算法,而是使用了生产就绪的 Python 框架 scikit-learn 和 TensorFlow。两者都是积极开发的开源项目。
为什么选择 scikit-learn 和 TensorFlow?
scikit-learn 项目最初是 David Cournapeau 在 2007 年发起的 Google Summer of Code 项目。Scikit-learn 专注于使用像 Python 这样的通用高级语言将机器学习带给非专业人士。根据 scikit-learn 的用户评价页面,Spotify 使用 scikit-learn 机器学习包进行音乐推荐,而 Evernote 使用它进行笔记分类。它提供了高质量、易于使用的基本机器学习算法实现,包括回归、分类、聚类等。Scikit-learn 是学习机器学习的一个很好的切入点,并且它是 GitHub 上星标第二多的机器学习库。
TensorFlow 是 Géron 评估的第二个项目。从 2011 年开始,Google Brain 构建了 DistBelief,这是一个基于深度学习神经网络的机器学习系统。TensorFlow 是 Google Brain 的第二代机器学习系统,于 2015 年作为开源软件发布。Google 使用 TensorFlow 神经网络模型进行语音识别,而 Snapchat 使用它进行图像识别。它为神经网络和深度学习提供了先进的机器学习算法,并且是 GitHub 上星标最多的机器学习库。
端到端的机器学习项目
本书的核心优势在于关注端到端的机器学习项目。一个典型的机器学习项目涉及八个步骤
- 了解大局
- 获取数据
- 可视化数据以获得见解
- 为机器学习算法准备数据
- 选择模型并训练
- 微调模型
- 展示解决方案
- 启动、监控和维护机器学习系统
示例项目:房价预测
本书使用加州公共人口普查数据来预测全区房价。第一步,本书帮助确定问题框架——这是一个具有 多元回归 的监督学习问题。根据所需的精度,下一步是选择性能指标;例如,68% 的系统价格预测落在实际价值的 50,000 美元以内,而 95% 的系统价格预测落在实际价值的 100,000 美元以内。
Scikit-learn 提供了工具来获取数据、探索数据、清理数据以及为机器学习算法准备数据。完成此操作后,下一步是选择和训练模型。机器学习项目中最大的挑战之一是选择合适的模型,这将为预测提供更好的准确性。经验丰富的机器学习专业人员会选择三到四个模型,并根据其结果的准确性选择其中一个模型。
对于房价预测,Géron 选择了 线性回归、决策树 和 随机森林 模型。他发现,对于这个问题,随机森林比其他两个模型表现更好。
本书涵盖了更多机器学习算法及其相关性和用途,并且包括涵盖监督学习、无监督学习、半监督学习和强化学习的代码示例。您的机器学习问题可能是细分客户并为每个群体找到最佳营销策略、检测哪些交易可能存在欺诈行为以及预测明年的收入。
阅读:Hands-On Machine Learning with Scikit-Learn and TensorFlow
1 条评论