UNPKG

@obliczeniowo/elementary

Version:
52 lines (51 loc) 1.74 kB
/** * 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[]; }