UNPKG

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

Version:

Data analysis model package without any dependencies

82 lines (81 loc) 2.25 kB
/** * Restricted Boltzmann machine */ export class RBM { /** * @param {number} hiddenSize Size of hidden layer * @param {number} [lr] Learning rate */ constructor(hiddenSize: number, lr?: number); _hidden: number; _visible: number; _w: number[][]; _a: any[]; _b: any[]; _lr: number; _k: number; _normalize(x: any): void; _sgm(x: any): number; _h(v: any, sample?: boolean): any[][]; _v(h: any, sample?: boolean): any[][]; /** * Fit model. * @param {Array<Array<number>>} x Training data */ fit(x: Array<Array<number>>): void; /** * Return a energy value of the data. * @param {Array<number>} v Sample data * @param {Array<number>} h Target values * @returns {number} Energy value */ energy(v: Array<number>, h: Array<number>): number; /** * Returns predicted values. * @param {Array<number>} x Sample data * @returns {(0 | 1)[]} Predicted values */ predict(x: Array<number>): (0 | 1)[]; } /** * Gaussian-Bernouili Restricted Boltzmann machine */ export class GBRBM { /** * @param {number} hiddenSize Size of hidden layer * @param {number} [lr] Learning rate * @param {boolean} [fixSigma] Do not learn sigma or not */ constructor(hiddenSize: number, lr?: number, fixSigma?: boolean); _hidden: number; _visible: number; _w: number[][]; _b: any[]; _z: any[]; _c: any[]; _lr: number; _fixSigma: boolean; _k: number; _randn(): number; get _s(): number[]; _h(v: any, sample?: boolean): any[][]; _v(h: any, sample?: boolean): any[][]; /** * Fit model. * @param {Array<Array<number>>} x Training data */ fit(x: Array<Array<number>>): void; /** * Return a energy value of the data. * @param {Array<number>} v Sample data * @param {Array<number>} h Target values * @returns {number} Energy value */ energy(v: Array<number>, h: Array<number>): number; /** * Returns predicted values. * @param {Array<Array<number>>} x Sample data * @returns {Array<Array<number>>} Predicted values */ predict(x: Array<Array<number>>): Array<Array<number>>; }