base_c.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:adversarial-variational-bayes 作者: gdikov 项目源码 文件源码
def estimation(self, y1, y2):
        """ Estimate cross-entropy.

        Parameters
        ----------
        y1 : (number of samples1, dimension)-ndarray
             One row of y1 corresponds to one sample.
        y2 : (number of samples2, dimension)-ndarray
             One row of y2 corresponds to one sample.

        Returns
        -------
        c : float
            Estimated cross-entropy.

        References
        ----------
        Nikolai Leonenko, Luc Pronzato, and Vippal Savani. A class of
        Renyi information estimators for multidimensional densities.
        Annals of Statistics, 36(5):2153-2182, 2008.

        Examples
        --------
        c = co.estimation(y1,y2)  

        """

        # verification:
        self.verification_equal_d_subspaces(y1, y2)

        num_of_samples2, dim = y2.shape  # number of samples, dimension

        # computation:
        v = volume_of_the_unit_ball(dim)
        distances_y2y1 = knn_distances(y2, y1, False, self.knn_method,
                                       self.k, self.eps, 2)[0]
        c = log(v) + log(num_of_samples2) - psi(self.k) + \
            dim * mean(log(distances_y2y1[:, -1]))

        return c
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号