1. 机器学习已成为人工智能发展的关键因素

2016 年 3 月,谷歌(Google)旗下的 AlphaGo(一款围棋人工智能程序)挑战世界围棋冠军、职业九段选手李世石,并将其打败。引起了全世界的广泛关注,也让人工智能和机器学习的概念进入了公众的视野。

人工智能是研究如何通过感知、计算、反馈使机器具有认识问题和解决问题的能力,人工智能研究的关键就是如何让机器具有人的思维能力与意识形态,并感知和理解我们的世界,其实质就是拥有机器学习的能力。因此,机器学习成为了成为人工智能发展的关键因素。

机器学习(Machine Learning)是用数据或以往的经验,发现历史数据中分析存在的规律并利用这些规律来构筑数学模型,然后这些模型对未来的数据进行预测,用户可利用分析结果辅助决策。机器学习又分为非深度学习和深度学习,非深度学习主要二元、多元回归模型针对数值型数据进行预测分析;深度学习是建立模拟人脑的神经网络,模仿人脑的机制来解释数据和预测数据。所需要的模型既包括了二元和多元回归模型,也包括了神经网络、决策树、朴素贝叶斯等复杂模型,常用的软件包括了 Spark、Caffe、WEKA、RapidMiner 等。

mlengsmall

图:一个典型的机器学习流程示意图

面对机器学习所需要模型的多样性和专业软件的复杂性,不同的应用场景所需要的模型和软件也会有所不同,这也决定了机器学习服务的运行环境部署起来非常困难,有着极高的技术准入门槛,而且专业的机器学习软件操作步骤繁琐,非专业人士需要经常长时间学习才可熟练使用。随着社会科技的不断发展,人工智能系统的运行速度、存储容量、数据拥有量将会继续大幅增加,机器学习的应用场景也会越来越多。因此,在当前的技术条件下,日益增多的应用需求与复杂的技术准入门槛形成了机器学习应用与发展的一对矛盾。

那么,如何解决这一矛盾呢?品高云是这样给出答案的。

2. 品高云机器学习服务介绍

品高云在 V7.0 版本中推出了机器学习服务(Machine Learning)。

机器学习服务的实现是通过在品高云 OS 上创建弹性计算集群,自动配置机器学习算法,提供了二元、多元和回归训练模型,可一键式获取机器学习环境能力,用户无需学习复杂的机器学习算法和技术,即可在云平台上可通过向导式界面快速创建机器学习模型、对自有数据源进行预测,解决用户对机器学习软硬件环境不熟悉导致配置困难的问题。可以应用到购买力趋势预测、欺诈行为检测、疾病判断、房价预测、电影类型判别,产品推荐等场景。

3. 功能优势

3.1 轻松创建学习环境

品高云的机器学习服务已将算法内置为容器镜像,并将复杂的机器学习算法集成为简单的选项。用户无需学习复杂的机器学习技术,只需通过引导式的界面设置,便可一键式获取机器学习集群环境,快速创建机器学习模型,解决机器学习软硬件环境配置困难的问题。

3.2 支持模型评估与图形化展示

机器学习服务在创建模型成功后会自动生成一份模型的评估报表,报表内不仅会有对模型的性能指标的测算,还提供图形化的对比展示,用户可直观地观察机器预测出的数据与原始数据的区别对比情况,以帮助用户做出更好的判断。

3.3 一站式机器学习流程

品高云机器学习平台提供一站式数据挖掘流程,用户将自有数据上传之后,无需做任何线下处理即可实现业务场景全流程的工作。云平台提供了数据上传、容器算法、模型制作和评估、机器学习预测等全套流程,且这一切无需用户支付额外的软硬件费用,全部只需在云平台上实现。

3.4 丰富的算法模板

品高云机器学习服务支持深度学习和非深度学习的预测算法。用户根据自有数据形式,只需选用统一的镜像,立刻便可进行二元预测、多元预测、线性回归和图片识别等预测。平台会根据用户数据类型,自动选用合适算法。可以应用在购买力趋势预测、欺诈行为检测、疾病判断、房价预测、电影类型判别、产品推荐等多种业务场景上。

4. 技术架构

机器学习服务技术架构图

4.1HPC Ready 云设施

机器学习服务是基于品高云的基础设施构建,云平台提供了机器学习所需的高性能硬件资源、高性能云套件和对象存储服务。用户可以使用以 CSV 文件(数据)或图片格式存放在对象存储 S3 的数据集中,即可利用该信息源来创建和使用机器学习模型。通过底层调用基础服务 EC2,通过机器学习镜像和集群配置,搭建机器学习集群,便可以在集群中执行训练预测等任务(现阶段支持数据预测进行集群配置)。

4.2 机器学习服务层

机器学习服务属于 IaaS+服务, 机器学习使用容器集群管理引擎管理机器学习引擎和机器学习控制器。机器学习引擎主要负责模型的创立与评估,以及预测的管理;机器学习控制器主要处理任务分发、数据处理、状态管理等控制工作。

4.3 展示操作层

机器学习分为非深度学习(数据判断)和深度学习(图片识别)。非深度学习会根据数据源中的预测数据类型(二元、多元、数值型),选用合适的模型(二元、多元、回归模型),搭建好集群环境后进行模型数据训练;深度学习是根据用户提供的图片复杂度选择神经网络类型,结合用户的相关配置进行模型训练。机器学习在模型训练结束后,会自动生成评估,可对比预测结果和原始数据,计算相关度量值,评估模型的准确度。最后用户可根据实际模型评估情况,有针对性地进行数据预测。

5. 功能实践:地铁碳滑板数据预测

