一种船舶轨迹聚类方法及装置与流程

文档序号:14991443发布日期:2018-07-20 22:18阅读:164来源:国知局

本发明涉及计算机技术领域,特别涉及一种船舶轨迹聚类方法及装置。



背景技术:

随着世界经济的发展,水上交通运输成为沿海区域经济发展的重要保障。为了提升船舶航运的能力和效率,通常对船舶自动识别系统ais(automaticidentificationsystem)获取包括船舶的航行状态、船舶的航行轨迹信息ais数据进行聚类,以在船舶航行时可以根据聚类结果来预测及确定出航行方案。

目前,对ais数据进行聚类的方法通常为,利用传统的人工手动方式进行聚类。由于人工手动聚类过程中,由于人工个体上的差异,通常会出现遗漏和错误的概率较高。因此,现有的方式船舶轨迹聚类结果的准确度。



技术实现要素:

本发明实施例提供了一种船舶轨迹聚类方法及装置,可以提高船舶轨迹聚类结果的准确度。

第一方面,本发明实施例提供了一种船舶轨迹聚类方法,该方法包括:

设置至少两个受限玻尔兹曼机rbm层,其中,所述至少两个rbm层分别对应不同的等级;

利用等级最低的rbm层对船舶自动识别系统ais数据进行训练,得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将得到的船舶轨迹训练结果数据传输给下一个等级的rbm层;

利用每一个所述rbm层分别对上一个等级的rbm层传输来的船舶轨迹训练结果数据进行训练,分别得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将得到的船舶轨迹训练结果数据传输给下一个等级的rbm层;

对各个所述rbm层分别得到的船舶轨迹训练特征权重进行聚类训练,得到所述ais数据对应的船舶轨迹聚类结果。

优选地,

每一个所述rbm层分别具有对应的预设迭代次数;

所述利用每一个所述rbm层分别对上一个等级的rbm层传输来的船舶轨迹训练结果数据进行训练,分别得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,包括:

针对每一个所述rbm层均执行:

a1:利用所述rbm层将上一个等级的rbm层传输来的船舶轨迹训练结果数据训练成可视层船舶轨迹数据;

a2:将当前可视层船舶轨迹数据训练成隐藏层船舶轨迹数据;

a3:将当前隐藏层船舶轨迹数据训练成新的可视层船舶轨迹数据,并记录为1次迭代;

a4:判断被记录迭代的次数总和是否达到所述rbm层对应的预设迭代次数,如果是,执行a6;否则,执行a5;

a5:将新的可视层船舶轨迹数据作为当前可视层船舶轨迹数据继续执行a2;

a6:将当前隐藏层船舶轨迹数据确定为所述rbm层对应的船舶轨迹训练结果数据,以及根据当前隐藏层船舶轨迹数据以及当前可视层船舶轨迹数据确定出所述rbm层的船舶轨迹训练特征权重。

优选地,

每一个所述rbm层还分别具有对应的待训节点数量;

所述利用所述rbm层将上一个等级的rbm层传输来的船舶轨迹训练结果数据训练成可视层船舶轨迹数据,包括:

根据所述rbm层对应的待训节点数量确定出数据筛选条件;

根据所述数据筛选条件,在所述上一个等级的rbm层传输来的船舶轨迹训练结果数据中筛选出参加训练的待训船舶轨迹数据;

将所述待训船舶轨迹数据训练成可视层船舶轨迹数据。

优选地,

所述根据当前隐藏层船舶轨迹数据以及当前可视层船舶轨迹数据确定出所述rbm层的船舶轨迹训练特征权重,包括:

确定所述当前隐藏层船舶轨迹数据包括的至少一个隐藏层船舶轨迹参数值以及所述当前可视层船舶轨迹数据包括的至少一个可视层船舶轨迹参数值,并通过公式(1)确定出所述rbm层的船舶轨迹训练特征权重;

其中,所述ai表征隐藏层船舶轨迹数据中的第i个隐藏层船舶轨迹参数值;所述α表征预设的第一偏置值;所述bj表征可视层船舶轨迹数据中的第j个可视层船舶轨迹参数值;所述β表征预设的第二偏置值;所述w表征所述rbm层的船舶轨迹训练特征权重。

优选地,

在所述利用等级最低的rbm层对ais数据进行训练之前,进一步包括:

对所述ais数据进行归一化处理。

