第1章 机器学习概览
写在前面
参考书
《机器学习实战——基于Scikit-Learn和TensorFlow》
工具
python3.5.1,Jupyter Notebook, Pycharm
部分课后题的摘抄
-
你会怎么定义机器学习?
机器学习是一门能够让系统从数据中学习的计算机科学。
-
最常见的两个监督式任务是回归和分类。
-
常见的无监督式任务包括聚类、可视化、降维和关联规则学习。
-
在线学习系统可以进行增量学习,与批量学习系统正好相反。这使得它能够快速适应不断变化的数据和自动化系统,并且能够在大量的数据上进行训练。
-
核外算法可以处理计算机主内存无法应对的大量数据。它将数据分割成小批量,然后使用在线学习技术从这些小批量中学习。
-
模型参数与学习算法的超参数之间有什么区别?
模型有一个或多个参数,这些参数决定了模型对新的给定实例会做出怎样的预测(比如,线性模型的斜率)。学习算法试图找到这些参数的最佳值,使得该模型能够很好的泛化至新的实例。超参数是学习算法本身的参数,不是模型的参数(比如,要应用的正则化数量)。
-
基于模型的学习算法搜索是什么?它们最常使用的策略是什么?它们如何做出预测?
基于模型的学习算法搜索使模型泛化最佳的模型参数值。通常通过使成本函数最小化来训练这样的系统,成本函数衡量的是系统对训练数据的预测有多坏,如果模型有正则化,则再加上一个对模型复杂度的惩罚。学习算法最后找到的参数值就是最终得到的预测函数,只需要将实例特征提供给这个预测函数即可进行预测。
-
机器学习面临的一些主要挑战是:数据缺乏、数据质量差、数据不具代表性、特征不具信息量、模型过于简单对训练数据拟合不足、以及模型过于复杂对训练数据过拟合。
-
如果你的模型在训练数据上表现好,但是应用到新的实例上的泛化结果却很糟糕,是怎么回事?能提出三种可能的解决方案吗?
该模型很可能过度拟合训练数据(或者在训练数据上运气太好)。
可能的解决方案是:获取更多数据,简化模型(选择更简单的算法、减少使用的参数或特征数量、对模型正则化),或者是减少训练数据中的噪声。
-
验证集的目的是什么?
验证集用来比较不同模型。它可以用来选择最佳模型和调整超参数。
-
如果使用测试集调整超参数会出现什么问题?
如果使用测试集来调整超参数,会有过度拟合测试集的风险,最后测量的泛化误差会过于乐观(最后启动的模型性能比预期的要差)。
-
什么是交叉验证?它为什么比验证集更好?
通过交叉验证技术,可以不需要单独的验证集实现模型比较(用于模型选择和调整超参数)。者节省了宝贵的训练数据。
我的CSDN:https://blog.csdn.net/qq_21579045
我的博客园:https://www.cnblogs.com/lyjun/
我的Github:https://github.com/TinyHandsome
纸上得来终觉浅,绝知此事要躬行~
欢迎大家过来OB~
by 李英俊小朋友