Common Pitfalls In Machine Learning Projects

In a recent presentation, Ben
Hamner
 described the common pitfalls in machine learning projects he and his colleagues have observed during competitions on Kaggle.

The talk was titled “Machine Learning
Gremlins
” and was presented in February
2014 at Strata
.

In this post we take a look at the pitfalls from Ben’s talk, what they look like and how to avoid them.

Machine Learning Process

Early in the talk, Ben presented a snap-shot of the process for working a machine learning problem end-to-end.

Machine Learning Process

Taken from “Machine Learning Gremlins” by Ben Hamner

This snapshot included 9 steps, as follows:

  1. Start with a business problem
  2. Source data
  3. Split data
  4. Select an evaluation metric
  5. Perform feature extraction
  6. Model Training
  7. Feature Selection
  8. Model Selection
  9. Production System

He commented that the process is iterative rather than linear.

He also commented that each step in this process can go wrong, derailing the whole project.

Discriminating Dogs and Cats

Ben presented a case study problem for building an automatic cat door that can let the cat in and keep the dog out. This was an instructive example as it touched on a number of key problems in working a data problem.

Discriminating Dogs and Cats

Taken from “Machine Learning Gremlins” by Ben Hamner

Sample Size

The first great takeaway from this example was that he studied accuracy of the model against data sample size and showed that more samples correlated with greater accuracy.

He then added more data until accuracy leveled off. This was a great example of understanding how easy it can be get an idea of the sensitivity of your system to sample size and adjust accordingly.

Wrong Problem

The second great takeaway from this example was that the system failed, it let in all cats in the neighborhood.

It was a clever example highlighting the importance of understanding the constraints of the problem that needs to be solved, rather than the problem that you want to solve.

Pitfalls In Machine Learning Projects

Ben went on to discuss four common pitfalls in when working on machine learning problems.

Although these problems are common, he points out that they can be identified and addressed relatively easily.

Overfitting

Taken from “Machine Learning Gremlins” by Ben Hamner

  • Data Leakage: The problem of making use of data in the model to which a production system would not have access. This is particularly common
    in time series problems. Can also happen with data like system id’s that may indicate a class label. Run a model and take a careful look at the attributes that contribute to the success of the model. Sanity check and consider whether it makes sense. (check
    out the referenced paper “Leakage
    in Data Mining
    ” PDF)
  • Overfitting: Modeling the training data too closely such that the model also includes noise in the model. The result is poor ability to generalize.
    This becomes more of a problem in higher dimensions with more complex class boundaries.
  • Data Sampling and Splitting: Related to data leakage, you need to very careful that the train/test/validation sets are indeed independent
    samples. Much thought and work is required for time series problems to ensure that you can reply data to the system chronologically and validate model accuracy.
  • Data Quality: Check the consistency of your data. Ben gave an example of flight data where some aircraft were landing before taking off. Inconsistent,
    duplicate, and corrupt data needs to be identified and explicitly handled. It can directly hurt the modeling problem and ability of a model to generalize.

Summary

Ben’s talk “Machine Learning Gremlins
is a quick and practical talk.

You will get a useful crash course in the common pitfalls we are all susceptible to when working on a data problem.

机器学习项目中常见的误区

Machine Learning Gremlins.mp4

