面向数据科学与新一代人工智能的 K8S

数据科学家和软件工程师有许多相同的关注点:可重复的实验(比如可重复的构建);可移植和可复制的环境(如在开发、过渡和生产环境中具有相同的设置);凭证管理;跟踪和监控生产环境中的指标;灵活的路由;轻松扩展。不难看出,应用程序开发人员使用 Kubernetes 所做的事情与数据科学家可能想做的事之间有一些类似之处:

  • 可重复的批处理作业,如 CI/CD 管道,类似于机器学习管道,多个协同阶段在其中以可重复的方式一起处理数据、提取特征、训练、测试和部署模型;
  • 描述服务之间连接的声明性配置有助于创建跨平台的可重复学习管道和模型;
  • 微服务架构支持在管道中对机器学习模型进行简单地调试,并[……]

    继续阅读

机器学习项目完整工作流程

1. 抽象成数学问题

明确问题是进行机器学习的第一步。机器学习的训练过程通常都是一件非常耗时的事情,胡乱尝试时间成本是非常高的。这里的抽象成数学问题,指的我们明确我们可以获得什么样的数据,目标是一个分类还是回归或者是聚类的问题,如果都不是的话,如果划归为其中的某类问题。

2. 获取数据

数据决定了机器学习结果的上限,而算法只是尽可能逼近这个上限。数据要有代表性,否则必然会过拟合。而且对于分类问题,数据偏斜不能过于严重,不同类别的数据数量不要有数个数量级的差距。还要对数据的量级有一个评估,多少个样本,多少个特征,可以估算出其对内存的消耗程度,判断训练过程中内存是否能够放得下。如果放不下就得[……]

继续阅读

MIT 全面解读 2019 深度学习最前沿课程

MIT 正在进行中的深度学习课程就全面描绘了当下的状态。最近一节课,Lex Fridman 老师展现了深度学习各方向的最领先状态,也回顾了过去两年间通往前沿的一步步进展。涉及自然语言处理、深度强化学习、训练和推断的加速等等。

这节课涉及的重大进展,共 12 个方面,分别是:

  • BERT 和自然语言处理(NLP
  • 特斯拉 Autopilot 二代(以上)硬件:规模化神经网络
  • AdaNet:可集成学习的 AutoML
  • AutoAugment:用强化学习做数据增强
  • 用合成数据训练深度神经网络
  • 用 Polygon-RNN++ 做图像分割自动标注
  • DAW[……]

    继续阅读

高效数据清洗 Python 代码

数据清洗,是进行数据分析和使用数据训练模型的必经之路,也是最耗费数据科学家/程序员精力的地方。大数据工程师 Kin Lim Lee 在 Medium 上发表了一篇文章,介绍了8个用于数据清洗的Python代码。这些用于数据清洗的代码有两个优点:一是由函数编写而成,不用改参数就可以直接使用。二是非常简单,加上注释最长的也不过 11 行。

1. 删除多列

在进行数据分析时,并非所有的列都有用,用 df.drop 可以方便地删除你指定的列。

def drop_multiple_col(col_names_list, df):
'''
AIM    -&gt; Drop multiple[......]<p class="read-more"><a href="https://www.080910t.com/2019/01/20/%e9%ab%98%e6%95%88%e6%95%b0%e6%8d%ae%e6%b8%85%e6%b4%97-python-%e4%bb%a3%e7%a0%81/">继续阅读</a></p>

Google 机器学习数据库:SageDB

近日,Google 联合 MIT、布朗大学的研究人员共同推出了新型数据库系统 SageDB,并撰写了一篇论文详述 SageDB 的设计原理和性能表现。他们在论文中提出了一个观点:学习模型可以渗透到数据库系统的各个方面 ——

基于机器学习的组件可以完全取代数据库系统的核心组件,例如索引结构、排序算法,甚至是查询执行器。

在 17 年的论文中,谷歌研究团队尝试通过实验论证:与基于缓存优化的 B-tree 结构相比,使用神经网络在速度上可以提高 70%,并且大大节省了内存。“机器学习模型有可能比目前最先进的数据库索引有更显著的好处”。而今天我们要介绍的 SageDB,就是研究团队在该研究基础之上[……]

继续阅读