Ignite中的机器学习介绍

为什么80%的码农都做不了架构师?>>>   hot3.png

本系列共6篇文章,会通过一些代码示例,讲解如何在Ignite中使用机器学习库,本文是本系列的第一篇。

从Ignite的2.4版本开始,机器学习就可以用于生产环境了。在这个版本中,进行了大量的开发和改进,其中包括对分区化数据集和遗传算法的支持,Ignite提供的很多机器学习示例也可以独立运行,这样就使入门变得很简单。并且在本系列的后面,还会使用Ignite支持的一些算法,对一些免费的数据集进行分析,进一步方便开发者学习。

介绍

本文中,先大概看一下机器学习网格,如图1所示: Ignite提供的机器学习能力,从设计上来说要求实用化,并且要求能够直接在Ignite中建立预测模型,这就使得用户在不需要进行昂贵的ETL或者数据转换的前提下,获得扩展性和性能的提升,下面稍微讨论下细节。

首先,在这之前,机器学习模型需要在不同的系统间进行训练和部署,比如,数据需要移出Ignite,然后使用其他的工具进行训练,最后再将模型重新部署进生产系统,这个方式有如下几个缺点:

  • 昂贵的ETL处理过程,尤其对于大规模数据集,数据集的大小,可能是GB级甚至是TB级;
  • 如果要进行ETL,实际上使用的是数据的一个快照,在ETL之后,线上的生产系统数据,可能已经改变,从而使训练系统使用的是过时的训练数据;

其次,现在许多系统可能需要处理大量数据,这些数据通常超过单个服务器的容量。虽然分布式计算提供了一种解决方案,但是有些平台不是为存储和操作数据而设计的,可能只适合于训练目的。因此,开发人员可能需要考虑在生产环境中部署更复杂的解决方案。

Ignite的机器学习能力有助于解决所有的这些问题,甚至更多:

  • Ignite可以直接处理线上的生产数据,避免在不同系统间进行昂贵的ETL;
  • 在数据的存储和维护上,Ignite可以提供分布式的计算能力;
  • Ignite实现的机器学习算法,针对分布式计算进行了优化,因此可以利用Ignite并置处理的优势;
  • Ignite可以作为流式数据的接收器,因此可以实时地进行机器学习;
  • 机器学习通常是迭代式的处理,并且算法在执行过程中上下文可能发生变化,因此为了避免延迟以及丢失,Ignite支持容错的分区化的数据集。

分区化的数据集

Ignite目前支持分区化的数据集,这是一个介于机器学习算法和底层的存储和计算之间的抽象层,它为计算和缓存的备份使用了类似MapReduce的操作以支持容错。

在Ignite中,一个哈希算法会被应用于键值对(K-V)中的键部分,来确定值部分在集群中的存储位置。值部分实际是存储于分区中的,分区是原子化的。在图2中,可以看到两个节点的集群,有两个分区(P1和P2): 机器学习算法通常是迭代式的,并且需要上下文和数据,在图2中,如每个分区中对应的C和D所示。

如果一个节点故障,Ignite会恢复分区和上下文,如图3所示。比如,P1在节点2有一个备份(灰色所示),如果节点1故障,就可以从节点2恢复P1,数据可能从集群或者本地ETL(标记为D*)中恢复。 图3

算法和适用领域

下面会看下Ignite支持的机器学习算法,下表会做个总结:

分类回归聚类预处理
描述根据一组训练数据确定新的标的属于哪一类对因变量y和一个或多个自变量x之间的关系进行建模对对象集进行分组,使得同一组内的对象和其他组中的每个对象相比具有更高的相似度特征提取和规范化
适用领域垃圾邮件检测、图像识别、信用评分、疾病识别药物反应,股票价格,超市收入客户细分、实验结果分组、购物项目分组对比如文本这样的输入数据进行转换,以便用于机器学习算法,然后提取需要拟合的特征,对数据进行规范化
算法支持向量机(SVM)、最近邻、决策树分类和神经网络线性回归、决策树回归、最近邻和神经网络K均值基于分区的数据集自定义预处理

机器学习库还带来了一组遗传算法,其在这里有详细描述。

总结

Ignite的最新版本提供了许多重要的特性和能力。分区化的数据集通过保存上下文,在节点故障时可以继续处理机器学习算法。机器学习算法支持广泛的使用案例,遗传算法的加入也为复杂数据的处理提供了新的机会。

转载于:https://my.oschina.net/liyuj/blog/2252890

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/450367.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4G发牌或提早 电信联通面临艰难抉择

曾几何时遥不可及的4G,上马的时间可能要比预期来的要早。今年3月,工信部部长苗圩表示,预计国内需要2-3年才会发放4G牌照。话音犹在耳,苗圩部长9月11日表示,“工信部已决定将于一年左右的时间发放TD-LTE牌照”。 工信部…

mysql 的 sql 执行计划详解

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 引言: 实际项目开发中,由于我们不知道实际查询的时候数据库里发生了什么事情,数据库软件是怎样扫描…

2018-10-28

我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。

win10+vscode部署java开发环境

