Udvidelse af neuralgas er en algoritme , der tillader adaptiv klyngning af inputdata, det vil sige ikke kun at opdele rummet i klynger, men også at bestemme det nødvendige antal af dem baseret på egenskaberne ved selve dataene. En ekspanderende neuralgas kræver ikke a priori information om dataene, såsom et skøn over antallet af klynger eller formen på klyngerne." [1] Dette er en ny klasse af computermekanismer. Antallet og placeringen af kunstige neuroner i funktionsrummet er ikke forudbestemt, men er resultatet af en beregning i færd med at træne modeller baseret på de data, der indtastes ved input [2] . I denne model er nabolaget af noder ikke fast, men ændres dynamisk, efterhånden som klyngedannelse forbedres. Variabler er ikke kun naboskabsrelationer, men også antallet af clusterneuroner.
Der er teknikker, der er i stand til at vælge de mest lignende objekter i rummet og danne grupper ud fra dem. Under analysen er sættet af objekter organiseret i delmængder baseret på den lighed, der måles. Typisk er metoderne baseret på et standardskema: optimering af forholdet mellem det rumlige arrangement af vektorer og et sæt objekter, således at hver vektor bestemmer strukturen af klynger . De fleste teknikker har dog to væsentlige ulemper: Analysen afhænger af et givet antal klynger, og opdelingen i klynger er lokaliseret i tid. Alle moderne klyngemetoder var statiske og kunne ikke tilpasse resultaterne, hvis nye data blev tilføjet til dataene, var det nødvendigt at genudføre algoritmen.
Implementeringen af algoritmen starter med to neuroner. Så er der en sekventiel ændring (normalt i retning af stigende) af deres antal, samtidig skabes forbindelser mellem neuroner, der bedst svarer til fordelingen af inputvektorer. Hver neuron er tildelt en intern variabel, der akkumulerer en "lokal fejl". Forbindelser mellem noder er beskrevet af en variabel kaldet "alder" [3] .
Hvis knudepunkterne på dette trin forskydes mod inputvektoren, har vinderen en tendens til at "gennemsnitte" sin position i forhold til inputsignalerne placeret i dens nærhed. I dette tilfælde "trækker" den bedste neuron lidt naboneuroner i retning af signalet.
Forskeren kan selv indstille formen på klyngestrukturen, uanset om klyngningen skal udføres for en hypersfære , et hyperrør eller et hyperplan . Hvis han ikke har denne viden, kan du takket være værdien af hans egen kovariansmatrix bestemme den nødvendige form. Hvis strukturen har mindst én egenværdi mindre end den tærskel, brugeren har valgt, vil modellen være hyperlineær, ellers skal strukturen betragtes som en ikke-lineær manifold. Yderligere test vil vise, om modellen er formet som en kugle eller et rør. Testen for sfæricitet afhænger af opfyldelsen af uligheden np/na>ψ, hvor np er antallet af vektorer inde i klyngen, som findes ved hjælp af Jordan Brauer-sætningen [4] , og ap er overfladearealet af klynge, og ψ er en brugerspecificeret tærskel. Hvis denne ulighed har formen np/na<ψ, vil formen af klyngen være et "hyperrør". [3]
For en klynge i form af et hyperrør beregnes et radial afstandsmål:
hvor Aj er en positiv, bestemt matrix beregnet til at tage højde for hyperrørets excentricitet og orientering [5] . Værdien af Aj for denne ligning findes ved hjælp af Lowner-hyperlipsoiden ved hjælp af Khachiyan-algoritmen [6] .
For at bestemme afstande i et hyperplan skal du bruge følgende formel:
hvor Aj er en arbitrært positiv bestemt symmetrisk vægtmatrix. Og bj, k estimeres ved at finde egenvektorerne for modellens neurale knudepunkter.
For at bestemme afstanden i hypersfæren skal du bruge formlen:
hvor wi enten er middelværdien af vektorerne indeholdt i planet.
I 3D-rum er data meget nemme at visualisere. [3] Du kan se det på billedet.
Men hvis vores rum er større end tredimensionelt, så er datavisualisering vanskelig. For at løse dette problem anvendes en teknik baseret på moms [7] . Essensen af konstruktionen er, at modellens minimumspændende træ er fundet. Efter at sorteringsprocessen er afsluttet, kan klyngestrukturen analyseres ved firkanter nær diagonalen. Først beregnes normaliserede, parvis forskellige neuroner i hver isolerede graf. De forskellige neuroner omarrangeres derefter for at skabe den tætteste intracluster-fordeling. Derefter males hver klynge i sin egen farve og placeres langs hoveddiagonalen. Intracluster-forhold er også inkluderet i diagrammet, den maksimale afstand mellem to klynger er angivet med hvidt, og med sort den mindste afstand. Volumenet af klyngen kan tilføjes som en anden dimension, dette er højden af firkanterne.
Dette eksempel er givet for at demonstrere, hvordan systemet tilpasser sig, når nye data indtastes. Databasen består af 1050 punktobjekter. I begyndelsen blev der udført 5000 iterationer, og 75% af informationen kom ind i algoritmen. Efter at en lille del af 756 datapunkter var blevet indtastet i systemet, begyndte neurale vektorer at tilpasse sig til at danne fordelingen vist i figuren nedenfor.
Derefter blev yderligere 150 nye vektorer lanceret. Dette førte til dannelsen af en ny sfærisk klasse, angivet i figuren nedenfor:
På trods af den rumlige nærhed af de grønne og magenta klynger, bemærkede algoritmen en stigning i klynger og tilpassede sig disse ændringer. I dette tilfælde blev de resterende 120 objekter gentagne gange blandet mellem de grønne og magenta-klynger. Algoritmen fordelte efterfølgende data mellem de to klynger og beholdt det oprindelige antal klynger.
Typer af kunstige neurale netværk | |
---|---|
|
Machine learning og data mining | |
---|---|
Opgaver | |
At lære med en lærer | |
klyngeanalyse | |
Dimensionalitetsreduktion | |
Strukturel prognose | |
Anomali detektion | |
Grafer sandsynlighedsmodeller | |
Neurale netværk | |
Forstærkende læring |
|
Teori | |
Tidsskrifter og konferencer |
|