机器学习项目如何管理:看板

标签: 机器学习 项目 管理 | 发表时间:2018-06-13 04:53 | 作者:
出处:http://gigix.thoughtworkers.org/

在前面的文章中我们看到,涉及机器学习、人工智能的项目,普遍地存在 项目管理的困难。然后我介绍了针对这类项目 如何设置合理的期望,并且深入分析了 机器学习项目的工作内容。既然已经知道如何设置客户的期望、又知道可以做哪些事来逼近这个期望,那么围绕期望和动作进行任务的拆解、管理和可视化应该是顺理成章的。

前一篇文章中我们已经看到,一个机器学习项目涉及的三类九项工作内容当中,只有一项(“自行训练模型”,上图右下角标星星的部分)不是传统的软件开发任务。只有针对这项工作内容,我们需要新的任务拆解和管理方式,其他部分可以用标准的Scrum方法来处理。

对于“自行训练模型”过程中的具体任务,可以沿用学校里做实验的概念,将每次模型训练记录为一次“实验”。每次实验应该包含两个部分:

  • 输入部分,即实验的初始状态:数据从哪里来;如何对原始数据加工;选取哪些参数;如何训练模型
  • 输出部分,即实验的效果:模型是否准确描述训练集;模型是否overfit训练集;有多少false positive;有多少false negative

于是我们得到了一张“实验卡”,上半部分记录实验输入,下半部分记录实验输出。

把若干张实验卡放在一个看板上,就得到了可视化的实验管理墙。在项目启动时,首先制定一部分实验计划(以一批实验卡的形式),记录每个实验设计的输入部分。每做完一个实验,就在对应的实验卡上记录实验输出。在项目进展过程中,也可以不断增加新的实验卡。项目过程中,做实验的优先级由上一篇文章中介绍的“自行训练模型的流程”来判断:从一个简单的模型开始,首先尝试能降低Bias的实验,当Bias逼近期望时,再做降低Variance的实验。

作为项目管理者,对着这样一面实验看板墙,需要关注的信息有以下几个方面:

  • 看产出:实验效果(Bias-Variance组合)是否逼近预期?接下来应该做哪些实验?
  • 看计划:实验计划是否完备?是否考虑到各种可能的算法?是否考虑到各种数据来源?是否考虑到各种数据加工方式?
  • 看进度:做实验的速度有多快?训练集获取是否耗时太长?模型训练是否耗时太长?是否需要优化训练算法?是否需要增加计算资源?是否需要提高数据流水线自动化水平?

用这种方法,我们可以把看似神秘的机器学习项目拆解成独立、可讨论、有价值、可估计工作量、相对较小、可测试( INVEST)的实验卡,于是我们可以用Scrum方法来管理和度量围绕这些卡开展的工作。

相关 [机器学习 项目 管理] 推荐:

机器学习项目如何管理:现状

- - 透明思考
Atlassian今年4月的一篇博客提出,到2020年有87%的Jira用户认为他们的工作会被AI改变. 具体到项目管理上,Atlassian的观点是,AI首先会作为项目管理助手进入我们的视野,然后透过数据拓展我们对项目的理解,更进一步还能通过主动猜测、倡导优秀实践、创造新的元数据层等方式弥补数据的缺失,最终对项目提出有益的建议.

机器学习项目如何管理:设置期望

- - 透明思考
我在之前的一篇文章中提到, 机器学习项目如何管理,目前在行业内是一个普遍存在的难题. 具体而言,对于这类项目,我们需要一套行之有效的工作办法,帮助一线工作者:(1)知道什么时候该做什么事;(2)知道什么时候该看什么指标;(3)知道什么时候可能有什么风险. 这样一套工作办法的第一步,就是对一个机器学习项目设置合理的期望.

机器学习项目如何管理:工作内容