目录 Java开发插件配置:调试:快捷键:启动配置文件launch.json:启动配置说明:Launch:Attach:User Setting:遇到的问题:参考:Java开发插件配置: Microsoft有个官方的插件Java Extension Pack&…

类的带参方法有哪几部分构成?

类的带参方法有哪几部分构成? 发布于2015-11-08 12:27 main函数可以不带参数,也可以带参数,这个参数可以认为是 main函数的形式参数。C语言规定main函数的参数只能有两个,还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字…

新架构让数据中心犹如PC

摘要:随着VL2网络拓扑结构带来了对等带宽,大量数据可以存放在远方的数据中心,访问起来却犹如它们就在本地,这将对数据中心的架构产生重大影响。Todd Hoff参加了Hot Interconnects大会,对微软VL2架构做了详细解读。CSDN…

mongodb分片概念和原理-实战分片集群

一、分片分片是一种跨多台机器分发数据的方法。MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部署。问题:具有大型数据集或高吞吐量应用程序的数据库系统可能会挑战单个服务器的容量。例如,高查询率会耗尽服务器的CPU容量。工作集大小大于系…

字符串的一些用法

一.Java字符串类基本概念在JAVA语言中,字符串数据实际上由String类所实现的。Java字符串类分为两类:一类是在程序中不会被改变长度的不变字符串;二类是在程序中会被改变长度的可变字符串。Java环境为了存储和维护这两类字符串提供了 String和…

获取BGR颜色的HSV值

import cv2import numpy as npgreen np.uint8([[[152, 245, 255]]]) # 输入待转换颜色的BGR值hsv_green cv2.cvtColor(green, cv2.COLOR_BGR2HSV)print(hsv_green)转载于:https://www.cnblogs.com/LicwStack/p/10129505.html

HTTP 协议是无状态协议,怎么理解

HTTP 是一个属于应用层的面向对象的协议,HTTP 协议一共有五大特点:1、支持客户/服务器模式;2、简单快速;3、灵活;4、无连接;5、无状态。 无连接 无连接的含义是限制每次连接只处理一个请求。服务器处理完客…

加入初创企业需要想清楚的几个问题

摘要:加入一家初创企业是一段充满冒险的旅程。沿途不会都是美景,更别忘了最初的梦想。 去初创公司面试,你一般会纠结于被问到什么问题。但更重要的是问自己:你下定决心在接下来的5年中“从头再来”吗?你能接受这份薪资…

类和对象的区别

类和对象的区别1,类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。就好像“Person(人)”这个类,它虽然可以包含很多个体,但它本身不存在于现实世…

IIS服务器SSL证书安装

在证书控制台下载IIS版本证书,下载到本地的是一个压缩文件,解压后里面包含.pfx文件是证书文件,pfx_password.txt是证书文件的密码。 友情提示: 每次下载都会产生新密码,该密码仅匹配本次下载的证书。如果需要更新证书文…

attempting to use incompatible return type 提示 解决

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 一、问题:方法返回类型上有红线,提示信息:... attempting to use incompatible return type 要返回…

地图市场三足鼎立:诺基亚官方确认与亚马逊合作

摘要:诺基亚确认为亚马逊新推出的平板提供地图服务,至此地图市场“三家分晋”的格局已趋明朗。 路透社之前曾报道称亚马逊在新版Kindle中将使用诺基亚提供的地图服务。但直到今日,这则消息才得到双方的确认。诺基亚方面确认将为亚马逊提供地图…

关于明晚即将发布的新款 iPad Pro,最大的亮点也许不是 Face ID

北京时间 10 月 30 日晚间 10 点,苹果将会在美国纽约的布鲁克林音乐学院举行新品发布会。考虑到此前苹果已经在 9 月的发布会上宣布了 Apple Watch Series 4 和 iPhone XS/Max、iPhone XR 等新品,因此苹果此次的纽约发布会,大家的目光更多地投…

重载

编程中重载的定义:函数名相同,函数的参数列表不同(包括参数个数和参数类型),至于返回类型可同可不同。重载是可使函数、运算符等处理不同类型数据或接受不同个数的参数的一种方法,关于重载一词在词义上有两种不同的说法:多态:重载…

11. Container With Most Water

题意 给定n个非负整数\(a_1,a_2,...,a_n\),其中每个数表示坐标点\((i,a_i)\),i是数组下标,\(a_i\)是对应高度.寻找两条线,使得两条线构成的长方形面积最大,盛水最多. Example: Input: [1,8,6,2,5,4,8,3,7] Output: 49 解 暴力破解 对每种情况进行循环,计算对应的面积,同时保存最…

如何培养编程所需要的逻辑思维?

很少有人能单单通过所谓“逻辑思维”从复杂问题快速找到抽象的,如果有这样的人,他的经验,工具,方法和直觉通常起到比逻辑思维更重要的作用。写代码需要逻辑思维,但解决复杂问题更需要理解分析,写代码只是解…

jws 方式表格导出,excel文件导出,rest风格接口实现

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 一、思路:从数据库表中查出list ,封装到 HSSFWorkook 中,再由HSSFWorkook 写出到 File 中, 用 res…