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

Posted J_K_Guo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习系统设计 ---- Machine Learning System Design相关的知识,希望对你有一定的参考价值。

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

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

评估算法性能

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

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

TP:预测为真,实际为真

FP:预测为真,实际为假

FN:预测为假,实际为真

TN:预测为假,实际为假

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

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

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

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

 

TPR:TP / (TP + FN)

FPR:FP / (TN + FP)

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

数据问题

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

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

 

以上是关于机器学习系统设计 ---- Machine Learning System Design的主要内容,如果未能解决你的问题,请参考以下文章

机器学习系统设计(Building Machine Learning Systems with Python)- Willi Richert Luis Pedro Coelho

机器学习系统设计(Building Machine Learning Systems with Python)- Willi Richert Luis Pedro Coelho

Google“机器学习”开源项目teachable-machine

经典书机器学习黑客秘笈(Machine Learning for Hackers),322页pdf

斯坦福大学公开课机器学习:advice for applying machine learning - deciding what to try next(设计机器学习系统时,怎样确定最适合最正确的

机器学习- 吴恩达Andrew Ng Week6 知识总结 Machine Learning System Design