当前位置: 首页 > 专利查询>福州大学专利>正文

集成化的机器学习算法库与统一编程框架制造技术

技术编号:21246525 阅读:19 留言:0更新日期:2019-06-01 07:04
本发明专利技术涉及一种集成化的机器学习算法库与统一编程框架,包括模型学习组件、模型更新组件和学习策略组件;所述模型学习组件基于Batch Processing利用机器学习算法和固定大小的批量数据构建算法模型的逻辑;所述模型更新组件基于Timely Processing利用动态的数据流对特定的算法模型进行更新的逻辑;所述学习策略组件内置判断输入数据是批量数据还是流数据的策略,调度模型学习组件、模型更新组件两个组件进行动态学习的逻辑。本发明专利技术能够克服传统机器学习系统的单一处理方式缺点,方便机器学习的应用。

Integrated Machine Learning Algorithms Library and Unified Programming Framework

The invention relates to an integrated machine learning algorithm library and unified programming framework, including model learning component, model updating component and learning strategy component; the model learning component is based on Batch Processing, which uses machine learning algorithm and fixed-size batch data to construct the logic of algorithm model; the model updating component is based on Timely Processing, which uses dynamic data. Flow updates the specific algorithm model; the learning strategy component includes a strategy to determine whether the input data is batch data or stream data, and a logic to schedule the dynamic learning of the model learning component and the model updating component. The invention can overcome the shortcomings of the single processing mode of the traditional machine learning system and facilitate the application of machine learning.

【技术实现步骤摘要】
集成化的机器学习算法库与统一编程框架
本专利技术涉及计算机
,具体涉及一种集成化的机器学习算法库与统一编程框架。
技术介绍
机器学习已经广泛走进我们的生活,在日常生活中的应用越来越频繁。其实,机器学习就在我们身边:它向我们发送通知消息,包括微博热点,关注的人刚发的动态,手机地图上搜到的交通路线,垃圾邮件过滤,甚至是银行信息的安全。近几年来,机器学习已经发生了根本性的变化,如今机器只需要最少的人工干预就可以学习。然而,由于机器学习的处理方法多且过程复杂,实际应用中需要同时设计和维护批处理和流处理两套代码,没有一套统一的编程模型适应各种具体场景,不利于机器学习的大规模应用。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种集成化的机器学习算法库与统一编程框架,能够克服传统机器学习系统的单一处理方式缺点,方便机器学习的应用。为实现上述目的,本专利技术采用如下技术方案:一种集成化的机器学习算法库与统一编程框架,包括模型学习组件、模型更新组件和学习策略组件;所述模型学习组件基于BatchProcessing利用机器学习算法和固定大小的批量数据构建算法模型的逻辑;所述模型更新组件基于TimelyProcessing利用动态的数据流对特定的算法模型进行更新的逻辑;所述学习策略组件内置判断输入数据是批量数据还是流数据的策略,调度模型学习组件、模型更新组件两个组件进行动态学习的逻辑。进一步的,所述模型学习组件包括一套数据转换适配器。进一步的,所述模型学习组件在使用时数据集在Hadoop、Spark或Flink平台上进行数据预处理及算法模型构建,预处理过程中,利用数据转换适配器在不同平台间无缝传递,实现跨平台模型构建,再利用SparkStructuredStreaming或Flink等流数据处理平台实现流式算法模型更新。进一步的,所述模型更新组件通过在SparkStructuredStreaming、Flink流式计算框架上实现,运行时指定执行的计算引擎,组件内部的算法库基于流处理模式提供了分类、回归、聚类等机器学习算法模型更新策略。进一步的,所述学习策略组件基于工作流引擎通过调度模型学习组件和模型更新组件来完成批量机器学习或流式机器学习任务。进一步的,所述学习策略组件设置有监听器和调度器。一种集成化的机器学习算法库与统一编程框架的实时学习控制方法,包括以下步骤:步骤S1:学习策略组件的调度器向模型更新组件发送启动命令;步骤S2:模型更新组件开始监听流数据源,在积累预设量数据后阻塞自身;步骤S3:学习策略组件调度器启动监听器,监听器向模型学习组件发送启动命令进行学习;步骤S4:当模型学习组件完成算法模型训练,通知监听器算法模型训练已经完成,监听器通知模型更新组件激活自身并持续监听流数据源,利用到达的数据更新模型。一种集成化的机器学习算法库与统一编程框架的批量学习控制方法,包括以下步骤:步骤S1:学习策略组件的调度器向模型更新组件发送启动监听命令;步骤S2:模型更新组件开始监听模型学习组件的模型数据源;步骤S3:学习策略组件的调度器启动监听器,监听器向模型学习组件发送启动命令进行学习;步骤S4:当模型更新组件监听到算法模型训练完成时,其通知监听器启动下一轮学习;步骤S5:经过预设轮数学习,当监听器达到学习次数的阈值时,监听器通知模型更新组件学习结束,并通知模型学习组件集成最终的算法模型。本专利技术与现有技术相比具有以下有益效果:本专利技术集成化的机器学习算法库与统一编程框架能够克服传统机器学习系统的单一处理方式缺点,方便机器学习的应用。附图说明图1是本专利技术的数据流图;图2是本专利技术实时学习控制组件逻辑交互图;图3是本专利技术批量学习控制组件逻辑交互图。具体实施方式下面结合附图及实施例对本专利技术做进一步说明。请参照图1,本专利技术提供一种集成化的机器学习算法库与统一编程框架,统一编程框架将BatchProcessing转化为一种可结束的TimelyProcessing,对固定大小的批量数据采取数次采样,采样完成时立即学习并构建单个算法模型,通过集成得到最终的算法模型;在具体实现上统一编程框架包括模型学习组件、模型更新组件和学习策略组件;所述模型学习组件基于BatchProcessing利用机器学习算法和固定大小的批量数据构建算法模型的逻辑;所述模型更新组件基于TimelyProcessing利用动态的数据流对特定的算法模型进行更新的逻辑;所述学习策略组件内置判断输入数据是批量数据还是流数据的策略,调度模型学习组件、模型更新组件两个组件进行动态学习的逻辑。本实施例中,所述模型学习组件包括一套数据转换适配器,所述模型学习组件在使用时数据集在Hadoop、Spark或Flink平台上进行数据预处理及算法模型构建,预处理过程中,利用数据转换器在不同平台间无缝传递,实现跨平台模型构建,再利用SparkStructuredStreaming或Flink等流数据处理平台实现流式算法模型更新。本实施例中,所述模型更新组件通过在SparkStructuredStreaming、Flink流式计算框架上实现,运行时指定执行的计算引擎,组件内部的算法库基于流处理模式提供了分类、回归、聚类等机器学习算法模型更新策略。本实施例中所述学习策略组件设置有监听器和调度器。学习策略组件基于Workflow(工作流)通过调度模型学习组件和模型更新组件来完成批量机器学习或流式机器学习任务,其调度过程如下:开始,学习策略组件启动LearningProcess(学习流程),设置一个标志Attribute(属性)“是否可结束标志”并启动一个自动定时Activity(活动),若活动时间内数据源的数据无变化,设置标志属性“是否可结束标志”为“可结束”;否则输入数据为变化的数据流,设置标志属性“是否可结束标志”为“不结束”。若标志属性“是否可结束标志”为“可结束”,启动BatchLearningProcess(批量学习子流程),向模型更新组件发送一条Notification(通知),通知模型更新组件监听模型学习组件的模型输出源;接着启动第二个自动Activity,启动监听器并设置标志属性“学习次数是否超过阈值”为“否”,监听器通知模型学习组件进行采样学习;当模型更新组件检测到模型训练完成时向监听器发送一个Message(消息),监听器收到后发送标志属性“学习次数是否超过阈值”作为Respond(应答),并通知模型学习组件进行下一次采样学习;当监听器检测到学习次数达到设置的阈值时,监听器设置“学习次数是否超过阈值”为“是”,模型更新组件收到应答后停止;最后监听器通知模型学习组件集成所有生成的算法模型,学习流程结束。若标志属性“是否可结束标志”为“不可结束”,学习策略组件启动Real-timeLearningProcess(实时学习子流程),向模型更新组件发送一条Notification(通知),监听流数据源;接着启动第二个自动Activity,启动监听器并设置标志属性“是否开始学习”为“否”;模型更新组件积聚一定数据量后向监听器发送一个Message,并等待应答;监听器收到消息后通知模型学习组件进行第一次学习;当监听器检测到算法模型训练完成时,设置“是否开始学习”为“是”并作为Respo本文档来自技高网...