Common Pitfalls In Machine Learning Projects的更多相关文章

  1. [C5] Andrew Ng - Structuring Machine Learning Projects

    About this Course You will learn how to build a successful machine learning project. If you aspire t ...

  2. 《Structuring Machine Learning Projects》课堂笔记

    Lesson 3 Structuring Machine Learning Projects 这篇文章其实是 Coursera 上吴恩达老师的深度学习专业课程的第三门课程的课程笔记. 参考了其他人的笔 ...

  3. 课程三(Structuring Machine Learning Projects),第一周(ML strategy(1)) —— 0.Learning Goals

    Learning Goals Understand why Machine Learning strategy is important Apply satisficing and optimizin ...

  4. 吴恩达《深度学习》-课后测验-第三门课 结构化机器学习项目(Structuring Machine Learning Projects)-Week1 Bird recognition in the city of Peacetopia (case study)( 和平之城中的鸟类识别(案例研究))

    Week1 Bird recognition in the city of Peacetopia (case study)( 和平之城中的鸟类识别(案例研究)) 1.Problem Statement ...

  5. 课程三(Structuring Machine Learning Projects),第一周(ML strategy(1)) —— 1.Machine learning Flight simulator:Bird recognition in the city of Peacetopia (case study)

    []To help you practice strategies for machine learning, the following exercise will present an in-de ...

  6. Structuring Machine Learning Projects 笔记

    1 Machine Learning strategy 1.1 为什么有机器学习调节策略 当你的机器学习系统的性能不佳时,你会想到许多改进的方法.但是选择错误的方向进行改进,会使你花费大量的时间,但是 ...

  7. 课程回顾-Structuring Machine Learning Projects

    正交化 Orthogonalization单一评价指标保证训练.验证.测试的数据分布一致不同的错误错误分析数据分布不一致迁移学习 transfer learning多任务学习 Multi-task l ...

  8. Coursera Deep Learning 3 Structuring Machine Learning Projects, ML Strategy

    Why ML stategy 怎么提高预测准确度?有了stategy就知道从哪些地方入手,而不至于找错方向做无用功. Satisficing and Optimizing metric 上图中,run ...

  9. 课程三(Structuring Machine Learning Projects),第二周(ML strategy(2)) —— 1.Machine learning Flight simulator:Autonomous driving (case study)

    [中文翻译] 为了帮助您练习机器学习的策略, 在本周我们将介绍另一个场景, 并询问您将如何行动.我们认为, 这个工作在一个机器学习项目的 "模拟器" 将给一个任务, 告诉你一个机器 ...

随机推荐

  1. C语言 二级指针内存模型③

    //二级指针内存模型③ #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #incl ...

  2. 装系统提示缺少所需的CD/DVD驱动器设备驱动程序

    昨晚用ultraISO和win7 旗舰版(ultimate)的镜像做了个启动U盘,插在自己新电脑上安装过程中提示“缺少所需的CD/DVD驱动器设备驱动程序”,用网上的很多办法都不行,最后找官网的客服问 ...

  3. 【每日学习】Apache重写未开启,导致The requested URL /xxxx.html was not found on this server

    今天把项目环境从集成换成独立的,全部搭建好后,网站主页www.xxx.com能打开,但一涉及到跳转,带参数,比如 www.xxx.com/xxx/xxx.html 就会报错 The requested ...

  4. 流程引擎Activiti系列:如何将kft-activiti-demo-no-maven改用mysql数据库

    kft-activiti-demo-no-maven这个工程默认使用h2数据库,这是一个内存数据库,每次启动之后都要重新对数据库做初始化,很麻烦,所以决定改用mysql,主要做3件事情: 1)在mys ...

  5. python机器学习《入门》

    写在前面的废话: 好吧,不得不说鱼C的markdown文本编辑器挺不错的,功能齐全.再次感谢小甲鱼哥哥的python视频让我去年大三下学期的时候入门了编程,爱上了编程这门语言,由于是偏冷门的统计学,在 ...

  6. this,this,再次讨论javascript中的this,超全面

    至于js中this这个东西,好多淫解释过了,看起来好高端的样子,不造你看懂了木有? 先引用比较高端的,“汤姆大叔“ 的,yes this 好了,下面加上鄙人比较挫的解释 论点: this 不是变量,不 ...

  7. Git.Framework 框架随手记--ORM项目工程

    前面已经简单介绍过了该框架(不一定是框架),本文开始重点记录其使用过程.可能记录的内容不是太详尽,框架也可能非常烂,但是里面的代码句句是实战项目所得.本文非教唆之类的文章,也非批判之类的文章,更不是炫 ...

  8. NABCD——竞争性需求分析的框架

    最近在读邹欣老师的书<构建之法>,读到很多地方,相当有感触,有种一拍大腿“啊,他说的太对了”的感觉,但都疏于记录,今天又看到一个一拍大腿特带感的一节,决定记录下来. 竞争性需求分析的框架— ...

  9. 使用GIT来管理代码的心得

    使用GIT来管理代码,第一步当然就是下载一个GIT客户端(不知道是不是这么叫,但是觉得和客户端的功能差不多).电脑的操作系统是windows7的,所以下的是对应的GIT. 就是这玩意,安装的时候不停的 ...

  10. 大概了解了flexbox

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...