The SDL Component Suite is an industry leading collection of components supporting scientific and engineering computing. Please visit the SDL Web site for more information.... |
Home MathPack Kohonen Interface of SDL_Kohonen | |
Interface of SDL_Kohonen |
|
const {$IFDEF PAIDVERS} SDLVersionInfo = 'kohonen_r1200_full'; IsLightEd = false; {$ELSE} SDLVersionInfo = 'kohonen_r1200_lighted'; IsLightEd = true; {$ENDIF} Release = 1200; type TKohonenXMLTag = (xmlSizeX, xmlSizeY, xmlComment, xmlNrInsens, xmlMaxNeighb, xmlMaxSteps, xmlMaxAlpha, xmlCurStep, xmlCyclic, xmlCell, xmlMeanStdDev, xmlEndKohonen, xmlInvalid); TKohonen = class (TComponent) private FMaxNeighb : integer; { max. number of neighboring shells } FComment : string; { user comment on network } FCurNeighb : integer; { current neighborhood during train. } FMaxSteps : integer; { max. number of training steps } FCurStep : integer; { current time during training } FMaxAlpha : double; { max. number of training steps } FCurAlpha : double; { current alpha during training } FKohMat : TMat3D; { 3 dimensional Kohonen matrix } FSizeX : integer; { size of Kohonen map in x-direction } FSizeY : integer; { size of Kohonen map in x-direction } FNrInSens : integer; { nr. of layers in Kohonen map } FNrTrnObj : integer; { nr. of training objects } MeanVec : TVector; { mean values for standardized data } StdDevVec : TVector; { std.devs for standardized data } FCyclic : boolean; { TRUE: cyclic Kohonen map effective } FAbort : boolean; { flag to abort training via callback } FReserved : boolean; { reserved for future extension } FOnFeedback : TOnPercentDoneEvent; { feedback during training } FDataMat : TMatrix; { data matrix for training } {$IFDEF PAIDVERS} FMatsAdj : boolean; { aux. flag for reading network from file } function ProcessXmlTag (xmlTag: TKohonenXmlTag; attr, cont: string): integer; {$ENDIF} function GetWeight (ix,iy,wi: integer): double; procedure SetNumInsens (nl: integer); procedure SetSizeX (x: integer); procedure SetSizeY (y: integer); procedure SetWeigtsToRandom; procedure SetDataMat (x: TMatrix); protected procedure DoFeedback (PercentDone: integer); public constructor Create (AOwner: TComponent); override; destructor Destroy; override; procedure ApplyIt (InData: TVector; var BestIx, BestIy: integer; var Distance: double); procedure AbortTraining; procedure ContinueTraining; function LoadFromXMLFile (FName: string; DataID: string): boolean; function ReadFromXMLStream (InStream: TStream; DataID: string): boolean; function ReadFromOpenXMLFile (var InFile: TextFile; DataID: string): boolean; procedure SaveAsXMLFile (FName: string; DataID: string); procedure StandardizeData; property TrainData: TMatrix read FDataMat write SetDataMat; procedure Trainit; property Weights [ix,iy,wi: integer]:double read GetWeight; procedure WriteToXMLStream (OutStream: TStream; CreateHeader: boolean; DataID: string); procedure WriteToOpenXMLFile (var OutFile: TextFile; CreateHeader: boolean; DataID: string); published property Comment: string read FComment write FComment; property Cyclic: boolean read FCyclic write FCyclic; property InitialAlpha: double read FMaxAlpha write FMaxAlpha; property InitialNeighbors: integer read FMaxNeighb write FMaxNeighb; property NrOfInSens: integer read FNrInSens write SetNumInsens; property NrOfTrnSteps: integer read FMaxSteps write FMaxSteps; property SizeX: integer read FSizeX write SetSizeX; property SizeY: integer read FSizeY write SetSizeY; property OnFeedback: TOnPercentDoneEvent read FOnFeedBack write FOnFeedback; end;
|