第二方面,本发明实施例提供了一种船舶轨迹聚类装置,该装置包括:

设置模块,用于设置至少两个受限玻尔兹曼机rbm层,其中,所述至少两个rbm层分别对应不同的等级;

第一训练模块,用于利用等级最低的rbm层对船舶自动识别系统ais数据进行训练,得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将得到的船舶轨迹训练结果数据传输给下一个等级的rbm层;

第二训练模块,用于利用每一个所述rbm层分别对上一个等级的rbm层传输来的船舶轨迹训练结果数据进行训练,分别得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将得到的船舶轨迹训练结果数据传输给下一个等级的rbm层;

聚类模块,用于对各个所述rbm层分别得到的船舶轨迹训练特征权重进行聚类训练,得到所述ais数据对应的船舶轨迹聚类结果。

优选地,

每一个所述rbm层分别具有对应的预设迭代次数;

所述第二训练模块,用于针对每一个所述rbm层均执行:

a1:利用所述rbm层将上一个等级的rbm层传输来的船舶轨迹训练结果数据训练成可视层船舶轨迹数据;

a2:将当前可视层船舶轨迹数据训练成隐藏层船舶轨迹数据;

a3:将当前隐藏层船舶轨迹数据训练成新的可视层船舶轨迹数据,并记录为1次迭代;

a4:判断被记录迭代的次数总和是否达到所述rbm层对应的预设迭代次数,如果是,执行a6;否则,执行a5;

a5:将新的可视层船舶轨迹数据作为当前可视层船舶轨迹数据继续执行a2;

a6:将当前隐藏层船舶轨迹数据确定为所述rbm层对应的船舶轨迹训练结果数据,以及根据当前隐藏层船舶轨迹数据以及当前可视层船舶轨迹数据确定出所述rbm层的船舶轨迹训练特征权重。

优选地,

每一个所述rbm层还分别具有对应的待训节点数量;

所述第二训练模块,包括:筛选子模块以及训练子模块;

所述筛选子模块,用于根据所述rbm层对应的待训节点数量确定出数据筛选条件;根据所述数据筛选条件,在所述上一个等级的rbm层传输来的船舶轨迹训练结果数据中筛选出参加训练的待训船舶轨迹数据;

所述训练子模块,用于将所述筛选子模块筛选出的所述待训船舶轨迹数据训练成可视层船舶轨迹数据。

优选地,

所述第二训练模块,包括:权重确定模块;

所述权重确定模块,用于确定所述当前隐藏层船舶轨迹数据包括的至少一个隐藏层船舶轨迹参数值以及所述当前可视层船舶轨迹数据包括的至少一个可视层船舶轨迹参数值,并通过公式(1)确定出所述rbm层的船舶轨迹训练特征权重;

其中,所述ai表征隐藏层船舶轨迹数据中的第i个隐藏层船舶轨迹参数值;所述α表征预设的第一偏置值;所述bj表征可视层船舶轨迹数据中的第j个可视层船舶轨迹参数值;所述β表征预设的第二偏置值;所述w表征所述rbm层的船舶轨迹训练特征权重。

优选地,

进一步包括:处理模块;

所述处理模块,用于对所述ais数据进行归一化处理。

本发明实施例提供了一种船舶轨迹聚类方法以及设备,首先设置两个或多个分别对应不同等级的rbm层。然后利用等级最低的rbm层对ais数据进行训练,得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将船舶轨迹训练结果数据传输给下一个等级的rbm层。再利用非等级最低的各个rbm层分别对上一个等级的rbm层传输来的船舶轨迹训练结果数据进行训练,分别得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将得到的船舶轨迹训练结果数据传输给下一个等级的rbm层。最后汇总各个rbm层分别得到的船舶轨迹训练特征权重,并进行聚类训练得到ais数据对应的船舶轨迹聚类结果。通过上述可知,在本方案中由于利用各个rbm层一层接一层的连续对ais数据进行训练,并对各个rbm层分别得到的船舶轨迹训练特征权重进行聚类训练,得到船舶轨迹聚类结果。因此本发明实施例提供的方案可以提高船舶轨迹聚类结果的准确度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种船舶轨迹聚类方法的流程图;

图2是本发明一个实施例提供的一种三个rbm层的训练过程的示意图;

图3是本发明另一个实施例提供的一种船舶轨迹聚类方法的流程图;

图4是本发明一个实施例提供的一种船舶轨迹聚类装置所在设备的一种硬件结构图;

