机器学习笔记——Chapter 1 – The Machine Learning landscape

ML学习笔记

Chapter 1 – The Machine Learning landscape

1.如何定义机器学习?

Answer:机器学习是一门通过编程让计算机从数据中进行学习的科学(和艺术)。

2.机器学习在哪些问题上表现突出,你能给出四种类型吗?

Answer:①有解决方案(但需要进行大量人工微调/需要遵循大量规则)的问题:ML通常可以简化代码,相比传统方法性能更好。②传统方法难以解决的复杂问题,ML可能会找到背后的不易发现的规律。③环境有波动的情况下,ML可以适应新数据。④可以洞察复杂问题,进行数据挖掘。

3.什么是被标记的训练数据集?

Answer:在有监督学习中,提供给算法的包含所需解决方案的训练集称为标签,这些训练数据集是被标记的。

4.最常见的两种监督学习任务是什么?

Answer:分类任务和回归任务。

5.你能举出四种常见的无监督学习任务吗?

Answer:聚类算法、k-means算法、DBSCAN、分层聚类分析HCA、异常检测和新颖性检测、单类SVM、孤立森林、可视化和降维、主成分分析PCA、核主成分分析、局部线性嵌入LLE、t-分布随机近邻嵌入t-SNE、关联规则学习、Apriori、Eclat

6.要让一个机器人在各种未知的地形中行走,你会用什么类型的ML算法?

Answer:强化学习。强化学习是ML的一个分支,在一个给定的环境(如游戏)中,训练代理(机器人)选择在一段时间内对它们的奖励最大化的行动。AlphaGo就是用强化学习构建的。

7.要将顾客分成多个组,你会使用什么类型的算法?

Answer:聚类算法

8.你会将垃圾邮件检测的问题列为监督学习还是无监督学习?

Answer:有监督学习。现在最先进的垃圾邮件过滤器可能是使用深度神经网络模型对垃圾邮件和常规邮件进行训练,完成动态信息。这使其成为一个在线的、基于模型的有监督学习系统。

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

Answer:在线学习中,可以循序渐进地给系统提供数据,逐步积累学习成果。每一步学习都很快速,成本低,系统就可以根据飞速写入的最新数据进行学习。即——模型经过训练并投入生产环境,然后随着新数据的进入而不断学习。
在线学习系统的一个重要参数就是适应不断变化的数据的速度,这就是学习率。如果设置的学习率很高,系统会迅速适应新数据而忘记旧数据。如果学习率过低,学习就会更换满,同样也会对新数据中的噪声/非典型数据点(离群值)的序列更不敏感。
在线学习系统的一个重大挑战——如果给系统输入不良数据,系统的性能会逐渐下降。为了降低这种风险,需要密切监控系统。一旦检测到性能下降,就及时中断学习(可能还需要恢复到之前的工作状态)。同时还需要监控输入数据,并对异常数据做出相应(例如使用异常检测算法)。

10.什么是核外学习?

Answer:对于超大数据集——超出一台计算机的主存储器的数据,在线学习算法也同样使用,这称为核外学习。算法每次只加载部分数据,并针对这部分数据进行训练,然后不断重复这个过程,直到完成所有数据的训练。

11.什么类型的学习算法依赖相似度来做出预测?

Answer:基于实例的学习。如通过编程让系统标记与已知的垃圾邮件非常相似的邮件。系统用心学习这些例子,通过相似度度量来比较新实例和已经学习的实例/子集,从而泛化新实例。

12.模型参数与学习算法的超参数之间有什么区别?

Answer:超参数是学习算法的参数,而并非模型的参数。因此,它不受算法本身的影响。超参数必须在训练前设置好,并且在训练期间保持不变。调整超参数是构建机器学习系统非常重要的组成部分。

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

Answer:基于模型的学习算法搜索的是模型参数。它们构建一组示例集的模型,定义一个效用函数/适应度函数来衡量模型有多好,或者定义一个成本函数来衡量模型有多差。然后使用该模型进行预测,实现基于模型的学习。

14.你能给出ML中的四个主要挑战吗?

Answer:坏数据:①训练数据的数量不足。大部分ML算法需要大量的数据才能正常工作。对复杂问题而言,数据比算法更重要,但是中小型数据集依然非常普遍。②训练数据不具有代表性。为了更好地实现泛化,训练数据一定要非常有代表性。如果样本集太小,会出现采样噪声;即使非常大的样本数据,如果采样方式欠妥,也同样可能导致非代表性数据集。这就是所谓的采样偏差。③数据质量低。如果训练集的错误、异常值和噪声很多,系统的表现不可能良好。因此,清洗数据是模型训练前的一个必要步骤。④特征无关。只有训练数据中包含足够多的相关特征以及较少的无关特征,系统才能够完成学习。一个成功的机器学习项目,其关键部分是提取出一组好的用来训练的特征集。这个过程叫做特征工程。
坏算法:①过拟合训练数据。当模型相对于训练数据的数量和噪度都过于复杂时,会发生过拟合。可以通过简化模型、收集更多的训练数据、减少训练数据中的噪声等方式来解决。②欠拟合训练数据。模型太过简单,而数据结构过于复杂。可以选择带有更多参数、更强大的模型,通过特征工程给算法提供更好的特征集,或者减少正则化超参数等模型约束。

15.如果模型在训练数据上表现很好,但是应用到新实例上的泛化结果却很糟糕,是怎么回事?能给出三种可能的解决方案吗?

Answer:可能是模型对训练集过拟合。解决方案:①使用更简单的模型进行训练;②收集更多的训练数据;③对数据进行特征工程,减少训练数据的噪声。

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

Answer:测试集是数据分割出来的,用来测试和评估模型的一部分数据。通过测试集来评估模型,可以得到对这个误差的评估。这个估值可以显示模型在处理新场景时的能力。

17.验证集的目的是什么?

Answer:验证集是训练集的一部分,可以在去掉验证集的训练集数据中训练具有各种超参数的多个模型,并选择在验证集上表现最佳的模型。但是如果验证集太小,模型评估将不够精确。

18.什么是train-dev集,什么时候需要它,怎么使用?

Answer:train-dev集又称为训练开发集,当数据来源不同时,模型训练后在训练开发集上进行评估,来判别模型效果不佳的原因。如果模型在train-dev集上表现良好,在验证集上表现不佳,则说明模型没有过拟合,问题出自数据不匹配;如果模型在train-dev集上表现不佳,则说明模型在训练集上发生了过拟合。

19.如果你用测试集来调超参数会出现什么错误?

Answer:可能会导致模型对于新的数据不太可能有良好的表现。泛化能力较弱。
解决方法:保持验证:只需保持训练集的一部分,来评估几种候选模型并选择最佳模型。新的保留集称为验证集/开发集。在此保持验证之后,在完整的训练集(包括验证集)上训练最佳模型,这就是你的最终模型。最后在测试集上评估该模型,来获得泛化误差的估计值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值