UNPKG

@astermind/astermind-elm

Version:

JavaScript Extreme Learning Machine (ELM) library for browser and Node.js.

42 lines (41 loc) 1.44 kB
import { WeightInit } from './ELMConfig'; import { Activation } from './ELMConfig'; export interface DeepELMLayerSpec { hiddenUnits: number; activation?: Activation; ridgeLambda?: number; weightInit?: WeightInit; dropout?: number; name?: string; } export interface DeepELMConfig { inputDim: number; layers: DeepELMLayerSpec[]; numClasses: number; clfHiddenUnits?: number; clfActivation?: Activation; clfWeightInit?: WeightInit; normalizeEach?: boolean; normalizeFinal?: boolean; } export declare class DeepELM { cfg: DeepELMConfig; private aeLayers; private chain; private clf; constructor(cfg: DeepELMConfig); /** Layer-wise unsupervised training with Y=X (autoencoder). Returns transformed X_L. */ fitAutoencoders(X: number[][]): number[][]; /** Supervised training of a top classifier ELM on last-layer features. */ fitClassifier(X: number[][], yOneHot: number[][]): void; /** One-shot convenience: train AEs then classifier. */ fit(X: number[][], yOneHot: number[][]): void; /** Forward through stacked AEs (no classifier). */ transform(X: number[][]): number[][]; /** Classifier probabilities (softmax) for a batch. */ predictProba(X: number[][]): number[][]; /** Utility: export all models for persistence. */ toJSON(): any; /** Utility: load from exported payload. */ fromJSON(payload: any): void; }