图5是本发明一个实施例提供的一种船舶轨迹聚类装置的结构示意图;

图6是本发明另一个实施例提供的一种船舶轨迹聚类装置的结构示意图;

图7是本发明一个实施例提供的一种包括处理模块的船舶轨迹聚类装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种船舶轨迹聚类方法,该方法可以包括以下步骤:

步骤101:设置至少两个受限玻尔兹曼机rbm层,其中,所述至少两个rbm层分别对应不同的等级;

步骤102:利用等级最低的rbm层对船舶自动识别系统ais数据进行训练,得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将得到的船舶轨迹训练结果数据传输给下一个等级的rbm层;

步骤103:利用每一个所述rbm层分别对上一个等级的rbm层传输来的船舶轨迹训练结果数据进行训练,分别得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将得到的船舶轨迹训练结果数据传输给下一个等级的rbm层;

步骤104:对各个所述rbm层分别得到的船舶轨迹训练特征权重进行聚类训练,得到所述ais数据对应的船舶轨迹聚类结果。

根据图1所示的实施例,首先设置两个或多个分别对应不同等级的rbm层。然后利用等级最低的rbm层对ais数据进行训练,得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将船舶轨迹训练结果数据传输给下一个等级的rbm层。再利用非等级最低的各个rbm层分别对上一个等级的rbm层传输来的船舶轨迹训练结果数据进行训练,分别得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将得到的船舶轨迹训练结果数据传输给下一个等级的rbm层。最后汇总各个rbm层分别得到的船舶轨迹训练特征权重,并进行聚类训练得到ais数据对应的船舶轨迹聚类结果。通过上述可知,在本方案中由于利用各个rbm层一层接一层的连续对ais数据进行训练,并对各个rbm层分别得到的船舶轨迹训练特征权重进行聚类训练,得到船舶轨迹聚类结果。因此本发明实施例提供的方案可以提高船舶轨迹聚类结果的准确度。

在本发明一个实施例中,rbm层的数量可以根据ais数据的数据量、预设的总的训练时间以及精确度要求进行确定。

在本实施例中,rbm层的数量可以根据公式(2)确定。

其中,n表征rbm层的数量;表征预设的精确度;t表征预设的总的训练时间;w表征ais数据的数据量。

在本发明一个实施例中,每一个rbm层中用于对数据进行训练的算法可以根据业务要求确定。比如,可以为dbn(deepbeliefnetwork)算法。

在本发明一个实施例中,在每一个所述rbm层分别具有对应的预设迭代次数时,

上述图1所示流程图中的步骤103中所涉及的利用每一个所述rbm层分别对上一个等级的rbm层传输来的船舶轨迹训练结果数据进行训练,分别得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,可以包括:

针对每一个所述rbm层均执行:

a1:利用所述rbm层将上一个等级的rbm层传输来的船舶轨迹训练结果数据训练成可视层船舶轨迹数据;

a2:将当前可视层船舶轨迹数据训练成隐藏层船舶轨迹数据;

a3:将当前隐藏层船舶轨迹数据训练成新的可视层船舶轨迹数据,并记录为1次迭代;

a4:判断被记录迭代的次数总和是否达到所述rbm层对应的预设迭代次数,如果是,执行a6;否则,执行a5;

a5:将新的可视层船舶轨迹数据作为当前可视层船舶轨迹数据继续执行a2;

a6:将当前隐藏层船舶轨迹数据确定为所述rbm层对应的船舶轨迹训练结果数据,以及根据当前隐藏层船舶轨迹数据以及当前可视层船舶轨迹数据确定出所述rbm层的船舶轨迹训练特征权重。

在本实施例中,每一个rbm层分别对应的迭代次数均可以根据业务要求。比如,要求训练结果精确度高时,则确定较多的迭代次数。迭代次数可以存在以下两种情况:情况一,每一个rbm层可以均对应相同的迭代次数;情况二,每一个rbm层分别对应不同的迭代次数,且随着rbm层等级的提高,迭代次数变多。

在本实施例中,下面以存在三个rbm层,且每一个rbm层对应的迭代次数分别为30次(如图2所示,包括rbm层201、rbm层202以及rbm层203)进行说明:

