机器学习实战:基于Scikit-Learn和TensorFlow(一)

1.1机器学习

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

                                                                                                                                                                  —— 汤姆·米切尔,1997

1.2.机器学习系统的类型

机器学习有多种类型,可以根据如下规则进行分类:

是否在人类监督下进行训练(监督,非监督,半监督和强化学习)

是否可以动态渐进学习(在线学习 vs 批量学习)

是简单地将新的数据点和已知的数据点进行匹配,还是像科学家那样,对训练数据进行模式检测,然后建立一个预测模型(基于实
例的学习和基于模型的学习)

1.3机器学习的主要挑战

最可能出现的两个问题不外乎是“坏算法”和“坏数据”

坏数据:训练数据的数量不足、训练数据不具代表性、无关特征、质量差的数据(部分数据属性缺失)

坏算法:训练数据过度拟合、训练数据拟合不足

1.4测试与验证

更好的选择是将你的数据分割成两部分:训练集和测试集。顾名思义,你可以用训练集的数据来训练模型,然后用测试集的数据来测试模型。应对新场景的误差率称为泛化误差(或者样例外误差),通过测试集来评估你的模型,就可以得到对这个误差的评估。这个估值可以告诉你,你的模型在处理新场景时的能力如何。

通常使用80%的数据进行训练,保留另外的20%来做测试

第一章问答:

1.你会怎么定义机器学习?

2.机器学习在哪些问题上表现突出,你能提出四种类型吗?
3.什么是被标记的训练数据集?
4.最常见的两种监督式学习任务是什么?
5.你能举出四种常见的无监督式学习任务吗?
6.要让一个机器人在各种未知的地形中行走,你会使用什么类型的机器学习算法?
7.要将顾客分成多个组,你会使用什么类型的算法?
8.你会将垃圾邮件检测的问题列为监督式学习还是无监督式学习?
9.什么是在线学习系统?
10.什么是核外学习?
11.什么类型的学习算法依赖相似度来做出预测?
12.模型参数与学习算法的超参数之间有什么区别?
13.基于模型的学习算法搜索的是什么?它们最常使用的策略是什么?它们如何做出预测?
14.你能提出机器学习中的四个主要挑战吗?
15.如果你的模型在训练数据上表现很好,但是应用到新的实例上的泛化结果却很糟糕,是怎么回事?能提出三种可能的解决方案吗?
16.什么是测试集,为什么要使用测试集?
17.验证集的目的是什么?
18.如果使用测试集调整超参数会出现什么问题?
19.什么是交叉验证?它为什么比验证集更好?

其他补充:

(1)https://blog.csdn.net/sy20173081277/article/details/82526262

一个不错的解释

(2)模型参数与超参数

例如:一个线性模型有两个参数,高度(θ 0 )和斜率(θ 1 )。自由度为2,为了避免出现过度拟合的情况,约束模型,降低自由度,在训练模型,先设定一个参数的范围(超参数),然后一个一个超参数放进去训练,最后得到效果最好的超参数,在这个过程中,其他参数(模型的参数)也得到了,最后模型中的参数全部确定了,包括超参数和参数。

(3)过度拟合是指假设函数为了完美的拟合样本集,引入了过多的高次项,虽然对于样本的拟合十分良好,但是与实际情况完全偏离

你可能感兴趣的:(机器学习)