@astermind/astermind-premium
Version:
Astermind Premium - Premium ML Toolkit
74 lines • 1.98 kB
TypeScript
export interface AdaptiveOnlineELMOptions {
categories: string[];
initialHiddenUnits?: number;
minHiddenUnits?: number;
maxHiddenUnits?: number;
growthThreshold?: number;
shrinkThreshold?: number;
growthFactor?: number;
shrinkFactor?: number;
activation?: 'relu' | 'tanh' | 'sigmoid' | 'linear';
maxLen?: number;
useTokenizer?: boolean;
}
export interface AdaptiveOnlineELMResult {
label: string;
prob: number;
}
/**
* Adaptive Online ELM that dynamically adjusts hidden units
* Features:
* - Grows hidden units when error is high
* - Shrinks hidden units when performance is stable
* - Maintains efficiency while adapting to data complexity
*/
export declare class AdaptiveOnlineELM {
private elm;
private categories;
private options;
private currentHiddenUnits;
private trained;
private errorHistory;
private performanceHistory;
constructor(options: AdaptiveOnlineELMOptions);
/**
* Initialize or reinitialize ELM with current hidden units
*/
private _initializeELM;
/**
* Train with batch data
*/
fit(X: number[][], y: number[] | number[][]): void;
/**
* Incremental update with adaptive adjustment
*/
update(x: number[], y: number | number[]): void;
/**
* Predict with adaptive model
*/
predict(x: number[] | number[][], topK?: number): AdaptiveOnlineELMResult[];
/**
* Adapt hidden units based on error
*/
private _adaptHiddenUnits;
/**
* Evaluate error on data
*/
private _evaluateError;
/**
* Evaluate recent error (for incremental updates)
*/
private _evaluateRecentError;
private _toOneHot;
private _softmax;
private _argmax;
/**
* Get current number of hidden units
*/
getHiddenUnits(): number;
/**
* Get error history
*/
getErrorHistory(): number[];
}
//# sourceMappingURL=adaptive-online-elm.d.ts.map