利用rbm层201加载ais数据,并将ais数据训练成可视层船舶轨迹数据,然后将当前可视层船舶轨迹数据训练成隐藏层船舶轨迹数据,之后再将当前隐藏层船舶轨迹数据训练成新的可视层船舶轨迹数据2011,并记录为1次迭代。rbm层201将数据循环的训练成可视层船舶轨迹数据以及隐藏层船舶轨迹数据。直到被记录迭代的次数总和达到rbm层201对应的预设迭代次数30。在达到预设迭代次数30时,得到rbm层201的船舶轨迹训练特征权重,并将当前隐藏层船舶轨迹数据传输给rbm层202。(图2中1a代表可视层船舶轨迹数据,1b代表隐藏层船舶轨迹数据)。

利用rbm层202接收rbm层201传输来的隐藏层船舶轨迹数据,并将传输来的隐藏层船舶轨迹数据训练成可视层船舶轨迹数据,然后将当前可视层船舶轨迹数据训练成隐藏层船舶轨迹数据,之后再将当前隐藏层船舶轨迹数据训练成新的可视层船舶轨迹数据,并记录为1次迭代。rbm层202将数据循环的训练成可视层船舶轨迹数据以及隐藏层船舶轨迹数据。直到被记录迭代的次数总和达到rbm层202对应的预设迭代次数30。在达到预设迭代次数30时,得到rbm层202的船舶轨迹训练特征权重,并将当前隐藏层船舶轨迹数据传输给rbm层203。(图2中2a代表可视层船舶轨迹数据,2b代表隐藏层船舶轨迹数据)。

利用rbm层203接收rbm层202传输来的隐藏层船舶轨迹数据,并将传输来的隐藏层船舶轨迹数据训练成可视层船舶轨迹数据,然后将当前可视层船舶轨迹数据训练成隐藏层船舶轨迹数据,之后再将当前隐藏层船舶轨迹数据训练成新的可视层船舶轨迹数据,并记录为1次迭代。rbm层203将数据循环的训练成可视层船舶轨迹数据以及隐藏层船舶轨迹数据。直到被记录迭代的次数总和达到rbm层203对应的预设迭代次数30。在达到预设迭代次数30时,得到rbm层203的船舶轨迹训练特征权重。由于不存在下一个等级的rbm层,因此不再传输当前隐藏层船舶轨迹数据(图2中3a代表可视层船舶轨迹数据,3b代表隐藏层船舶轨迹数据)。

根据上述实施例,由于每一个rbm层是根据对应的迭代次数,循环往复的将数据训练成可视层船舶轨迹数据以及隐藏层船舶轨迹数据。因此训练的较为全面,且精确度较高。

在本发明一个实施例中,在每一个所述rbm层还分别具有对应的待训节点数量时,

步骤a1利用所述rbm层将上一个等级的rbm层传输来的船舶轨迹训练结果数据训练成可视层船舶轨迹数据,可以包括:

根据所述rbm层对应的待训节点数量确定出数据筛选条件;

根据所述数据筛选条件,在所述上一个等级的rbm层传输来的船舶轨迹训练结果数据中筛选出参加训练的待训船舶轨迹数据;

将所述待训船舶轨迹数据训练成可视层船舶轨迹数据。

在本实施例中,每一个rbm层分别对应的待训节点数量均可以根据业务要求。比如,要求训练结果精确度高时,则确定较少的待训节点数量。待训节点数量可以存在以下两种情况:情况一,每一个rbm层可以均对应相同的待训节点数量;情况二,每一个rbm层分别对应不同的待训节点数量,且随着rbm层等级的提高,待训节点数量变少。

在本实施例中,ais数据中可以包括但不限于多个航行速度数据、多个航行方向数据、多个航行风速等。

在本实施例中,在rbm层将上一个等级的rbm层传输来的船舶轨迹训练结果数据或ais数据时,可以根据对应的待训节点数量确定出筛选条件(其中,待训节点数量越少,确定出的筛选条件越苛刻),以从接收的数据中筛选出满足筛选条件的数据。

在本实施例中,比如,如图2所示的rbm层202对应的待训节点数量为300。则根据该待训节点数量为300确定出的筛选条件为航行速度大于50、航行方向为向北纬10°至北纬60°之间、航行风速小于10。则在rbm层201传输来的隐藏层船舶轨迹数据中筛选出满足上述要求的300条数据,之后在进行训练。

