读书笔记-《机器学习实战:基于Scikit-Learn、Keras和TensorFlow》 第2版(第一章)

第一章 机器学习概览

  • 因为本身对机器学习有一定的了解,所以直接回答本章节的课后习题
  • 本章节的课后习题都是必须要掌握的机器学习中的一些基本概念,注重理解。

章节练习

  1. 如何定义机器学习?

    广义概念:机器学习是让计算机具有学习的能力,无需进行明确编程。

    工程性概念:计算机程序利用经验E学习任务T,性能是P,如果针对任务T的性能P随着经验E不断增长,则称为机器学习。

  2. 机器学习可以解决的四类问题?

    图像分类,语音识别,语义分割,情感分析

  3. 什么是带标签的训练集?

    在监督学习中,标记训练集是具有可用目标的数据集。这意味着你想要预测的东西在训练之前就已经知道。

    例如:正常域名与恶意域名对应的标签(正常/恶意)组成的训练集。

  4. 最常见的两个监督任务是什么?

    分类问题:结果有限个,可以被分类

    回归问题:结果有无限个,是连续的

  5. 指出四个常见的非监督任务

    聚类、可视化、降维、异常检测等

  6. 让一个机器人在各种未知地形行走,你会采用什么机器学习算法?

    强化学习。对于能走的路激励,对于不能走的路惩罚,从而不断强化行走的能力。

  7. 对顾客进行分组,你会采用哪种算法?

    非监督算法进行聚类分析。

  8. 垃圾邮件检测是监督学习还是非监督学习?

    监督学习

  9. 什么是在线学习系统?

    在线学习系统在投入生产后会继续从新数据中学习,而批量学习模型在初始训练过程后就会停止学习

  10. 什么是核外学习?

    核外学习可以处理计算机主内存无法应对的大量数据。它将数据分割成小批量,然后使用在线学习技术从这些小批量中学习。当训练数据无法装入计算机的内存时,我们使用核心外学习。

  11. 什么学习算法使用相似度做预测?

    基于实例的模型,比如k近邻算法。

  12. 模型参数和学习算法的超参数区别是什么?

    模型有一个或多个参数,这些参数决定了模型对新的给定实例会做出怎样的预测(比如,线性模型的斜率)。学习算法试图找到这些参数的最佳值,使得该模型能够很好地泛化至新实例。超参数是学习算法本身的参数,不是模型的参数(比如,要应用的正则化数量)。你可以自己定义他们的数值。

  13. 基于模型的学习算法搜索的是什么?它们最常使用的策略是什么?它们如何做出预测?

    基于模型的学习算法搜索的是使模型泛化最佳的模型参数值。

    通常通过使成本函数最小化来训练这样的系统,成本函数衡量的是系统对训练数据的预测有多坏,如果模型有正则化,则再加上一个对模型复杂度的惩罚。

    学习算法最后找到的参数值就是最终得到的预测函数,只需要将实例特征提供给这个预测函数即可进行预测。

  14. 机器学习的四个主要挑战是什么?

    训练数据量不足、没有代表性数据、低质量数据、不相关特征、过拟合训练数据、欠拟合训练数据等

  15. 如果模型在训练集上表现好,但预测表现差,是什么原因?给出三种解决方案。

    如果模型在训练数据上表现很好,但是对新实例的泛化能力很差,那么该模型很可能过度拟合训练数据(或者在训练数据上运气太好)。

    可能的解决方案是:获取更多数据,简化模型(选择更简单的算法、减少使用的参数或特征数量、对模型正则化),或者是减少训练数据中的噪声。

  16. 什么是测试集,为什么要使用他?

    使用测试集来估算模型在实例上的泛化误差,评估模型的好坏并加以优化。

  17. 验证集目的什么?

    验证集可以用来比较不同模型。它可以用来选择最佳模型和调整超参数。

  18. 如果用测试集调节超参数,会发生什么?

    会有过度拟合测试集的风险,最后测量的泛化误差会过于乐观,导致最后模型比预期的要差。

  19. 什么是交叉验证?他为什么比验证集更好?

    通过交叉验证技术,可以不需要单独的验证集实现模型比较(用于模型选择和调整超参数)。这节省了宝贵的训练数据。

posted @ 2021-11-05 20:08  HandsomeToDeath  阅读(202)  评论(0)    收藏  举报