地铁在每天结束运营后会进行设备的检修维护,其中碳滑板的检查就是一项重要的内容,碳滑板是受电弓的弓头上几块可拆卸的碳或者粉末合金的导电性滑板,用来与接触网接触取电,质地较软。受电弓在与接触网摩擦时主要的损耗在碳滑板上,当磨耗到限时就需要进行人工更换。因此,检查人员会定期对碳滑板进行检查,当达到更换标准时进行更换。每次进行更换都会记录当前车号、装车厚度、装车时间、运营天数、运营公里数、磨损厚度等。

机器学习可利用累积记下来的碳滑板更换的历史数据进行训练,将训练出来的模型对碳化板未来磨损程度进行预测,辅助人工进行碳滑板定期更换测量提供参考。

某城市地铁的碳滑板的累计数据整理如下:

接下来通过如下步骤来验证品高云中的机器学习服务功能:

本次功能实践目的是对地铁碳滑板的磨损程度进行数据预测,并通过预测值与实际值相对比以验证机器学习的准确性。

5.1 容器管理

这个环节主要管理和配置机器学习容器集群所需的部署模板,配置机器学习服务的实例资源。

1. 进入【高级服务→机器学习→机器学习容器管理】,进入机器学习容器管理页面可对已有容器进行管理操作。

图 1 机器学习容器管理页面

2. 点击“新增机器学习容器”按钮,弹出新增机器学习容器页面。

图 2 新增机器学习容器页面

5.2 数据源的管理

机器学习需要输入历史数据进行模型训练或者数据预测,历史数据源都在 S3 存储上。因此,数据源管理的目的是通过读取存储在 S3 上的基础数据文件,推测目标数据列的数据类型。

进入【高级服务→机器学习→数据源管理】,进入数据源管理页面可对现有数据进行管理操作。

图 3 数据源管理页面

点击“新增数据源”按钮,进入新增数据源页面。

首先,选择数据源类型,以便确认使用的机器学习框架。根据地铁碳滑板的数据类型我们选择数值预测。

图 4 数据源类型选择页面

第二步,输入数据源信息。填入 S3 数据源地址信息及数据源名称。数据源是整理好的 csv 文件,需要事先上传至 S3 存储。

图 5 数据源信息页面

第三步,进入数据集管理页面。系统自动读取 csv 的表头及部分数据信息,并自动根据数据类型进行分类,可以设置数值类型(数字)、文本类型(文本数据)、二元类型(0 和 1)、分类类型(该列只有几种类型时,一般可作为标识列)。trainNo 列为分类类型,其他为数值类型。设置数据类型是为了数据训练时对数据更准确的训练。

图 6 数据集页面

接下来设置 wearThickness 为预测目标,设置预测目标是为了让机器学习服务知道最终训练是为了得出此目标列而执行的。

图 7 设置预测目标页面

最后,设置 trainNo 为标识列,标识列是为了在预测数据结果时,加上唯一标识,以便用户将预测结果和原始目标进行比对。默认不填则会取列表的第一行作为标识列。

图 8 设置标识列页面

通过以上操作完成数据源的创建,完成后可预览创建的数据源信息。

图 9 数据源预览页面

5.3 模型的管理及评估

机器学习的模型创建前提是已经有数据源了,根据数据源目标列,机器学习会自动选择模型来进行数据训练,数据类型为二元类型则对应二元模型,多类类型则对应多类模型,数值类型则对应回归模型。并对创建好的模型进行评估已确定模型的适用性。

1. 新建模型。

进入【高级服务→机器学习→模型管理】,在模型管理页面可对现有模型进行管理操作。

图 10 模型管理页面

点击“新增模型”按钮,进入新增模型页面。

首先,输入数据,根据上面创建的数据源,选择要训练的数据。

图 11 导入模型数据页面

第二步,模型设置。根据数据源情况自动识别训练的模型和预测目标列。可以设置模型名称和模型创建后自动生成的评估名称。

图 12 模型设置页面

第三步,容器设置,选择云网络、子网、实例规模和创建的实例数量(实例是用来进行模型训练及预测)设置容器信息。容器信息设置完成后及模型创建成功。

图 13 容器设置页面

2. 模型评估。

模型创建成功后自动生成评估,机器学习服务会根据训练的模型,评估出该模型的可适用程度,用户可根据这个标准来衡量模型预测出来产生的误差及接受的范围程度。

在【高级服务→机器学习→评估管理】可以对新建模型进行评估。

模型评估完成后可预览评估结果。

图 14 模型评估结果信息

点击图表展示 Tab 按钮,即可展示图表,该图显示出预测数据和历史真实数据的对比情况。

图 15 预测数据和历史真实数据的对比信息

从评估结果可以看到,模型的精准误差为 0.0525(越接近 0 误差越低),并且,通过图表分析可以看到通过模型计算的数据与实际数据基本一致,即说明模型基本适用于本次数值预测。

5.4 预测的管理

云平台提供预测功能,根据已经训练好的模型进行数据预测,根据预测的结果来辅助人工进行判断。

进入【高级服务→机器学习→预测管理】,可对现有预测进行管理。

首先,选择在前面创建的预测模型。

图 16 选择预测数据需要的模型

下一步,利用所选择的模型,根据历史数据进行预测,可得到预测结果。

图 17 数据预测结果

预测值为 13.67,与历史数据相比,两者之间的差别标准差范围内,可以判定预测结果基本准确。

下面是机器学习服务的 demo 视频

目前,机器学习服务已经在品高云 7.0 版本中正式发布,对政府、企业、高校等用户而言可以通过品高云一键获取机器学习的环境,而无需关心机器学习软件安装繁琐、硬件环境配置困难的问题。

对于 7.0 中更多亮点功能介绍,还可以访问官网的如下地址了解

视频连接:http://cloudos.bingocloud.cn/templates/newlook.html