机器学习正在改变世界。自动驾驶汽车、对话式虚拟助手和通过面部识别进行航空公司登机就是我们前进方向的几个例子。在每个例子中,机器学习都在自动化人类大脑过去完成的过程,例如如何识别图像和处理语言。
这也延伸到世界各地的公司用于经营业务的过程。业务流程通常是自动化的绝佳机会,BPM产品可以帮助解决这一问题。将BPM和机器学习结合在一起可以将自动化提升到另一个层次。
例如,机器学习可用于提供可以改善业务流程中决策的建议。但是,我们如何在反应式微服务架构中集成机器学习和BPM呢?我们希望我们的服务规模小,专注于做好一件事,同时实现分离和独立部署。在本文中,我们将讨论使用机器学习、BPM和反应式微服务实现此目标的集成模式。
首先,让我们先简单介绍一下机器学习的背景。它实际上是一种人工智能(AI)。下面是它的历史,说明了机器学习经历的不同阶段。
人工智能始于20世纪50年代的专业系统。这些系统包含由人类编程的if/then逻辑。后来,早期的机器学习软件专注于线性回归、树、时间序列回归和无监督学习。在20世纪80年代,神经网络机器学习开始出现。在过去的25年里,机器学习软件取得了长足的进步,其中大部分都已成为开源软件。
通过云计算,计算能力也变得更便宜、更快捷。H2O就是一个开源内存大数据机器学习平台的例子。它提供了多种算法(例如广义线性模型、随机森林、梯度提升机、主成分分析等)用于训练机器学习模型,并生成显示生成模型的准确性和性能的指标。
H2O还将生成可部署的工件,您可以将其包含在项目中,例如POJO(普通旧Java对象)或MOJO(模型对象)工件。当POJO达到大小限制或需要更高性能时,通常使用MOJO。
在机器学习中要理解的下一个关键概念是两个高级类别——监督和无监督式。
监督式是指您标记数据并在数据集中包含特征和目标变量。此目标变量表示您想要预测的数据元素,而特征是可用于预测目标的数据元素。目标变量在数据集中提供过去的记录,算法使用这些特征来确定如何预测所提供的目标变量。无监督式是指您不标记数据(不提供目标),而是让软件找到关系。它通常通过将相似的数据分组在一起来实现这一点。
在这两种情况下,提供尽可能多的数据总是好的,这样机器学习软件就可以尽可能准确。此外,重要的是要确保数据没有任何偏差,否则模型就会有偏差。对于机器学习,模型的好坏取决于数据。
如果将BPM作为混合协调器模式实施,请考虑以下一些重要事项:
在以下情况下应用协调器模式:
1.存在异步处理的同步块。
2.需要在设计时和运行时查看整个端到端业务流程。
3.需要尽可能地解耦以消除依赖关系。
协调器可能是单点故障。确保它值得权衡并简化您的架构。评估主动(应用程序和数据库层)的多部署,以及利用事件中的关联ID来拼凑不同的事件。
相关新闻推荐