[发明专利]一种基于pyspark的机器学习方法和装置在审
申请号: | 201811437502.5 | 申请日: | 2018-11-28 |
公开(公告)号: | CN109784494A | 公开(公告)日: | 2019-05-21 |
发明(设计)人: | 赵争超;卢寻 | 申请(专利权)人: | 同盾控股有限公司 |
主分类号: | G06N20/00 | 分类号: | G06N20/00 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 311121 浙江省杭州市余*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 机器学习 方法和装置 校验 训练集 并行 分区 分布式特征 参数计算 迭代训练 结果模型 两两交叉 目标模型 业务数据 传入的 算法 工程师 | ||
本发明实施例提供了一种基于pyspark的机器学习方法和装置,具体包括对传入的训练集进行格式校验;如果通过格式校验,则将训练集随机分为多个并行的分区;利用多个并行的分区进行迭代训练,得到目标模型的结果模型参数。由于本发明实现了分布式特征两两交叉情况下的参数计算,因此不再依赖于算法工程师对业务数据的了解,从而实现了效果较好的机器学习。
技术领域
本发明涉及人工智能技术领域,特别是涉及一种基于pyspark的机器学习方法和装置。
背景技术
对于稀疏矩阵下的特征组合问题,传统机器学习一般仅考虑如何对特征赋予权重,而没有考虑特征间存在的相互作用,造成实现效果较差;或者是基于逻辑回归算法做大量的人工特征交叉,但是这样的交叉非常依赖于算法工程师对业务数据的理解,而且非常费事,但是绝大部分情况下算法实现和业务数据处理是相隔较远的两种业务,一般情况下算法工程师无法对业务数据做到深入的理解,这样一来同样造成最终的实现效果较差。
发明内容
有鉴于此,本发明提供了一种基于pyspark的机器学习方法和装置,以解决传统机器学习的实现效果较差的问题。
为了解决上述问题,本发明公开了一种基于pyspark的机器学习方法,包括步骤:
对传入的训练集进行格式校验,所述训练集中样本的格式为pyspark的dataframe格式;
如果通过所述格式校验,则将所述训练集随机分为多个并行的分区;
利用所述多个并行的分区进行迭代训练,得到目标模型的结果模型参数,所述目标模型为因子分解机。
可选的,所述利用所述多个并行的分区进行迭代训练,包括:
针对每个所述分区,每一轮迭代完成时,通过广播变量传递的中间模型参数计算损失函数;
对所述损失函数求导,得到求导结果;
利用所述求导结果更新所述中间模型参数;
对所有分区的中间模型参数进行线性平均,得到平均模型参数;
判断最近两次迭代计算的过程是否收敛,如是,则将所述平均模型参数输出为所述结果模型参数,如否则进行下一次迭代计算。
可选的,所述对所述损失函数求导,包括:
利用随机梯度下降算法或者小批量随机梯度算法对所述损失函数进行求导计算。
可选的,还包括:
把所述结果模型参数传到指定路径的文件中。
可选的,在所述对传入的训练集进行格式校验步骤之前,还包括:
准备所述训练集,所述训练集的每个样本至少包括特征字段和标签字段。
另外,还提供了一种基于pyspark的机器学习装置,包括:
格式校验模块,用于对传入的训练集进行格式校验,所述训练集中样本的格式为spark的dataframe格式;
数据分割模块,用于如果通过所述格式校验,则将所述训练集随机分为多个并行的分区;
模型训练模块,用于利用所述多个并行的分区进行迭代训练,得到目标模型的结果模型参数,所述目标模型为因子分解机。
可选的,所述模型训练模块包括:
函数计算单元,用于针对每个所述分区,每一轮迭代完成时,通过广播变量传递的中间模型参数计算损失函数;
求导计算模块,用于对所述损失函数求导,得到求导结果;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同盾控股有限公司,未经同盾控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811437502.5/2.html,转载请声明来源钻瓜专利网。