【发布时间】:2018-09-22 10:19:09
【问题描述】:
我正在尝试在 Tensorflow 中编写核密度估计算法。
在拟合 KDE 模型时,我正在遍历当前批次中的所有数据,并且我正在使用 tensorflow.contrib.distributions.MultivariateNormalDiag 对象为每个数据创建一个内核:
self.kernels = [MultivariateNormalDiag(loc=data, scale=bandwidth) for data in X]
稍后,当尝试预测数据点相对于上面拟合的模型的可能性时,对于我正在评估的每个数据点,我将上面每个内核给出的概率相加:
tf.reduce_sum([kernel._prob(X) for kernel in self.kernels], axis=0)
这种方法仅在 X 是一个 numpy 数组时才有效,因为 TF 不允许您遍历张量。我的问题是,是否有办法使上述算法与X 一起作为tf.Tensor 或tf.Variable 工作?
【问题讨论】:
标签: python tensorflow kernel-density