根据上述实施例,由于每一个rbm层在对传输来的数据进行训练之前,可先根据对应的待训节点数量确定出数据筛选条件,并根据数据筛选条件在传输来的数据中筛选出满足要求的待训船舶轨迹数据。之后才对待训船舶轨迹数据进行训练。由于在训练之前先对数据进行筛选,缩小了参加训练的数据量,因此,在保证训练准确度的前提下可以提高训练速度。

在本发明一个实施例中,步骤a6中所涉及的根据当前隐藏层船舶轨迹数据以及当前可视层船舶轨迹数据确定出所述rbm层的船舶轨迹训练特征权重,可以包括:

确定所述当前隐藏层船舶轨迹数据包括的至少一个隐藏层船舶轨迹参数值以及所述当前可视层船舶轨迹数据包括的至少一个可视层船舶轨迹参数值,并通过公式(1)确定出所述rbm层的船舶轨迹训练特征权重;

其中,所述ai表征隐藏层船舶轨迹数据中的第i个隐藏层船舶轨迹参数值;所述α表征预设的第一偏置值;所述bj表征可视层船舶轨迹数据中的第j个可视层船舶轨迹参数值;所述β表征预设的第二偏置值;所述w表征所述rbm层的船舶轨迹训练特征权重。

在本发明一个实施例中,上述图1所示流程图中的步骤104对各个所述rbm层分别得到的船舶轨迹训练特征权重进行聚类训练,得到所述ais数据对应的船舶轨迹聚类结果,可以包括:

将各个所述rbm层分别得到的船舶轨迹训练特征权重训练成初始聚类中心;

使用fcm(fuzzyc-means)算法对初始聚类中心进行训练,并调整优化得到所述ais数据对应的船舶轨迹聚类结果。

在本发明一个实施例中,在上述图1所示流程图中的步骤101所述利用等级最低的rbm层对ais数据进行训练之前,可以进一步包括:

对所述ais数据进行归一化处理。

在本实施例中,将ais数据进行归一化处理,以将ais数据中有量纲的数据,经过变换,均转化为无量纲的ais数据成为标量。

根据上述实施例,等级最低的rbm层对ais数据进行训练之前,需要对ais数据进行归一化处理,然后才对归一化处理后的ais数据进行训练。由于归一化处理后的ais数据中包括的各个数据均具有统一基本度量单位,因此可以提高各个rbm层的训练速度。

下面以存在ais数据1为例。展开说明船舶轨迹聚类方法,如图3所示,该船舶轨迹聚类方法可以包括如下步骤:

步骤301:设置至少两个rbm层,其中,至少两个rbm层分别对应不同的等级,且每一个rbm层分别具有对应的预设迭代次数以及待训节点数量。

在本步骤中,rbm层的数量可以根据ais数据1的数据量、预设的总的训练时间以及精确度要求,利用公式(2)进行设置。

设置了3个rbm层:rbm层201、rbm层202以及rbm层203。其中,rbm层201、rbm层202以及rbm层203分别对应的迭代次数均为30次;rbm层201、rbm层202以及rbm层203分别对应的待训节点数量为500、300、100。

步骤302:对ais数据进行归一化处理。

在本步骤中,将ais数据1进行归一化处理,以将ais数据1中有量纲的数据,经过变换,均转化为无量纲的ais数据成为标量。

步骤303:利用等级最低的rbm层加载归一化处理后的ais数据。

在本步骤中,利用等级最低的rbm层1加载步骤302归一化处理后的ais数据1。

步骤304:根据当前rbm层对应的待训节点数量确定出数据筛选条件。

在本步骤中,根据rbm层1对应的待训节点数量500确定出的筛选条件为航行速度大于30、航行方向为向北纬5°至北纬900°之间、航行风速小于60。

步骤305:根据数据筛选条件,在传输来的数据中筛选出参加训练的待训船舶轨迹数据。

在本步骤中,根据步骤304中确定出的数据筛选条件,在传输来的数据“归一化处理后的ais数据”中筛选出参加训练的待训船舶轨迹数据1。

步骤306:利用当前rbm层将待训船舶轨迹数据训练成可视层船舶轨迹数据。

在本步骤中,利用rbm层1将待训船舶轨迹数据1训练成可视层船舶轨迹数据。

步骤307:将当前可视层船舶轨迹数据训练成隐藏层船舶轨迹数据。

步骤308:将当前隐藏层船舶轨迹数据训练成新的可视层船舶轨迹数据,并记录为1次迭代。

