pub enum InitStrategy {
Random,
RandomNormal,
Svd,
Nnsvd,
LeverageScore,
}Expand description
Initialization strategy for CP-ALS
Variants§
Random
Random initialization from uniform distribution [0, 1]
RandomNormal
Random initialization from normal distribution N(0, 1)
Svd
SVD-based initialization (HOSVD)
Nnsvd
Non-negative SVD initialization (NNSVD)
Based on Boutsidis & Gallopoulos (2008). Uses SVD with non-negativity constraints, suitable for non-negative decompositions (e.g., topic modeling, NMF-style).
LeverageScore
Leverage score sampling initialization
Based on statistical leverage scores from SVD. Samples important rows/columns based on their contribution to the low-rank approximation. More principled than random initialization for large-scale tensors.
Trait Implementations§
Source§impl Clone for InitStrategy
impl Clone for InitStrategy
Source§fn clone(&self) -> InitStrategy
fn clone(&self) -> InitStrategy
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for InitStrategy
impl Debug for InitStrategy
impl Copy for InitStrategy
Auto Trait Implementations§
impl Freeze for InitStrategy
impl RefUnwindSafe for InitStrategy
impl Send for InitStrategy
impl Sync for InitStrategy
impl Unpin for InitStrategy
impl UnwindSafe for InitStrategy
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)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>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more