本发明涉及人工智能,尤其涉及一种基于距离几何的商品分类方法。
背景技术:
1、图数据:在大数据时代,社会生活中数据量增长速度惊人。数据的组织形式也由表格等结构化数据为主逐渐转变为图像、文本、图等非结构化数据为主。其中,图数据是从实体及实体之间的关系抽象出的数据结构。在实际生活中常见的图数据有社交网络、分子图、担保关系网络等。
2、图神经网络:图神经网络是一种特殊的神经网络,在工业界中被广泛应用于流量预测、推荐系统、分子性质预测等任务中。图神经网络以基于图神经网络的推荐系统为例,首先将用户和商品抽象成节点,将用户之间的关注关系、用户与商品之间的交互关系、商品之间的相似关系等建模成图的边,然后将该图的结构连同用户、商品的特征输入到图神经网络中,学习出用户和商品的表示向量,然后基于用户和商品表示向量之间的相似度进行排序推荐。
3、几何图神经网络:几何图神经网络是一类特殊的图神经网络,这类图神经网络区别于其他图神经网络的特点是它们在设计网络结构时考虑到等变性、不变性等几何对称性。以基于图神经网络分子分类为例,首先将分子中的原子抽象成节点,将分子之间的化学键建模成边,然后将该图的结构以及分子的种类信息和相对位置作为特征一并输入到几何图神经网络中,学习出整个分子图的表示向量,进而用于分子的分类预测。
4、图的同异配性:如果图中用边联系起的节点倾向于属于同一个类别,或者具有某些相同的特征,则称这个图具有同配性。反之,不具有这种性质的图则被称为具有异配性。现有的多数图神经网络在聚合邻居节点的特征时,都在无意识中做出了图具有同配性这一假设。这种假设导致图神经网络学出的各个节点的表示向量十分接近,难以区分。同时,在现实中也有许多图并不满足同配性,比如当用户-商品交互图中不只有“关注”、“喜欢”等正向反馈关系,还有“不想看”、“不喜欢”等负向反馈关系时,基于同配性假设的图神经网络则会忽略这些负向关系,导致图神经网络在面对这些图时表现较差。
5、图神经网络的通用性最近受到广泛的研究。设计一种通用的图神经网络,意味着这种图神经网络能处理更多种类的图,如具有同配性的论文引用网络、社交媒体关注网络,以及具有异配性的分子图等,从而具有更广的适用场景。现有的通用图神经网络大多从谱域角度入手,尝试设计能拟合任意滤波器的图神经网络。但是,如何从空域角度特别是几何角度设计一个用于商品分类的通用图神经网络仍然没有很明确的理论基础和实践方法。
6、现有技术一为:图同构网络(gin)。该技术是一种空域图神经网络技术。空域图神经网络是指设计图上的消息传递过程,通过节点间交换信息来学习节点的抽象表示。图同构网络是第一个将weisfeiler-lehman(wl)图同构测试算法与图神经网络表达能力联系起来的模型。该模型在消息传递时,将周围节点的特征以及本节点的特征聚合起来,然后经过一个多层感知机(mlp),得到该节点更新后的表示。该模型的作者们宣称,所有基于消息传递机制的图神经网络的表达能力在某些前提下以wl图同构测试为上界,即任何此类模型的表达能力都不会强于wl图同构测试。该模型的作者还称他们设计的图同构网络已经达到这个上界。
7、(1)表达能力事实上较为受限。使用“能否模拟wl图同构测试算法”作为衡量图神经网络表达能力的判据不一定合理。事实上,图同构测试只是尝试判断两个图的拓扑结构是否相同,对图中节点的具体含义并不关心。此外,该技术仅考虑图的拓扑结构,而忽略了各个节点的表示向量在空间中的距离,可能对该图神经网络的表达能力也有限制。
8、(2)通用性受限,不能泛化到异配图上。图同构网络聚合邻居节点时仍然使用了同配性假设,因此图同构网络在同配图上表现较好,但是在异配图上表现较差,泛化性较差。
9、现有技术二为:等变图神经网络(egnn)。该技术也是一种空域图神经网络。等变图神经网络是在一般的空域图神经网络上做相关修改,在设计消息传递的公式时考虑到几何对称性。更具体一些,该模型在聚合周围邻居节点的消息时,不只考虑了邻居节点的表示向量本身,还考虑了中心节点和邻居节点表示向量之间的距离等几何特征,从而给模型引入了几何对称性。
10、(1)在设计时只考虑了几何对称性,而不考虑几何上的通用性。具体来说,模型考虑了几何的对称性,即对图上各节点的特征向量进行旋转变换后学习到的表示向量,等于直接将原始表示向量输入到几何图神经网络中学习到的向量再进行旋转。但是具有这种对称性不一定表示模型具有通用性,如不能保证不相似的节点学习出的表示向量也不相似。
技术实现思路
1、为此,本发明首先提出一种基于距离几何的商品分类方法,包括步骤s1-s7:
2、步骤s1:将商品及商品之间的关系建模成图g,其中商品为节点,商品之间的关系为边,使用邻接矩阵a来表示,所有节点附带的特征形成矩阵x,训练集节点附带有标签y;
3、步骤s2:先使用多层感知机对商品的原始特征x进行维度变换,从原来的f维降低到d维,得到初始嵌入矩阵z0,其中z0=relu(relu(xwa+ba)wb+bb);
4、步骤s3:从z0中学习商品间的距离信息;
5、步骤s4:设置超参数α,β,γ,传播次数为k,执行下列过程k次,记k次传播后所得的商品嵌入矩阵为zk;
6、步骤s5:将k次传播后得到的矩阵zk经过一个线性变换降维,从原来的d维降低到类别数c维,得到预测矩阵数学形式为
7、步骤s6:使用交叉熵损失函数计算预测矩阵与真实标签y在训练集上的损失,之后使用反向传播算法优化所有可学习参数;
8、步骤s7:重复步骤s2至s7,直到算法在一定迭代步数内在验证集上的分类精度不再提升,则停止更新模型参数;将测试集商品的特征输入模型,经过步骤s2至s6,最终得到输出的预测。
9、步骤s3的具体实现方式分为以下几个子步骤:
10、步骤s3.1:使用另一个多层感知机对初始嵌入矩阵z0进行维度不变的变换,得到矩阵h,其中h=relu(relu(z0wc+bc)wd+bd);
11、步骤s3.2:对于图中有边相连的每一对商品(i,j),将h中i,j对应的表示向量连接成一个向量[hi||hj],然后与一个可学习的向量a做点乘,最后经过双曲正切函数得到商品i,j之间的相似度αij其中αij=tanh(at[hi||hj]);
12、步骤s3.3:对于图中有边相连的每一对商品(i,j),将上一步得到的相似度αij按照下列公式计算商品之间的距离mij:其中ε是一个小的正数,如10-5;z0,i以及z0,j是初始嵌入矩阵z0中商品i,j对应的表示向量;||x||表示向量的范数。
13、步骤s4还包括,在第k次传播过程中,对每一个商品节点i,执行下列步骤:
14、步骤s4.1:对商品i的每一个邻居商品节点j,计算然后将它们求和,记为zk,i以及zk,j是矩阵zk中商品i,j对应的表示向量;
15、步骤s4.2:对商品i的每一个邻居商品节点j,计算然后将它们求和,记为
16、步骤s4.3:将商品i的表示向量更新为t3=(1-α)t1+βt2+αz0,i。
17、步骤s4.4:将商品i的表示向量t3经过一个线性变换wk-1得到t4,即t4=t3wk-1;
18、步骤s4.5:将商品i的表示向量更新为zk,i=relu(γt4+(1-γ)t3)。
19、步骤s6中使用adam优化器,定义优化器的学习率以及l2正则项为超参数,在验证集上选择超参数。
20、本发明所要实现的技术效果在于:
21、(1)本发明在进行商品分类时,相比前文所述现有的技术,能提高分类精度;
22、(2)本发明不仅适用于同配图,还适用于异配图。只要设置相同类别的商品节点间的距离m_ij尽可能小,不同类别的商品节点间的距离m_ij尽量大,本发明能使学习到的商品的表示向量尽可能满足距离要求,从而能应对同配图和异配图场景。
23、(3)本发明在空域上具有可解释性,模型在进行商品分类时,学到的距离m_ij越大则表示两个商品越不相似,反之则表示两个商品越相似。
24、(4)本发明相比其它现有技术而言,仅增加了一个预测商品间相似度和距离的模块,在计算复杂度层面并没有增加模型的复杂性。