pub struct NegEntropy;Expand description
Negative-entropy Bregman generator: (F(x) = \sum_i x_i \ln x_i), (\nabla F(x)_i = 1 + \ln x_i).
The Bregman divergence with this generator is the (unnormalized) KL divergence: (B_F(p, q) = \sum_i p_i \ln(p_i / q_i) - \sum_i (p_i - q_i)). When (p) and (q) are normalized (simplex), the second sum vanishes and (B_F = D_{KL}(p | q)).
This connects the information-theoretic (f-divergence) and geometric (Bregman) views of KL divergence. The dually-flat structure of the probability simplex under this generator is the foundation of information geometry (Amari & Nagaoka, 2000).
Trait Implementations§
Source§impl BregmanGenerator for NegEntropy
impl BregmanGenerator for NegEntropy
Source§impl Clone for NegEntropy
impl Clone for NegEntropy
Source§fn clone(&self) -> NegEntropy
fn clone(&self) -> NegEntropy
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NegEntropy
impl Debug for NegEntropy
Source§impl Default for NegEntropy
impl Default for NegEntropy
Source§fn default() -> NegEntropy
fn default() -> NegEntropy
Returns the “default value” for a type. Read more
impl Copy for NegEntropy
Auto Trait Implementations§
impl Freeze for NegEntropy
impl RefUnwindSafe for NegEntropy
impl Send for NegEntropy
impl Sync for NegEntropy
impl Unpin for NegEntropy
impl UnsafeUnpin for NegEntropy
impl UnwindSafe for NegEntropy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more