- - 透明思考
前一篇文章介绍了机器学习的基本过程,然后讨论了如何对机器学习项目设置期望的问题. 我们了解到,度量准确率的指标可以有多种,需要根据应用场景来选择. 一旦选好了度量指标,接下来就可以围绕这个指标来划分任务、监控进度、管理风险. 站在非常宏观的角度,机器学习系统工作的方式是:你有一个模型,你把一堆数据输入给它,然后你以某种方式使用它提供给你的输出.

机器学习项目如何管理:看板

- - 透明思考
在前面的文章中我们看到,涉及机器学习、人工智能的项目,普遍地存在 项目管理的困难. 然后我介绍了针对这类项目 如何设置合理的期望,并且深入分析了 机器学习项目的工作内容. 既然已经知道如何设置客户的期望、又知道可以做哪些事来逼近这个期望,那么围绕期望和动作进行任务的拆解、管理和可视化应该是顺理成章的.

Ruby的机器学习项目

- - 阳志平的网志-技术类
作者是辉瑞公司的小牛,可惜烂尾了. 我在改啊改啊,可惜现在是商业项目,暂时不能放出改掉的部分. 对了,顺便做个小广告,去年组织翻译的一本小书:社会网络分析:方法与实践. 已经上市了,感兴趣的可以翻翻:. 社会网络分析:探索关系背后的科学与技术. treat:自然语言处理. 类似于igraph,也是桥接处理nlp.

机器学习实战之一:一个完整的机器学习项目

- - IT瘾-jianshu
一个机器学习项目主要步骤为:. 使用Pandas加载数据,并返回一个包含所有数据的Pandas. head()方法查看该数据集的前5行:. describe()方法展示数值属性的概括:. 创建测试集(根据收入,进行分层采样):. corr()方法计算出每对属性间的标准相关系数(standard correlation coefficient,也称作皮尔逊相关系数):.

10个关于人工智能和机器学习的有趣开源项目

- - 极客521 | 极客521
本文简要介绍了10款    Quora上网友推荐的 人工智能和机器学习领域方面的开源项目. GraphLab是一种新的面向机器学习的并行框架. GraphLab提供了一个完整的平台,让机构可以使用可扩展的机器学习系统建立大数据以分析产品,该公司客户包括Zillow、Adobe、Zynga、Pandora、Bosch、ExxonMobil等,它们从别的应用程序或者服务中抓取数据,通过推荐系统、欺诈监测系统、情感及社交网络分析系统等系统模式将大数据理念转换为生产环境下可以使用的预测应用程序.

10款人工智能和机器学习领域方面的开源项目

- - 灯火阑珊
GraphLab是一种新的面向机器学习的并行框架. GraphLab提供了一个完整的平台,让机构可以使用可扩展的机器学习系统建立大数据以分析产品,该公司客户包括Zillow、Adobe、Zynga、Pandora、Bosch、ExxonMobil等,它们从别的应用程序或者服务中抓取数据,通过推荐系统、欺诈监测系统、情感及社交网络分析系统等系统模式将大数据理念转换为生产环境下可以使用的预测应用程序.

2017年度盘点:15个最流行的GitHub机器学习项目

- - 机器之心
在本文中,作者列出了 2017 年 GitHub 平台上最为热门的知识库,囊括了数据科学、机器学习、深度学习中的各种项目,希望能对大家学习、使用有所帮助. 另,小编恬不知耻地把机器之心的 Github 项目也加了进来,求 star,求 pull requests. GitHub 是计算机科学领域最为活跃的社区,在 GitHub 上,来自不同背景的人们分享越来越多的软件工具和资源库.

GitHub 上最著名的20个 Python 机器学习项目,值得收藏!

- - IT瘾-geek
源 | kdnuggets|小象. 开源是技术创新和快速发展的核心. 这篇文章向你展示Python机器学习开源项目以及在分析过程中发现的非常有趣的见解和趋势. 我们分析了GitHub上的前20名Python机器学习项目,发现scikit-Learn,PyLearn2和NuPic是贡献最积极的项目. 让我们一起在Github上探索这些流行的项目.