UNPKG

@ai-on-browser/data-analysis-models

Version:

Data analysis model package without any dependencies

65 lines (64 loc) 1.83 kB
/** * Gaussian Process Latent Variable Model */ export default class GPLVM { /** * @param {number} rd Reduced dimension * @param {number} alpha Precision parameter * @param {number} [ez] Learning rate for z * @param {number} [ea] Learning rate for alpha * @param {number} [ep] Learning rate for kernel * @param {'gaussian' | { name: 'gaussian', a?: number, b?: number}} [kernel] Kernel name */ constructor(rd: number, alpha: number, ez?: number, ea?: number, ep?: number, kernel?: 'gaussian' | { name: 'gaussian'; a?: number; b?: number; }); _rd: number; _alpha: number; _kernel: GaussianKernel; _ez: number; _ea: number; /** * Initialize model. * @param {Array<Array<number>>} x Training data */ init(x: Array<Array<number>>): void; _x: Matrix<number[]>; _z: Matrix<number>; _s: Matrix<number>; /** * Fit model. */ fit(): void; /** * Returns log likelihood. * @returns {number} Log likelihood */ llh(): number; /** * Returns reduced datas. * @returns {Array<Array<number>>} Predicted values */ predict(): Array<Array<number>>; /** * Returns reconstruct datas. * @param {Array<Array<number>>} z Sample data * @returns {Array<Array<number>>} Predicted values */ reconstruct(z: Array<Array<number>>): Array<Array<number>>; } declare class GaussianKernel { constructor(a?: number, b?: number, e?: number); _a: number; _b: number; _e: number; _calc(x0: any, x1: any): number; _grad(x0: any, x1: any, k: any): Matrix<number>; calc(x: any, y: any): Matrix<T>; grad(x: any, k: any): Matrix<T>; update(x: any, k: any, G: any): void; } import Matrix from '../util/matrix.js'; export {};