吴恩达机器学习笔记——机器学习系统设计

对应吴恩达机器学习网易云课程第12章的内容。


误差分析


当我们研究一个机器学习问题时,我们可以先建立一个简单模型,然后画出学习曲线得到优化方案,或者可以采用人工的误差分析,查看被误判的对象,总结出新的特征,制定出新的方案。

同时,我们可以在验证集上量化错误率,取舍优化方案。

以垃圾邮件的识别为例,我们可以选出垃圾邮件或非垃圾邮件出现频率最高的一些词,然后构建对应的向量,用0/1代表是否出现在待判断邮件中。之后还可以使用“Porter stemmer”等进行改进,查看改进的效率。


不对称性分类的误差评估


  • 偏差类:在分类样本中,某一个类的数据和另一个类的数据相比多很多,通过每次都预测为y=1或y=0得到的错误率反而比机器学习算法好。因此,使用分类误差或分类精确度来评估分类模型的质量显然不适宜。
  • 真阳性:预测值和实际都是1,真阴性:预测和实际都是0,假阳性:预测1实际0,假阴性:预测0实际1。

  • 查准率:我们预测为1的样本,有多少实际是1。计算公式是:真阳性/(真阳性+假阳性)
  • 召回率:实际为1的样本,有多少被我们正确预测为1。计算公式是:真阳性/(真阳性+假阴性)
  • 拥有高召回率和查准率的模型是好的分类模型。样本出现较少的类会被我们定义为y=1。当我们有偏斜类时,使用查准率和召回率比使用分类误差更为合适,可以避免使用y=1y=0“欺骗”我们的情况。

查准率和召回率的权衡


  • 我们可以通过F值(或称F1值)来综合考量模型的好坏,而不单单是可能被极端值影响的平均值。

  • 而如果我们需要确定一个输出0还是1的概率阈值,我们可以尝试不同的阈值查看分类效果。

关于机器学习的数据


  • 如果我们的神经网络有很多参数,但我们的样本数据更多,则不太可能过拟合。而因为有很多参数,所以可以很好的拟合训练集,训练误差J_{train}(\theta )小。而不会过拟合则意味着泛化能力较强,J_{tes}(\theta )=J_{train}(\theta )也会很小。
  • 也即,一个好的模型,我们通过两方面保证。一方面,有许多参数(我们可以用一个人类专家能不能根据这些信息推断出结果来验证),可以保证低偏(误)差。另一方面较多的学习数据可以防止过拟合,保证了低方差。

猜你喜欢

转载自blog.csdn.net/weixin_39714797/article/details/87261610