步骤309:判断被记录迭代的次数总和是否达到当前rbm层对应的预设迭代次数,如果是,执行步骤311;否则,执行步骤310。

在本步骤中,在判断出被记录迭代次数总和未到达30时,执行步骤310;在判断出被记录迭代次数总和到达30时,执行步骤311。

步骤310:将新的可视层船舶轨迹数据作为当前可视层船舶轨迹数据,继续执行步骤307。

步骤311:将当前隐藏层船舶轨迹数据确定为训练结果数据。

步骤312:确定当前隐藏层船舶轨迹数据包括的至少一个隐藏层船舶轨迹参数值以及当前可视层船舶轨迹数据包括的至少一个可视层船舶轨迹参数值,确定出当前rbm层的船舶轨迹训练特征权重。

在本步骤中,可以根据公式(1)计算出rbm层1的船舶轨迹训练特征权重。

步骤313:判断是否存在下一个等级的rbm层,如果是,执行步骤314;否则,执行步骤315。

在本步骤中,在rbm层1执行训练完成后,继续对rbm层2以及rbm层3执行训练过程。

步骤314:将得到的船舶轨迹训练结果数据传输给下一个等级的rbm层,将下一个等级的rbm层作为当前rbm层,执行步骤304。

步骤315:对各个rbm层分别得到的船舶轨迹训练特征权重进行聚类训练,得到ais数据对应的船舶轨迹聚类结果。

在本步骤中,在各个rbm层分别得到对应的船舶轨迹训练特征权重之后,将各个rbm层分别得到的船舶轨迹训练特征权重训练成初始聚类中心。使用fcm算法对初始聚类中心进行训练,并调整优化得到ais数据对应的船舶轨迹聚类结果。在得到船舶轨迹聚类结果之后,可以将船舶轨迹聚类结果应用到船舶行驶中,以在船舶行驶过程中对船舶轨迹进行预测。

如图4、图5所示,本发明实施例提供了一种船舶轨迹聚类装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图4所示,为本发明实施例提供的船舶轨迹聚类装置所在设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图5所示,作为一个逻辑意义上的装置,是通过其所在设备的cpu将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的船舶轨迹聚类装置,包括:

设置模块501,用于设置至少两个受限玻尔兹曼机rbm层,其中,所述至少两个rbm层分别对应不同的等级;

第一训练模块502,用于利用等级最低的rbm层对船舶自动识别系统ais数据进行训练,得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将得到的船舶轨迹训练结果数据传输给下一个等级的rbm层;

第二训练模块503,用于利用每一个所述rbm层分别对上一个等级的rbm层传输来的船舶轨迹训练结果数据进行训练,分别得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将得到的船舶轨迹训练结果数据传输给下一个等级的rbm层;

聚类模块504,用于对各个所述rbm层分别得到的船舶轨迹训练特征权重进行聚类训练,得到所述ais数据对应的船舶轨迹聚类结果。

根据图5所示的实施例,利用设置模块设置两个或多个分别对应不同等级的rbm层。然后第一训练模块利用等级最低的rbm层对ais数据进行训练,得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将船舶轨迹训练结果数据传输给下一个等级的rbm层。再利用第二训练模块对非等级最低的各个rbm层分别对上一个等级的rbm层传输来的船舶轨迹训练结果数据进行训练,分别得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将得到的船舶轨迹训练结果数据传输给下一个等级的rbm层。最后利用聚类模块汇总各个rbm层分别得到的船舶轨迹训练特征权重,并进行聚类训练得到ais数据对应的船舶轨迹聚类结果。通过上述可知,在本方案中由于利用各个rbm层一层接一层的连续对ais数据进行训练,并对各个rbm层分别得到的船舶轨迹训练特征权重进行聚类训练,得到船舶轨迹聚类结果。因此本发明实施例提供的方案可以提高船舶轨迹聚类结果的准确度。

在本发明一个实施例中,在每一个所述rbm层分别具有对应的预设迭代次数时,

所述第二训练模块503,用于针对每一个所述rbm层均执行:

a1:利用所述rbm层将上一个等级的rbm层传输来的船舶轨迹训练结果数据训练成可视层船舶轨迹数据;

a2:将当前可视层船舶轨迹数据训练成隐藏层船舶轨迹数据;

a3:将当前隐藏层船舶轨迹数据训练成新的可视层船舶轨迹数据,并记录为1次迭代;

