Deep Learning with Structured Data
作者: Mark Ryan
语言: 英文
出版年份: 2020
下载链接:
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。

书籍摘要

《Deep Learning with Structured Data》是由Mark Ryan撰写的一本专注于将深度学习应用于结构化数据的书籍。本书通过一个完整的实际案例——预测多伦多有轨电车延误问题,详细介绍了从数据准备到模型部署的全过程,旨在帮助读者掌握如何将深度学习技术应用于结构化数据领域。

书籍背景与动机

自2012年以来,深度学习在图像识别、语音处理等领域取得了巨大成功,但其在结构化数据(如表格数据)上的应用一直存在争议。作者认为,尽管结构化数据集可能较小,但深度学习在处理复杂模式和适应数据变化方面具有独特优势,因此值得探索其在结构化数据中的应用。本书的目的是打破这种传统观念,展示深度学习在结构化数据上的潜力。

书籍内容概览

第1章:为什么使用结构化数据进行深度学习

  • 深度学习概述:介绍深度学习的基本概念、优势和局限性。
  • 结构化数据与非结构化数据的区别:强调结构化数据(如表格数据)在日常生活和商业中的重要性。
  • 针对结构化数据使用深度学习的常见反对意见及反驳:例如,数据量不足、模型复杂性等,并提出深度学习工具的易用性提升使得其应用更加可行。

第2章:示例问题介绍与Pandas数据框

  • 开发环境选择:讨论适合深度学习的开发环境,包括本地系统和云平台。
  • Pandas数据框基础:介绍Pandas库的基本使用方法,包括数据导入、数据操作等,为后续数据处理打下基础。
  • 主要示例问题:预测多伦多有轨电车延误。详细介绍了数据集的格式、范围和目标,以及为何选择这个实际问题作为案例。

第3章:数据准备(一):探索与清理数据

  • 数据探索:使用Pandas和可视化工具探索数据集,发现数据中的问题,如缺失值、异常值等。
  • 数据清理:处理数据中的错误和缺失值,包括删除无效记录、填充缺失值等。
  • 数据分类:将数据分为连续型、分类型和文本型,为后续的数据转换和模型构建做准备。

第4章:数据准备(二):数据转换

  • 处理错误值:进一步清理数据中的错误值,如错误的路线编号、车辆编号等。
  • 地理位置数据处理:将自由文本形式的地点信息转换为经纬度,提高数据的准确性和可用性。
  • 数据类型转换:确保所有数据列的数据类型正确,以便于模型处理。
  • 导出数据:将清理后的数据保存为Pandas数据框,供后续模型训练使用。

第5章:模型准备与构建

  • 数据泄漏问题:强调在构建模型时避免使用在预测时不可用的数据,以防止数据泄漏。
  • 数据重构:将数据集重构为包含无延误时间槽的完整数据集,以便模型能够学习到正常情况下的模式。
  • 模型构建:使用Keras框架构建深度学习模型,包括定义模型结构、选择激活函数和优化器等。
  • 模型参数调整:介绍如何通过调整超参数来优化模型性能,如学习率、正则化参数等。

第6章:模型训练与实验

  • 训练过程:详细描述了模型训练的步骤,包括选择训练、验证和测试数据集,以及进行初始训练运行。
  • 性能评估:通过混淆矩阵、准确率、召回率等指标评估模型性能。
  • Keras回调函数:利用Keras的回调机制,如早停(Early Stopping)和模型保存(ModelCheckpoint),以提高训练效率并保存最佳模型。
  • 实验优化:通过一系列实验,调整模型的超参数和数据处理方式,逐步提高模型性能。

第7章:更多模型实验

  • 验证数据清理效果:通过实验验证去除数据中的错误值对模型性能的提升作用。
  • 验证嵌入层效果:比较使用嵌入层和不使用嵌入层的模型性能,证明嵌入层在处理分类数据时的重要性。
  • 与XGBoost模型对比:将深度学习模型与XGBoost模型进行对比,分析两者在性能、训练时间和代码复杂度等方面的差异。

第8章:模型部署

  • 部署概述:介绍模型部署的概念和重要性,以及部署过程中涉及的技术栈。
  • Web部署:通过Flask框架将模型部署为Web应用,用户可以通过网页输入参数并获取预测结果。
  • Facebook Messenger部署:利用Rasa框架和Facebook Messenger平台,将模型部署为聊天机器人,提供更自然的用户交互体验。
  • 数据准备管道:介绍如何使用scikit-learn的管道功能封装数据预处理步骤,确保训练和预测时数据处理的一致性。

第9章:后续步骤建议

  • 性能提升方向:提出可能的改进方向,如增加地理位置数据、季节或时间段特征,以及使用天气数据等。
  • 适应新数据集:讨论如何将本书的方法应用于其他结构化数据问题,包括数据准备和模型训练的调整。
  • 资源推荐:提供进一步学习深度学习和结构化数据处理的资源和建议。

书籍特色

  • 实践导向:通过一个完整的实际案例贯穿全书,让读者在实践中学习深度学习的应用。
  • 代码丰富:提供大量Python代码示例,涵盖数据处理、模型构建、训练和部署的各个环节。
  • 易于上手:假设读者具备一定的Python和机器学习基础,但对深度学习和结构化数据处理的新手也非常友好。
  • 环境适应性强:讨论了多种开发环境的选择,包括本地系统和云平台,读者可以根据自己的条件选择合适的环境。

适用读者

  • 数据科学家和机器学习工程师,希望将深度学习技术应用于结构化数据问题。
  • 对深度学习感兴趣的数据分析师和研究人员,希望通过实际案例深入理解深度学习的应用。
  • 有一定编程基础,希望在机器学习领域进一步提升技能的开发者。

总之,《Deep Learning with Structured Data》是一本实用性强、内容丰富的书籍,适合那些希望在结构化数据领域应用深度学习技术的读者。通过阅读本书,读者将能够掌握从数据准备到模型部署的全过程,并在实际问题中应用所学知识。

期待您的支持
捐助本站