brain.js
Version:
Neural networks in JavaScript
81 lines • 2.5 kB
TypeScript
/** TODO: The following should be moved to neural-network.ts once that is converted to typescript. Added here until neural-network.js is converted */
export interface INeuralNetworkOptions {
/**
* @default 0.5
*/
binaryThresh?: number;
/**
* array of int for the sizes of the hidden layers in the network
*
* @default [3]
*/
hiddenLayers?: number[];
}
export interface INeuralNetworkTrainingOptions {
/**
* the maximum times to iterate the training data --> number greater than 0
* @default 20000
*/
iterations?: number;
/**
* the acceptable error percentage from training data --> number between 0 and 1
* @default 0.005
*/
errorThresh?: number;
/**
* true to use console.log, when a function is supplied it is used --> Either true or a function
* @default false
*/
log?: boolean | INeuralNetworkTrainingCallback;
/**
* iterations between logging out --> number greater than 0
* @default 10
*/
logPeriod?: number;
/**
* scales with delta to effect training rate --> number between 0 and 1
* @default 0.3
*/
learningRate?: number;
/**
* scales with next layer's change value --> number between 0 and 1
* @default 0.1
*/
momentum?: number;
/**
* a periodic call back that can be triggered while training --> null or function
* @default null
*/
callback?: INeuralNetworkTrainingCallback | number;
/**
* the number of iterations through the training data between callback calls --> number greater than 0
* @default 10
*/
callbackPeriod?: number;
/**
* the max number of milliseconds to train for --> number greater than 0
* @default Infinity
*/
timeout?: number;
praxis?: null | 'adam';
}
export declare type INeuralNetworkTrainingCallback = (state: INeuralNetworkState) => void;
export interface INeuralNetworkState {
iterations: number;
error: number;
}
export interface INeuralNetworkTestResult {
misclasses: unknown[];
error: number;
total: number;
}
export interface INeuralNetworkBinaryTestResult extends INeuralNetworkTestResult {
trueNeg: number;
truePos: number;
falseNeg: number;
falsePos: number;
precision: number;
recall: number;
accuracy: number;
}
//# sourceMappingURL=neural-network-types.d.ts.map