a4:判断被记录迭代的次数总和是否达到所述rbm层对应的预设迭代次数,如果是,执行a6;否则,执行a5;

a5:将新的可视层船舶轨迹数据作为当前可视层船舶轨迹数据继续执行a2;

a6:将当前隐藏层船舶轨迹数据确定为所述rbm层对应的船舶轨迹训练结果数据,以及根据当前隐藏层船舶轨迹数据以及当前可视层船舶轨迹数据确定出所述rbm层的船舶轨迹训练特征权重。

在本发明一个实施例中,如图6所示,在每一个所述rbm层还分别具有对应的待训节点数量时,

所述第二训练模块503可以包括:筛选子模块5031以及训练子模块5032;

所述筛选子模块5031,用于根据所述rbm层对应的待训节点数量确定出数据筛选条件;根据所述数据筛选条件,在所述上一个等级的rbm层传输来的船舶轨迹训练结果数据中筛选出参加训练的待训船舶轨迹数据;

所述训练子模块5032,用于将所述筛选子模块5031筛选出的所述待训船舶轨迹数据训练成可视层船舶轨迹数据。

在本发明一个实施例中,如图6所示,所述第二训练模块503可以包括:权重确定模块5033;

所述权重确定模块5033,用于确定所述当前隐藏层船舶轨迹数据包括的至少一个隐藏层船舶轨迹参数值以及所述当前可视层船舶轨迹数据包括的至少一个可视层船舶轨迹参数值,并通过公式(1)确定出所述rbm层的船舶轨迹训练特征权重;

其中,所述ai表征隐藏层船舶轨迹数据中的第i个隐藏层船舶轨迹参数值;所述α表征预设的第一偏置值;所述bj表征可视层船舶轨迹数据中的第j个可视层船舶轨迹参数值;所述β表征预设的第二偏置值;所述w表征所述rbm层的船舶轨迹训练特征权重。

在本发明一个实施例中,如图7所示,船舶轨迹聚类装置可以进一步包括:处理模块601;

所述处理模块601,用于对所述ais数据进行归一化处理。

在本发明一个实施例提供了一种可读介质,该可读介质包括:执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述任一项所述的船舶轨迹聚类方法。

在本发明一个实施例提供了一种存储控制器,该存储控制器包括:处理器、存储器和总线;所述存储器用于存储执行指令;所述处理器与所述存储器通过所述总线连接;当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述任一项所述的船舶轨迹聚类方法。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

综上所述,本发明各个实施例至少可以实现如下有益效果:

1、在本发明实施例中,首先设置两个或多个分别对应不同等级的rbm层。然后利用等级最低的rbm层对ais数据进行训练,得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将船舶轨迹训练结果数据传输给下一个等级的rbm层。再利用非等级最低的各个rbm层分别对上一个等级的rbm层传输来的船舶轨迹训练结果数据进行训练,分别得到对应的船舶轨迹训练特征权重以及船舶轨迹训练结果数据,并将得到的船舶轨迹训练结果数据传输给下一个等级的rbm层。最后汇总各个rbm层分别得到的船舶轨迹训练特征权重,并进行聚类训练得到ais数据对应的船舶轨迹聚类结果。通过上述可知,在本方案中由于利用各个rbm层一层接一层的连续对ais数据进行训练,并对各个rbm层分别得到的船舶轨迹训练特征权重进行聚类训练,得到船舶轨迹聚类结果。因此本发明实施例提供的方案可以提高船舶轨迹聚类结果的准确度。

2、在本发明实施例中,由于每一个rbm层是根据对应的迭代次数,循环往复的将数据训练成可视层船舶轨迹数据以及隐藏层船舶轨迹数据。因此训练的较为全面,且精确度较高。

3、在本发明实施例中,由于每一个rbm层在对传输来的数据进行训练之前,可先根据对应的待训节点数量确定出数据筛选条件,并根据数据筛选条件在传输来的数据中筛选出满足要求的待训船舶轨迹数据。之后才对待训船舶轨迹数据进行训练。由于在训练之前先对数据进行筛选,缩小了参加训练的数据量,因此,在保证训练准确度的前提下可以提高训练速度。

4、在本发明实施例中,等级最低的rbm层对ais数据进行训练之前,需要对ais数据进行归一化处理,然后才对归一化处理后的ais数据进行训练。由于归一化处理后的ais数据中包括的各个数据均具有统一基本度量单位,因此可以提高各个rbm层的训练速度。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1