pub struct Finite {
pub prior: Option<f64>,
pub pmf: Array1<f64>,
/* private fields */
}
Fields§
§prior: Option<f64>
§pmf: Array1<f64>
Implementations§
Trait Implementations§
source§impl Latent<Finite> for Finite
impl Latent<Finite> for Finite
FIXME compute the likelihood.. is it just the sum of all?
fn expect( &self, data: &<Finite as Parametrizable>::DataIn<'_>, likelihood_b: &<Finite as Parametrizable>::Likelihood ) -> Result<(<Finite as Parametrizable>::Likelihood, AvgLLH), Error>
source§impl Parametrizable for Finite
impl Parametrizable for Finite
type SufficientStatistics = ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>
type Likelihood = ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>
type DataIn<'a> = ArrayBase<ViewRepr<&'a f64>, Dim<[usize; 2]>>
type DataOut = ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>
source§fn expect(
&self,
_data: &Self::DataIn<'_>
) -> Result<(Self::Likelihood, AvgLLH), Error>
fn expect( &self, _data: &Self::DataIn<'_> ) -> Result<(Self::Likelihood, AvgLLH), Error>
The E-Step. Computes the likelihood for each component in the mixture
Note that for
Mixables
, this is the log-likelihoodsource§fn compute(
&self,
_data: &Self::DataIn<'_>,
responsibilities: &Self::Likelihood
) -> Result<Self::SufficientStatistics, Error>
fn compute( &self, _data: &Self::DataIn<'_>, responsibilities: &Self::Likelihood ) -> Result<Self::SufficientStatistics, Error>
Computes the sufficient statistics from the responsibility matrix. The
Optionally, stores the
sufficient statistics (for incremental learning and store.restore functionality)
can be disabled for performance (defaults to
True
)source§fn maximize(
&mut self,
sufficient_statistics: &Self::SufficientStatistics
) -> Result<(), Error>
fn maximize( &mut self, sufficient_statistics: &Self::SufficientStatistics ) -> Result<(), Error>
Maximize the model parameters from
fn predict(&self, _data: &Self::DataIn<'_>) -> Result<Self::DataOut, Error>
source§fn update(
&mut self,
sufficient_statistics: &Self::SufficientStatistics,
weight: f64
) -> Result<(), Error>
fn update( &mut self, sufficient_statistics: &Self::SufficientStatistics, weight: f64 ) -> Result<(), Error>
Update the stored sufficient statistics (for incremental learning)
Weights is a tuple (a float should suffice, if summing to one)
source§fn merge(
sufficient_statistics: &[&Self::SufficientStatistics],
weights: &[f64]
) -> Result<Self::SufficientStatistics, Error>
fn merge( sufficient_statistics: &[&Self::SufficientStatistics], weights: &[f64] ) -> Result<Self::SufficientStatistics, Error>
merge multiple sufficient statistics into one.
source§fn expect_rand(
&self,
data: &Self::DataIn<'_>,
k: usize
) -> Result<Self::Likelihood, Error>
fn expect_rand( &self, data: &Self::DataIn<'_>, k: usize ) -> Result<Self::Likelihood, Error>
Generate a random expectation. Used as an initalization. It is recommended
to draw the expectations from a univorm Dirichlet distribution.
Note: This works better than an initialization method, because the layers
such as the
Probabilistic
trait don’t need to implement backend-specific
random samplers.Auto Trait Implementations§
impl RefUnwindSafe for Finite
impl Send for Finite
impl Sync for Finite
impl Unpin for Finite
impl UnwindSafe for Finite
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
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.