吴恩达机器学习训练秘籍整理一到十章(一)

第一到四章:

1.为什么选用机器学习策略。机器学习是无数重要应用的基础。

2.先修知识与符号标记。有监督学习的经验。了解机器学习。

3.驱动机器学习发展的原因。数据的可用性和计算规模。

传统算法和神经网络算法在数据集较小的情况下区别不大,但是随着数据集的增加和网络层数的加深,效果会越来越好。

假设我们要做的产品是一个APP,用户上传图片我们来自动的找到图中有猫的照片。 

第五章:

这一章主要介绍测试集,开发集和训练集。

我们训练自己的网络需要先收集大量猫的数据集(正样本)和不含有猫的数据集(负样本)。将这些数据集按照7:3的比例划分为训练集和测试集。

1.训练集:训练你的算法

2.开发集:用于调整参数,选择特征,以及对学习算法作出其它决定。有时也称为留出交叉验证集(hold-out cross validation set)。在训练的过程中对算法进行评价。

3.测试集:评估算法的好坏。训练结束后对模型进行评价

对于数据较少的机器学习来说一般按照7:3或者8:2来划分。加入开发集一般按照6:2:2来进行划分。

对于深度学习的大量数据来说一般按照98:1:1来进行划分。

第六章:

开发集和测试集应该服从同一分布。

第七章:

开发集和测试集应该有多大?

1. 开发集的大小应该在1000-10000之间。主要还是看你所在的领域对于精度的要求有多高,要求的精度越高开发集就应该越多。

2. 虽然现在我们机器学习的数据在不断的增加,因此开发集和测试集的数据的绝对数量都在增加,可是总体上分配给他们的比例是在减少的。因此也可以看出来开发集和测试集并不是越大越好。

第八章:

查准率(精度)和查全率(召回率)

查准率:在训练集(或者测试集中)被预测为猫的图片中,实际类别是猫的样本比例。

查全率:在训练集(或者测试集中)所有类别为猫的图片中,被准确识别为猫的比例。

在开发过程中有可能只需要考虑其中的一个标准就可以,或者将两个标准合并在一起来评价算法的好坏。

第九章:

优化指标和满意度指标。多评价指标问题。

假设我们既要关心算法的准确率又要关心其运行时间。

我们将准确率和时间放入到公式里面计算得出单个指标,这似乎不太自然

Accuracy-0.5*Running time

我们可以采用一个代替方案,首先定义一个我们可以接受的程序运行时间100ms。然后再在这个运行时间之内找一个准确率最高的分类器,这样我们就可以找到分类器B。此时时间在这里就是一个‘满意度指标’,而准确率就是一个‘优化指标’。

假设我们有N个不同的标准,比如运行时间,模型大小和准确率这三个标准。我们可能需要考虑N-1个满意度指标,下一步定义一个优化指标。例如时间和模型大小是满意度指标,准确率是优化指标。

第十章:

如何解决面临的问题

1.尝试一些新的想法。

2.通过代码实现想法。

3.根据实验判断想法是否行得通。

上图所示循环迭代的越快,我们的进展就会越快。此时拥有开发集、测试集和度量指标的重要性便得以体现了:每当你有了一个新想法,在开发集上评估其性能可以帮你判断当前的方向是否正确。

猜你喜欢

转载自blog.csdn.net/donkey_1993/article/details/83069912