【Coursera】应用机器学习的建议

偏差方差权衡

  • 使用较小的神经网络,类似于参数较少的情况,容易导致高偏差和欠拟合,但计算代价较小使用较大的神经网络,类似于参数较多的情况,容易导致高方差和过拟合,虽然计算代价比较大,但是可以通过归一化手段来调整而更加适应数据。
  • 通常选择较大的神经网络并采用归一化处理会比采用较小的神经网络效果要好。
  • 对于神经网络中的隐藏层的层数的选择,通常从一层开始逐渐增加层数,为了更好地作选择,可以把数据分为训练集、交叉验证集和测试集,针对不同隐藏层层数的神经网络训练神经网络, 然后选择交叉验证集代价最小的神经网络

损失函数和收敛情况

  • 在NG的BLR和SVM的例子中,通过a指标和目标函数的对比来判断问题出在收敛情况或则目标函数上。但是讲义里面的“>”和“<”符号好像写反了。
  • 目标函数和损失函数的区别?

误差分析和销蚀分析对顺序敏感,所以需要经过多次试验。

训练集、交叉验证集和测试集

训练集是用来学习的样本集,通过匹配一些参数来建立一个分类器。

验证集是用来调整分类器的参数的样本集,比如在神经网络中选择隐藏单元数。验证集还用来确定网络结构或者控制模型复杂程度的参数。

测试集纯粹是为了测试已经训练好的模型的分类能力的样本集。

划分方法

  1. 数据集:trainning set, cross validation set, test set.
  2. 数据集:training set和test set

对第二种分法来说,取得min(Err(test_set))的model作为最佳model,但是我们并不能评价选出来的这个model的性能,如果就将Err(test_set)的值当作这个model的评价的话,这是不公正的,因为这个model本来就是最满足test_set的model

相反,第一种方法取得min(Err(cv_set))的model作为最佳model,对其进行评价的时候,使用剩下的test_set对其进行评价 而不是使用Err(cv_set))的值

原文地址:https://www.cnblogs.com/CSLaker/p/8707695.html