@astermind/astermind-elm
Version:
JavaScript Extreme Learning Machine (ELM) library for browser and Node.js.
42 lines (41 loc) • 1.44 kB
TypeScript
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;
}