【技术保护点】
1.一种集成化的机器学习算法库与统一编程框架,其特征在于:包括模型学习组件、模型更新组件和学习策略组件;所述模型学习组件基于Batch Processing利用机器学习算法和固定大小的批量数据构建算法模型的逻辑;所述模型更新组件基于Timely Processing利用动态的数据流对特定的算法模型进行更新的逻辑;所述学习策略组件内置判断输入数据是批量数据还是流数据的策略,调度模型学习组件、模型更新组件两个组件进行动态学习的逻辑。

【技术特征摘要】
1.一种集成化的机器学习算法库与统一编程框架,其特征在于:包括模型学习组件、模型更新组件和学习策略组件;所述模型学习组件基于BatchProcessing利用机器学习算法和固定大小的批量数据构建算法模型的逻辑;所述模型更新组件基于TimelyProcessing利用动态的数据流对特定的算法模型进行更新的逻辑;所述学习策略组件内置判断输入数据是批量数据还是流数据的策略,调度模型学习组件、模型更新组件两个组件进行动态学习的逻辑。2.根据权利要求1所述的集成化的机器学习算法库与统一编程框架,其特征在于:所述模型学习组件包括一套数据转换适配器。3.根据权利要求2所述的集成化的机器学习算法库与统一编程框架,其特征在于:所述模型学习组件在使用时数据集在Hadoop、Spark或Flink平台上进行数据预处理及算法模型构建,预处理过程中,利用数据转换适配器在不同平台间无缝转换并传递数据集,实现跨平台模型构建,再利用SparkStructuredStreaming、Flink流数据处理平台实现流式算法模型更新。4.根据权利要求1所述的集成化的机器学习算法库与统一编程框架,其特征在于:所述模型更新组件通过在SparkStructuredStreaming、Flink流式计算框架上实现,运行时指定执行的计算引擎,组件内部的算法库基于流处理模式提供了分类、回归、聚类机器学习算法模型更新策略。5.根据权利要求1所述的...

【专利技术属性】
技术研发人员:郭昆郭文忠陈羽中郭鸿清
申请(专利权)人:福州大学
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1