pub struct GlobalAlignmentKernel {
pub sigma: f64,
pub gamma: f64,
pub normalize: bool,
}Expand description
Global Alignment Kernel (GAK) for time series
GAK is a kernel that computes similarity between time series using a global alignment approach with a triangular smoothing kernel. It’s related to DTW but uses a differentiable soft-DTW formulation.
K_GAK(x, y, σ) = exp(-γ * GA_σ(x, y))
where GA_σ is the global alignment distance with bandwidth σ.
References:
- Cuturi, M. (2011). Fast global alignment kernels.
- Cuturi, M. & Blondel, M. (2017). Soft-DTW: a differentiable loss function for time-series.
Fields§
§sigma: f64Bandwidth parameter for triangular kernel
gamma: f64Gamma parameter for RBF transformation
normalize: boolWhether to normalize
Implementations§
Trait Implementations§
Source§impl Clone for GlobalAlignmentKernel
impl Clone for GlobalAlignmentKernel
Source§fn clone(&self) -> GlobalAlignmentKernel
fn clone(&self) -> GlobalAlignmentKernel
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 GlobalAlignmentKernel
impl Debug for GlobalAlignmentKernel
Source§impl Default for GlobalAlignmentKernel
impl Default for GlobalAlignmentKernel
Source§impl Kernel for GlobalAlignmentKernel
impl Kernel for GlobalAlignmentKernel
Source§fn compute(&self, x: ArrayView1<'_, f64>, y: ArrayView1<'_, f64>) -> f64
fn compute(&self, x: ArrayView1<'_, f64>, y: ArrayView1<'_, f64>) -> f64
Compute kernel value between two vectors
Auto Trait Implementations§
impl Freeze for GlobalAlignmentKernel
impl RefUnwindSafe for GlobalAlignmentKernel
impl Send for GlobalAlignmentKernel
impl Sync for GlobalAlignmentKernel
impl Unpin for GlobalAlignmentKernel
impl UnsafeUnpin for GlobalAlignmentKernel
impl UnwindSafe for GlobalAlignmentKernel
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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