@obliczeniowo/elementary
Version:
Library made in Angular version 19
52 lines (51 loc) • 1.74 kB
TypeScript
/**
* Single perceptron model
*/
export declare class Perceptron {
protected paramsLength: number;
protected eta: number;
protected weights: number[];
protected error: number;
protected errors: number[];
constructor(paramsLength: number, eta: number);
protected getFactor(parameters: number[]): number;
getError(): number;
getErrors(): number[];
setParamsLength(paramsLength: number): void;
setEta(eta: number): void;
/**
* Output perceptron response
* @param parameters input parameters
* @returns -1 / 1 value
*/
y(parameters: number[]): 1 | -1;
/**
* Add training data single record
* @param parameters array of this.parameters length
* @param y expected value -1 or 1
*/
train(parameters: number[], y: number): void;
/**
* Trening perceptron over the epoch times clear previously created table
* @param x input parameters training table (size must be equal parameter field of this class)
* @param y output expected value
* @param epoch how many time repeat training session
*/
fit(x: number[][], y: number[], epoch: number): void;
/** */
getWeights(): number[];
/** */
setWeights(weights: number[]): void;
/**
* Calc linear function factors for m dimension that is equal to number of input parameters
* and weights inside perceptron
*
* @param n - determine index for f(xn) function of m dimension, n is integer from range 0
* to m - 1
* @returns table of factors for f(xn) function, to calculate xn of m dimension you need to
* calc:
*
* xn = suma od k = 0 do k < n { f[k] * x[k] } + f[n]
*/
fXnFactors(n: number): number[];
}