我正在处理一个设置如下的问题:
我们给出了一个离散距离矩阵D,它表示集合{x_1,…,x_100}中对象之间的成对距离,即D_ij=x_i,x_j
我使用多维标度将这个距离矩阵嵌入到二维欧几里德空间,这样就得到了一个[100 x 2]矩阵
我对~10000个离散距离矩阵重复这一步骤[全部用于100个对象]
现在,我想训练一个神经网络来学习函数f:R^2-->;R、 它将这些[100 x 2]多维缩放矩阵中的一个作为输入,并输出一个[100 x 1]数组
损失函数应该是函数L:D x R^3-->;R、 其中,它将所使用的MDS矩阵的相应距离矩阵D作为输入,以及将[100 x 2]MDS矩阵阵列与神经网络输出的[100 x 1]函数(即[100 x 3]阵列)串联。我们把这个矩阵称为M
具体损失将是差值的平方和(Dïij-距离(Mïi,Mïj))**2。但是,我使用的距离函数不是欧几里德距离函数,而是神经网络创建的流形上的距离。我已经为这些距离写了一个近似算法,但是
我需要传递流形嵌入函数(即神经网络返回的函数)作为输入。因此,如果不确切地知道神经网络如何作用于R^2到R中的一个点,我就无法计算损失函数
有人知道如何提取R^2-->;从神经网络中提取R函数,然后在这个损失函数上训练网络?我也愿意使用Keras以外的框架
抱歉,这太复杂了
目前没有回答
相关问题 更多 >
编程相关推荐