[发明专利]一种基于机器学习模型的排序方法有效
| 申请号: | 201811096121.5 | 申请日: | 2018-09-19 |
| 公开(公告)号: | CN109271132B | 公开(公告)日: | 2023-07-18 |
| 发明(设计)人: | 施荣华;毛雷;赵颖;钟增胜;胡超 | 申请(专利权)人: | 中南大学 |
| 主分类号: | G06F7/24 | 分类号: | G06F7/24;G06N20/00 |
| 代理公司: | 长沙市融智专利事务所(普通合伙) 43114 | 代理人: | 欧阳迪奇 |
| 地址: | 410083 湖南*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 机器 学习 模型 排序 方法 | ||
1.一种使用机器学习模型的排序方法,其特征在于,应用于分布式系统中,将待排元素集切分成多个小块,由不同的设备进行位置预测和放置,最后进行汇总合并以完成排序,包括以下步骤:
步骤1):根据待排元素集构建频率分布直方图,并基于直方图中每个区间的值和区间高度分别生成两个序列,将两个序列中的元素分别一一对应形成键值对并汇总为一个集合,来作为数据分布模型的训练数据;
步骤2):先利用单调投影方法对模型的单调性和模型函数的取值区间进行约束,基于上述约束生成初始随机模型,然后使用步骤1)获得的训练数据对初始随机模型进行训练,训练完成后得到数据分布模型;
步骤3):将待排元素集中的元素输入步骤2)获得的数据分布模型,并基于模型输出和待排元素集规模来预测待排元素集中每一个元素在有序数组中的位置;
步骤4):根据步骤3)中获得的预测位置,将各个元素放置在有序数组中。
2.根据权利要求1所述的方法,其特征在于,步骤1)包括以下步骤:
步骤1.1):获得待排元素集规模为N,以横坐标代表待排元素的值,纵坐标代表整个待排元素集在该值区间的元素个数,构建待排序元素集的频率分布直方图;
步骤1.2):将频率直方图中每个区间的最右侧的值依次汇总形成序列K,将每个区间的高度依次汇总形成序列V;
步骤1.3):针对序列V中的第i项,计算从第一项到该项的和,再将这个和值除以N,从而形成序列S,序列S中第i项的Vi计算式为:
步骤1.4):将序列K和序列S中的元素按下标顺序一一对应,形成键值对,将这些键值对汇总成集合D作为训练数据,集合D的表达数如下:
D={(Ki,Si)|0≤i≤N}。
3.根据权利要求1所述的方法,其特征在于,在步骤2)中,数据分布模型需满足单调不递减且模型函数取值范围为[0,1],在对模型的性质进行了限制后才能进行模型的构建,包括以下步骤:
步骤2.1):利用单调投影设置输入维度的单调性,并将模型的取值范围设置为[0,1];
步骤2.2):使用构建出的训练数据,生成一个初始随机模型,然后将训练数据输入输入模型并获得模型的输出值,计算模型的输出值与训练数据中的输出数据的误差,若误差在指定误差范围内则模型构建完毕,否则,继续迭代训练数据对模型进行调整。
4.根据权利要求1所述的方法,其特征在于,步骤3)包括以下步骤:
将待排元素依次输入数据分布模型,并将获得的模型输出值与待排元素集规模的乘积作为元素的预测位置,即模型输出值与最终得到的有序数组的长度的乘积为元素的预测位置。
5.根据权利要求1所述的方法,其特征在于,在步骤4)中,还包括分别构建两个由数组实现的索引结构,并分别用于待排元素和待放位置,以解决由于多个待排元素拥有相同预测位置而导致的冲突的步骤:
步骤4.1):针对每个待排元素构建一个next数组形成的索引,用来指向与该待排元素有相同预测位置的前一个待排元素;然后,针对每一个可能的预测位置构建一个head数组形成的索引,用来指向该预测位置对应的最后一个待排元素;
步骤4.2):根据步骤3)产生的待排元素的预测位置,对待排元素的索引和待放位置的索引进行更新和维护;
步骤4.3):依次遍历待放位置的索引,并循环递归每个待排元素的索引,将索引到的待排元素依次放入结果数组,结果数组即为有序数组。
6.根据权利要求5所述的方法,其特征在于,所述的步骤4.2)中,以任一待排元素c的预测位置为p,则对索引结构的维护包括以下步骤:
如果head数组中序号p的单元没有值,则只维护head数组,将head数组中序号p的单元直接指向数组序号为i的元素,于是head[p]被赋值为i;
如果head数组中序号p的单元有值,则先维护next数组再维护head数组,先将next数组序号为i的单元指向前一个预测位置也是p的元素,将next[i]赋值为head[p],再将head数组中序号p的单元直接指向数组序号为i的元素,也就是将head[p]赋值为i。
7.根据权利要求6所述的方法,其特征在于,所述的步骤4.3)包括以下步骤:
根据索引结构依次放置元素,依次访问每一个预测位置,也就是head数组中每一个单元,先将head数组中某个单元指向的元素放入结果数组,接着通过next数组将与该元素串联在一起的其他元素依次放入结果数组,得到的结果数组即有序数组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南大学,未经中南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811096121.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:耳机控制方法、装置、电子设备及存储介质
- 下一篇:一种数据处理方法及系统





