书名: Hands-On Machine Learning with Scikit-Learn and TensorFlow
主要内容:
这本书分为两个部分。
第一部分,机器学习的基础知识,涵盖以下主题:
- 什么是机器学习?它被试图用来解决什么问题?机器学习系统的主要类别和基本概念是什么?
- 典型的机器学习项目中的主要步骤。
- 通过拟合数据来学习模型。
- 优化成本函数(cost function)。
- 零、前言
- 处理,清洗和准备数据。
- 选择和设计特征。
- 使用交叉验证选择一个模型并调整超参数。
- 机器学习的主要挑战,特别是欠拟合和过拟合(偏差和方差权衡)。
- 对训练数据进行降维以对抗 the curse of dimensionality(维度诅咒)
- 最常见的学习算法:线性和多项式回归, Logistic 回归,k-最近邻,支持向量机,决策 树,随机森林和集成方法。
第二部分,神经网络和深度学习,包括以下主题:
- 什么是神经网络?它们有啥优势?
- 使用 TensorFlow 构建和训练神经网络。
- 最重要的神经网络架构:前馈神经网络,卷积网络,递归网络,长期短期记忆网络 (LSTM)和自动编码器。
- 训练深度神经网络的技巧。
- 对于大数据集缩放神经网络。
- 强化学习。
第一部分主要基于 scikit-learn ,而第二部分则使用 TensorFlow 。 注意:不要太急于深入学习到核心知识:深度学习无疑是机器学习中最令人兴奋的领域之 一,但是你应该首先掌握基础知识。而且,大多数问题可以用较简单的技术很好地解决(而 不需要深度学习),比如随机森林和集成方法(我们会在第一部分进行讨论)。如果你拥有 足够的数据,计算能力和耐心,深度学习是最适合复杂的问题的,如图像识别,语音识别或 自然语言处理。