photon-ml

LinkedIn开源的Photon机器学习
授权协议 Apache
开发语言 Scala
所属分类 神经网络/人工智能、 机器学习/深度学习
软件类型 开源软件
地区 不详
投 递 者 干鑫鹏
操作系统 跨平台
开源组织 LinkedIn
适用人群 未知
 软件概览

Photon机器学习是什么?

Photon机器学习提供支持大规模回归,支持带L1、L2和elastic-net正则化的线性回归、逻辑回归和泊松回归。Photon机器学习提供可选择的模型诊断,创建表格来帮助诊断模型和拟合的优化问题。Photon机器学习实现了实验性质的广义混合效应模型,下面会详细介绍。

在LinkedIn如何应用Photon机器学习?

典型的机器学习系统以下面的流程图表示。第一阶段是数据预处理,从在线系统清晰数据,创建数据表,特征提取。接下来的阶段是应用机器学习算法为推荐系统或者搜索系统学习得到好的评分函数,进而选择最好的模型。最后,最优模型进行在线A/B test发布,来测试其对用户体验的影响。 

Photon机器学习是LinkedIn公司模型训练的核心,可作为其它机器学习库的热插拔替代。在上面的流程图中,圆圈代表行为,圆柱体代表数据集。

如何在集群中运行Photon机器学习?

在LinkedIn公司,Photon机器学习运行使用Spark on Yarn模式,与其它Hadoop MapReduce应用共用同一个集群。我们可以很容易在同一个工作流中混合使用Photon机器学习和传统的Hadoop MapReduce程序或者脚本。模型训练从Hadoop MapReduce迁移到Spark on Yarn可提速10到30x倍。为了更好的使用Spark,机器学习算法团队贡献了支持Spark的Dr. Elephant。

Spark和Hadoop工作流共用同一个集群,可支持LinkedIn已有的机器学习输入和输出格式,极大的提高Photon机器学习在LinkedIn的推广。现在许多团队在开发关联应用和安全数据科学时使用Photon机器学习,一些团队也在线上使用。

Photon机器学习的发展方向:GAME

作者开源Photon机器学习到社区,对其他人构建和应用机器学习会有工业级别的影响。虽然当前有许多开源的机器学习库,但作者认为Photon机器学习是相当重要的补充。Photon机器学习提供广义混合效应模型(GAME)。

当前,Photon机器学习实现GAME,支持广义线性混合效应模型(GLMix)。GLMix模型由固定效应和多随机效应模型组成。固定效应模型对应传统模型和广义线性模型,假设每个观测变量是独立的。随机效应在固定效应的留存中附加多粒度参数(users, items, segments)获取额外的异质性。一般规则化是用来避免过拟合。并且,随机效应会引起观测变量的边际依赖。 

GAME采用坐标下降法依次解决每个系数。

我们使用坐标下降法优化所有问题,单步按序调试每个效应,使用合适的优化器解决子问题。对于固定效应坐标,我们使用分布式回归算法按列分区数据。Spark的RDD每次迭代利用本地数据优势,在不用shuffle数据的情况下快速优化。为了有效地解决随机效应坐标,我们根据随机变量分区数据,用单机算法解决随机效应坐标。

GAME模型提供精确的图表来辅助研究型工程师定位问题。作者希望使用这些技术更广泛的提高推荐系统的算法。LinkedIn公司内部使用A/B test显示Photon机器学习训练GLMix模型在工作推荐中提高了百分之十五到百分之三十,在邮件推荐中提高百分之十到百分之二十(基于点击率)。虽然这些test只是在早期阶段,但得到的结果表明Photon机器学习能显著的提高推荐效果。

Photon机器学习提供的GAME算法训练模型,作者后续将持续提高它的稳健性和易用性。除了广义线性模型外,作者已经开发了分解式随机效应模型试验性代码,利用矩阵分解来和随机效应交互。在未来,作者将会继续用广义混合框架实现其它的机器学习算法。

  • 第七章:自动调整的深度神经网络 摘要 AutoML 的最新进展产生了可以与机器学习专家在监督学习任务上竞争的自动化工具。在这项工作中,我们介绍了两个版本的 Auto-Net ,它们提供了自动调整的深度神经网络,而无需任何人工干预。第一个版本是 Auto-Net 1.0,它使用贝叶斯优化方法 SMAC,基于屡获殊荣的系统 Auto-sklearn 的思想,并使用 Lasagne 作为基础深度学习(D

  • 从IntelliJ IDEA 2018.2和Angular v6.1.0 beta的众多功能到Corgi CLI的极致可爱,六月是一个忙碌的月份! 特别是当涉及到Angular v7和IntelliJ IDEA 2018.2更新时,我们一直在忙于每周跟踪所有新添加的功能! 如果您熟悉Java对象,您可能已经知道,尽管它们提供了自动内存管理,但与此相关的费用却很高。 在本文中,Juraj Papp考

 相关资料
  • Photon 是一个开源 Linux 容器主机,针对云原生应用程序、云平台和 VMware 基础架构进行了优化。Photon OS 为有效运行容器提供了安全的运行时环境。Photon OS的一些关键亮点是: 针对VMware虚拟机管理程序进行了优化:当Photon OS在VMware ESXi上运行时,Linux内核已针对性能进行了调整。 对容器的支持: Photon OS包括Docker守护程序

  • Photon 是一个开源的 geocoder 用于 OpenStreetMap 数据。基于 ElasticSearch 实现了高效、强大和高可伸缩的搜索平台。

  • Photon 是一个JavaScript库,实现了在三维空间中的任何元素添加简单的照明效果。为了制造出效果,它采用了WebKitCSSMatrix的对象(WebKit是唯一支持的浏览器引擎)。光的角度可以定义,并随时更改所提供的功能。这是可能被点亮一个由一个或一组一次来定义对象,我们可以通过设置的最大黑色+白色用法自定义的效果。

  • Photon 是一款基于 aria2 的多线程下载软件,支持 HTTP/HTTPS,磁力链,BT 和 Metalink 下载。 Photon 现发行于 macOS 和 Windows 平台,即将发布 Linux 版。 如果你想要一个管理 aria2 的网页前端,请尝试 Photon WebUI。  安装 最新稳定版: https://github.com/alanzhangzm/Photon/re

  • Photon Controller 是开源的硬件,容器和集群管理系统。 Photon Controller 是一套分布式、API 驱动型多租户控制平台,旨在最大程度提升扩展能力与容器承载量,且能够根据开发者的实际需要支持 Docker Swarm、Cloud Foundry、Kubernetes 以及 Mesos 等多种相关方案。 主要特性: 大规模:一个部署可以管理成千上万个计算节点 高生产:处

  • Photon 是用 Electron 构建桌面应用程序的 UI 工具包。