机器学习系统设计 ---- Machine Learning System Design

构建一个机器学习算法的过程:算法

  1. 快速构建一个简单的算法,并用交叉验证集来测试这个算法的性能。
  2. 画出学习曲线,检查算法是否有高方差或高误差的问题,从而选择相应的应对方法。
  3. 偏差分析,查看使算法出现偏差的实例,分析这些实例是否有某种系统化的趋势。

评估算法性能机器学习

偏斜类(skewed classes):训练集中的大多数实例属于一类,其余类占得不多或没有。性能

类偏斜的状况下咱们就不能单纯使用偏差来评判算法的效果。应使用新的评估度量值。学习

TP:预测为真,实际为真测试

FP:预测为真,实际为假spa

FN:预测为假,实际为真blog

TN:预测为假,实际为假ci

查准率:TP / (TP + FP)   Precision,越高越好io

查全率:TP / (TP + FN)   Recall,越高越好class

构成PR曲线:准不许,全不全(右凸,higher recall, lower precision,调整阈值)

 如何自动选择阈值:计算F1值,F1 Score = 2PR / (P + R),取最高值对应的阈值。

 

TPR:TP / (TP + FN)

FPR:FP / (TN + FP)

 构成ROC曲线:灵敏度,特异度(左凸)

数据问题

得到大量的数据在不少状况下是得到高性能学习算法的一个很好的方式,可是不要盲目的去收集大量的数据。

一种比较好的方式:咱们有大量的数据(低方差,避免过拟合),而且咱们训练了一种带有不少参数(低误差)的学习算法,那么不少时候能训练出一个高性能的算法。

相关文章
相关标签/搜索