有什么方法可以从模型中返回一个函数?

2024-04-29 13:55:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理一个设置如下的问题:

  • 我们给出了一个离散距离矩阵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以外的框架

抱歉,这太复杂了


Tags: 对象函数gt距离空间步骤矩阵神经网络