@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
65 lines (64 loc) • 1.83 kB
TypeScript
/**
* 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 {};