ich war hier: VorstellungLVQ

Revision history for VorstellungLVQ


Revision [80419]

Last edited on 2017-06-22 10:48:54 by SebastianThomas

No Differences

Revision [80417]

Edited on 2017-06-22 10:10:29 by SebastianThomas
Additions:
==formel==\Delta \overline {w_c}=v_c \eta (n)(\overline {x_i}-\overline {w_c}), \Delta \overline {w_s}=\upsilon _s \eta (n)(\overline {x_i}-\overline {w_s})==formel==
GRLVQ: ==formel==r_k=r_k^0- \eta_r sgd'(\xi \frac{\|\overline {x_i}-\overline {w_c}\|_r-\|\overline {x_i}-\overline {w_s}\|_r}{\|\overline {x_i}-\overline {w_c}\|_r+\|\overline {x_i}-\overline {w_s}\|_r}) \xi \frac{\|\overline {x_i}-\overline {w_s}\|_r(x_{i,k}-w_{c,k})^2-\|\overline {x_i}-\overline {w_c}\|_r(x_{i,k}-w_{s,k})^2}{(\|\overline {x_i}-\overline {w_s}\|_r+\|\overline {x_i}-\overline {w_c}\|_r)^2} ==formel==
Deletions:
==formel==\Delta \overline {w_c}=v_c \eta (n)(x_i-w_c), \Delta \overline {w_s}=\upsilon _s \eta (n)(x_i-w_s)==formel==
GRLVQ: ==formel==r_k=r_k^0- \eta_r sgd'(\xi \frac{\|\overline {x_i}-\overline {w_c}\|_r-\|\overline {x_i}-\overline {w_s}\|_r}{\|\overline {x_i}-\overline {w_c}\|_r+\|\overline {x_i}-\overline {w_s}\|_r}) \xi \frac{\|\overline {x_i}-\overline {w_s}\|_r(x_{i,k}-w_{c,k}^2)-\|\overline {x_i}-\overline {w_c}\|_r(x_{i,k}-w_{s,k}^2)}{(\|\overline {x_i}-\overline {w_s}\|_r+\|\overline {x_i}-\overline {w_c}\|_r)^2} ==formel==


Revision [80411]

Edited on 2017-06-22 09:54:46 by SebastianThomas
Additions:
mit ==formel==p_k=\xi \frac{|x_{i,k}-w_{s,k}|-|x_{i,k}-w_{c,k}|}{max(|x_{i,k}-w_{s,k}|,|x_{i,k}-w_{c,k}|)}==formel==
RLVQ: ==formel==r^0=\frac{1}{\|r\|_2}r==formel==
GRLVQ: ==formel==r^0=\frac{1}{\|r\|_2}r==formel==
DSLVQ: ==formel==r^0=\frac{1}{\|r\|_1}r,p^0=\frac{1}{\|p\|_1}p==formel==
Deletions:
mit ==formel==p_k=\xi \frac{|x_{i,k}-w_{s,k}|-|x_i,k-w_c,k|}{max(|x_{i,k}-w_{s,k}|,|x_{i,k}-w_{c,k}|)}==formel==
RLVQ: ==formel==r^0=\frac{1}{\|\|r\|\|_2}r==formel==
GRLVQ: ==formel==r^0=\frac{1}{\|\|r\|\|_2}r==formel==
DSLVQ: ==formel==r^0=\frac{1}{\|\|r\|\|_1}r,p^0=\frac{1}{\|p\|_1}p==formel==


Revision [80410]

Edited on 2017-06-22 09:52:38 by SebastianThomas
Additions:
==formel==\Delta \overline {w_c}=v_c \eta (n)(x_i-w_c), \Delta \overline {w_s}=\upsilon _s \eta (n)(x_i-w_s)==formel==
GRLVQ: ==formel==r_k=r_k^0- \eta_r sgd'(\xi \frac{\|\overline {x_i}-\overline {w_c}\|_r-\|\overline {x_i}-\overline {w_s}\|_r}{\|\overline {x_i}-\overline {w_c}\|_r+\|\overline {x_i}-\overline {w_s}\|_r}) \xi \frac{\|\overline {x_i}-\overline {w_s}\|_r(x_{i,k}-w_{c,k}^2)-\|\overline {x_i}-\overline {w_c}\|_r(x_{i,k}-w_{s,k}^2)}{(\|\overline {x_i}-\overline {w_s}\|_r+\|\overline {x_i}-\overline {w_c}\|_r)^2} ==formel==
Deletions:
==formel==\Delta w_c=v_c \eta (n)(x_i-w_c), \Delta w_s=\upsilon _s \eta (n)(x_i-w_s)==formel==
GRLVQ: ==formel==r_k=r_k^0- \eta_r sgd'(\xi \frac{\|x_i-w_c\|_r-\|x_i-w_s\|_r}{\|x_i-w_c\|_r+\|x_i-w_s\|_r}) \xi \frac{\|x_i-w_s\|_r(x_{i,k}-w_{c,k}^2)-\|x_i-w_c\|_r(x_{i,k}-w_{s,k}^2)}{(\|x_i-w_s\|_r+\|x_i-w_c\|_r)^2} ==formel==


Revision [80409]

Edited on 2017-06-22 09:49:29 by SebastianThomas
Additions:
==formel==\Delta w_c=v_c \eta (n)(x_i-w_c), \Delta w_s=\upsilon _s \eta (n)(x_i-w_s)==formel==
Deletions:
==formel==w_c=v_c \eta (n)(x_i-w_c), \Delta w_s=\upsilon _s \eta (n)(x_i-w_s)==formel==


Revision [80408]

Edited on 2017-06-22 09:36:38 by SebastianThomas
Additions:
Tabelle 1 aus [Golz, 2016]
Deletions:
Tabelle1 aus [Golz, 2016]


Revision [80407]

Edited on 2017-06-22 09:35:24 by SebastianThomas
Additions:
Tabelle1 aus [Golz, 2016]
Deletions:
[Golz, 2016]


Revision [80406]

Edited on 2017-06-22 09:34:31 by SebastianThomas
Additions:
[Golz, 2016]


Revision [80405]

Edited on 2017-06-22 09:28:37 by SebastianThomas
Additions:
- [Thomas, 2016] Neuroinformatische Analysen von Elektrookulogrammen aus einer Nachtfahrtsimulationsstudie. Bachelorarbeit, Hochschule Schmalkalden
Deletions:
{{files}}


Revision [80404]

Edited on 2017-06-22 09:21:01 by ClaudiaMichel
Additions:
{{files}}


Revision [80398]

Edited on 2017-06-22 09:06:03 by SebastianThomas
Additions:
Unter allen relevanzlernenden Algorithmen der LVQ-Familie soll hier vor allem die Generalisierte Relevanz-LVQ (GRLVQ) [Hammer & Villmann, 2002] vorgestellt werden. Folgende Algorithmen werden ebenfalls vorgestellt.
- [Sato, Yamada, 1995] Generalized Learning Vector Quantization. In: Tesauro, Touretzky, Leen (eds) Advances in Neural Information Processing Systems, 7: 423-429
Deletions:
Unter allen relevanzlernenden Algorithmen der LVQ-Familie soll hier vor allem die Generalisierte Relevanz-LVQ (GRLVQ) [Hammer & Villmann, 2002] vorgestellt werden. Folgende Algorithmen werden ebenfalls vorgestellt, wurden aber aus Zeitgründen am hier vorliegenden Datensatz nummerisch nicht untersucht.
- [Sato, Yamada, 1995] Generalized Learning Vectorquantization. In: Tesauro, Touretzky, Leen (eds) Advances in Neural Information Processing Systems, 7: 423-429


Revision [80397]

Edited on 2017-06-22 00:57:31 by SebastianThomas
Additions:
DSLVQ: ==formel== r_k=\left\{\begin{array}{c} 1, r_k \gt 1 \\ 10^{-4},r_k \lt 10^{-4} \\ r_k, \textrm{sonst}\end{array}\right.==formel==
4.3) Normierung des Relevanzvektors
RLVQ: ==formel==r^0=\frac{1}{\|\|r\|\|_2}r==formel==
GRLVQ: ==formel==r^0=\frac{1}{\|\|r\|\|_2}r==formel==
DSLVQ: ==formel==r^0=\frac{1}{\|\|r\|\|_1}r,p^0=\frac{1}{\|p\|_1}p==formel==
Nach Abschluss aller Trainingszyklen (Iterationen) liegt eine optimale Verteilung aller Gewichtsvektoren vor, dem eigentlichen Trainingsergebnis. Bei den relevanzlernenden LVQ-Verfahren liegt zusätzlich noch der Relevanzfaktor vor, der ausdrückt, welche Merkmalsvektorkomponenten besonders ausschlaggend für den Trainingserfolg waren und welche nicht.
Deletions:
DSLVQ: ==formel====formel==
==formel==\left\{\begin{array}{c} 1, r_k \gt 1 \\ 10^{-4},r_k \lt 10^{-4} \\ r_k, sonst \end{array}\right)==formel==


Revision [80396]

Edited on 2017-06-21 23:26:35 by SebastianThomas [noch in Bearbeitung (Formeln und Text fehlen)]
Additions:
==formel==\xi=\pm 1==formel== für Fall (a) bzw. (b)
DSLVQ: ==formel====formel==
==formel==\left\{\begin{array}{c} 1, r_k \gt 1 \\ 10^{-4},r_k \lt 10^{-4} \\ r_k, sonst \end{array}\right)==formel==
Deletions:
==formel==\xi=\mp 1==formel== für Fall (a) bzw. (b)
DSLVQ: ==formel==\left\|\left{\begin{array}{c}3+4\mathrm{i} \\ 2e^{\mathrm{i}\varphi} \\ \sqrt{5}-\mathrm{i}\end{array}\right)\right\|_\infty =\sqrt{3^2+4^2}=5==formel==
\left{\begin{array}{c} 1, r_k \gt 1 \\ 10^{-4},r_k \lt 10^{-4} \\ r_k, sonst \end{array}


Revision [80395]

Edited on 2017-06-21 23:22:40 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]
Additions:
==formel==w_c=v_c \eta (n)(x_i-w_c), \Delta w_s=\upsilon _s \eta (n)(x_i-w_s)==formel==
RLVQ: ==formel==r_k=r_k^0-\upsilon_c \eta_r (x_{i,k}-w_{c,k})^2==formel==
GRLVQ: ==formel==r_k=r_k^0- \eta_r sgd'(\xi \frac{\|x_i-w_c\|_r-\|x_i-w_s\|_r}{\|x_i-w_c\|_r+\|x_i-w_s\|_r}) \xi \frac{\|x_i-w_s\|_r(x_{i,k}-w_{c,k}^2)-\|x_i-w_c\|_r(x_{i,k}-w_{s,k}^2)}{(\|x_i-w_s\|_r+\|x_i-w_c\|_r)^2} ==formel==
wobei für Fall (a): ==formel==\xi=+1==formel== und für Fall (b): ==formel==\xi=-1==formel== gilt.
DSLVQ: ==formel==r=r^0+ \eta_r (p^0-r^0)==formel==
mit ==formel==p_k=\xi \frac{|x_{i,k}-w_{s,k}|-|x_i,k-w_c,k|}{max(|x_{i,k}-w_{s,k}|,|x_{i,k}-w_{c,k}|)}==formel==

==formel==\xi=\mp 1==formel== für Fall (a) bzw. (b)

Falls Abbruchskriterium ==formel==(n \gt n_{max})==formel== nicht erfüllt, gehe zu Schritt 1.
Der finale Gewichtsvektor ==formel== r^0 ==formel== enthält die Relevanzfaktoren für jedes Merkmal.
4.2) Schwellwertvergleich, um negative oder zu kleine Relevanzwerte zu verhindern.
RLVQ: ==formel==r_k=max(r_k,0)==formel==
GRLVQ: ==formel==r_k=max(r_k,0)==formel==
DSLVQ: ==formel==\left\|\left{\begin{array}{c}3+4\mathrm{i} \\ 2e^{\mathrm{i}\varphi} \\ \sqrt{5}-\mathrm{i}\end{array}\right)\right\|_\infty =\sqrt{3^2+4^2}=5==formel==
\left{\begin{array}{c} 1, r_k \gt 1 \\ 10^{-4},r_k \lt 10^{-4} \\ r_k, sonst \end{array}
Deletions:
==formel==w_c=v_c \eta (n)(x_i-w_c), \triangle w_s=\upsilon _s \eta (n)(x_i-w_s)==formel==
RLVQ: ==formel==r_k=r_k^0-\upsilon_c \eta_r (x_{i,k}-w_{c,k})^2==formel==


Revision [80394]

Edited on 2017-06-21 22:13:50 by SebastianThomas [Zwischenspeichern Formeln einfügen]
Additions:
==formel==d=\|\overline x - \overline y\|=\sqrt[2]{r_1(x_1-y_1)^2+r_2(x_2-y_2)^2+...+r_d(x_d-y_d)^2} ==formel==
==formel==w_c=v_c \eta (n)(x_i-w_c), \triangle w_s=\upsilon _s \eta (n)(x_i-w_s)==formel==
4) Anwendung der Lernregel für Relevanzfaktoren nach den folgenden Schritten.
Der Index ==formel==k==formel== bezeichnet die Komponente des Relevantfaktors.
4.1) Aktualisierung der Relevanzfaktoren nach folgenden Relevanzlernregeln.
RLVQ: ==formel==r_k=r_k^0-\upsilon_c \eta_r (x_{i,k}-w_{c,k})^2==formel==
Deletions:
==formel==d=\|\overline x - \overline y\|=\sqrt[2]{r_1(x_1-y_1)^2+r_2(x_2-y_2)^2+...+r_d(x_d-y_d)^2} ==formel==
==formel==w_c=v_c==formel==


Revision [80382]

Edited on 2017-06-21 11:39:28 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]
Additions:
bzw. abgestoßen wird. Die Algorithmen GLVQ und GRLVQ verwenden jedoch variable Schrittweitenfaktoren, sie sind also adaptiv und hängen von den Distanzen der beiden gewinnenden Neuronen vom aktuellen Merkmalsvektor ab. Die Formeln hierzu sind unterhalb der Tabelle vermerkt und wurden von Sato et al. bzw. Hammer und Villmann hergeleitet. Dabei bedeutet ==formel==sgd'==formel== die erste Ableitung der Sigmoidfunktion.
2) Gehe zu Schritt 3., falls
2.1)
in 1.2) der Fall (a) oder (b) vorliegt __und__
2.2)
der aktuelle Merkmalsvektor ==formel==\overline {x_i}==formel== in einem hyperbolischen Fenster zwischen ==formel==\overline {w_c}==formel== und ==formel==\overline {w_s}==formel== liegt.
Andernfalls gehe zu Schritt 1) und wähle den nächsten aktuellen Merkmalsvektor aus der Trainigsmenge aus.
3) Anwendung der Lernregel für beide gewinnende Gewichtsvektoren nach den folgenden Formeln.
==formel==w_c=v_c==formel==
Deletions:
bzw. abgestoßen wird. Die Algorithmen GLVQ und GRLVQ verwenden jedoch variable Schrittweitenfaktoren, sie sind also adaptiv und hängen von den Distanzen der beiden gewinnenden Neuronen vom aktuellen Merkmalsvektor ab. Die Formeln hierzu sind unterhalb der Tabelle vermerkt und wurden von Sato et al. bzw. Hammer und Villmann hergeleitet. Dabei bedeutet ==formel==sgd'==formel== die erste Ableitung der Sigmoidfunktion.


Revision [80367]

Edited on 2017-06-21 09:41:17 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]
Additions:
Man ersieht aus Tabelle 1, dass die Schrittweitenfaktoren größtenteils konstant sind, wobei die Konstante Null bedeutet, dass sich keine Gewichtsvektoränderung ergibt und deshalb die Lernregel nicht angewandt werden muss. Bei positiven bzw. negativen Konstanten wird der Gewichtsvektor so verändert, dass das Neuron vom aktuellen Merkmalsvektor angezogen
bzw. abgestoßen wird. Die Algorithmen GLVQ und GRLVQ verwenden jedoch variable Schrittweitenfaktoren, sie sind also adaptiv und hängen von den Distanzen der beiden gewinnenden Neuronen vom aktuellen Merkmalsvektor ab. Die Formeln hierzu sind unterhalb der Tabelle vermerkt und wurden von Sato et al. bzw. Hammer und Villmann hergeleitet. Dabei bedeutet ==formel==sgd'==formel== die erste Ableitung der Sigmoidfunktion.


Revision [80366]

Edited on 2017-06-21 09:39:06 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]
Additions:
1.1)
Mit der gewichteten Distanz ==formel==\|\overline {x_i}-\overline {w_j}\|_\overline r==formel== wird der erste und zweite Gewinner berechnet ==formel==(\overline {w_c},d_c)==formel== bzw. ==formel==(\overline {w_s}, d_s)==formel==. Der Index ==formel==c==formel== bedeutet „closest“ und bezeichnet den Gewichtsvektor ==formel==\overline w==formel==, der die geringste Distanz zum aktuellen Merkmalsvektor ==formel==\overline {x_i}==formel== hat. Der Index ==formel==s==formel== bedeutet „second closest“ und bezeichnet den Gewichtsvektor mit der zweitgeringsten Distanz zum aktuellen Merkmalsvektor. Die Klassennummer, die den Neuronen in der Initialisierungsphase fest zugeordnet wurde, wird mit ==formel==d==formel== bezeichnet.

1.2)
Bezüglich der Klassennummer sind vier Fälle möglich

1.3)
Nun sind die Schrittweitenfaktoren ==formel==(K_c, K_s)==formel== gemäß Tabelle 1 auszuwählen, wobei die vier Fälle (a) bis (d) aus 1.2) zu berücksichtigen sind. Die Tabelle enthält zusätzlich die ausführenden Abarbeitungsschritte je nach Methode, die eingangs erwähnt wurden.
Deletions:
1.1) Mit der gewichteten Distanz ==formel==\|\overline {x_i}-\overline {w_j}\|_\overline r==formel== wird der erste und zweite Gewinner berechnet ==formel==(\overline {w_c},d_c)==formel== bzw. ==formel==(\overline {w_s}, d_s)==formel==. Der Index ==formel==c==formel== bedeutet „closest“ und bezeichnet den Gewichtsvektor ==formel==\overline w==formel==, der die geringste Distanz zum aktuellen Merkmalsvektor ==formel==\overline {x_i}==formel== hat. Der Index ==formel==s==formel== bedeutet „second closest“ und bezeichnet den Gewichtsvektor mit der zweitgeringsten Distanz zum aktuellen Merkmalsvektor. Die Klassennummer, die den Neuronen in der Initialisierungsphase fest zugeordnet wurde, wird mit ==formel==d==formel== bezeichnet.
1.2) Bezüglich der Klassennummer sind vier Fälle möglich
1.3) Nun sind die Schrittweitenfaktoren ==formel==(K_c, K_s)==formel== gemäß Tabelle 1 auszuwählen, wobei die vier Fälle (a) bis (d) aus 1.2) zu berücksichtigen sind. Die Tabelle enthält zusätzlich die ausführenden Abarbeitungsschritte je nach Methode, die eingangs erwähnt wurden.


Revision [80365]

Edited on 2017-06-21 09:37:45 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]
Additions:
{{image url="VorstellungLVQTabAbarbeitung.png" title="Tabelle 1 - Auszuführende Abarbeitungsschritte und auszuwählende Schrittweitenfaktoren je nach LVQ-Methode. Die Fälle (a) bis (d) sind im Text erklärt."}}
Deletions:
{{image url="VorstellungLVQTabAbarbeitung.png" title="Tabelle 1 - Auszuführende Abarbeitungsschritte und auszuwählende Schrittweitenfaktoren je nach LVQ-Methode. Die Fälle (a) bis (d) sind im Text erklärt."}}


Revision [80364]

Edited on 2017-06-21 09:37:22 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]
Additions:
{{image url="VorstellungLVQTabAbarbeitung.png" title="Tabelle 1 - Auszuführende Abarbeitungsschritte und auszuwählende Schrittweitenfaktoren je nach LVQ-Methode. Die Fälle (a) bis (d) sind im Text erklärt."}}
Deletions:

{{files}}


Revision [80363]

Edited on 2017-06-21 09:35:12 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]
Additions:
1.3) Nun sind die Schrittweitenfaktoren ==formel==(K_c, K_s)==formel== gemäß Tabelle 1 auszuwählen, wobei die vier Fälle (a) bis (d) aus 1.2) zu berücksichtigen sind. Die Tabelle enthält zusätzlich die ausführenden Abarbeitungsschritte je nach Methode, die eingangs erwähnt wurden.

{{files}}


Revision [80362]

Edited on 2017-06-21 01:09:05 by SebastianThomas [noch in Bearbeitung (Formeln und Text fehlen)]
Additions:
Folgende vier Abarbeitungsschritte sind bei allen, hier vorgestellten LVQ-Algorithmen durchzuführen. Diese Abarbeitungsschritte laufen zyklisch ab, sodass immer nach Schritt 4 der Zyklus mit Schritt 1 startet, wobei ein neues, aktuelles Datenpaar von Merkmalsvektor ==formel==\overline {x_i}==formel== und Klassennummer ==formel==t_i==formel== aus der Trainingsmenge entnommen wird. Der Zyklus wird abgebrochen, wenn die Anzahl der Iterationen ==formel==n==formel==, die hier die Zyklusanzahl ist, einen von vornherein festgelegten Schwellwert ==formel==n_{max}==formel== überschreitet.
1) Neuronenwettbewerb
1.1) Mit der gewichteten Distanz ==formel==\|\overline {x_i}-\overline {w_j}\|_\overline r==formel== wird der erste und zweite Gewinner berechnet ==formel==(\overline {w_c},d_c)==formel== bzw. ==formel==(\overline {w_s}, d_s)==formel==. Der Index ==formel==c==formel== bedeutet „closest“ und bezeichnet den Gewichtsvektor ==formel==\overline w==formel==, der die geringste Distanz zum aktuellen Merkmalsvektor ==formel==\overline {x_i}==formel== hat. Der Index ==formel==s==formel== bedeutet „second closest“ und bezeichnet den Gewichtsvektor mit der zweitgeringsten Distanz zum aktuellen Merkmalsvektor. Die Klassennummer, die den Neuronen in der Initialisierungsphase fest zugeordnet wurde, wird mit ==formel==d==formel== bezeichnet.
1.2) Bezüglich der Klassennummer sind vier Fälle möglich
(a) ==formel==d_c = t_i \wedge d_s \ne t_i==formel==
(b) ==formel==d_c \ne t_i \wedge d_s = t_i==formel==
(c) ==formel==d_c = t_i \wedge d_s = t_i==formel==
(d) ==formel==d_c \ne t_i \wedge d_s \ne t_i==formel==
Hier bezeichnet ==formel==t_i==formel== die fest zugeordnete Klassennummer des aktuellen Merkmalvektors ==formel==\overline {x_i}==formel==
Deletions:
Folgende vier Abarbeitungsschritte sind bei allen, hier vorgestellten LVQ-Algorithmen durchzuführen. Diese Abarbeitungsschritte laufen zyklisch ab, sodass immer nach Schritt 4 der Zyklus mit Schritt 1 startet, wobei ein neues, aktuelles Datenpaar von Merkmalsvektor ==formel==\overline {x_i}==formel== und Klassennummer ==formel==t_i==formel== aus der Trainingsmenge entnommen wird. Der Zyklus wird abgebrochen, wenn die Anzahl der Iterationen ==formel==n==formel==, die hier die Zyklusanzahl ist, einen von vornherein festgelegten Schwellwert ==formel==n_max==formel== überschreitet.
1. Neuronenwettbewerb
1.1. Mit der gewichteten Distanz ==formel==\|\overline {x_i}-\overline {w_j}\|_\overline r==formel== wird der erste und zweite Gewinner berechnet ==formel==(\overline {w_c},d_c)==formel== bzw. ==formel==(\overline {w_s}, d_s)==formel==. Der Index ==formel==c==formel== bedeutet „closest“ und bezeichnet den Gewichtsvektor ==formel==\overline w==formel==, der die geringste Distanz zum aktuellen Merkmalsvektor ==formel==\overline {x_i}==formel== hat. Der Index ==formel==s==formel== bedeutet „second closest“ und bezeichnet den Gewichtsvektor mit der zweitgeringsten Distanz zum aktuellen Merkmalsvektor. Die Klassennummer, die den Neuronen in der Initialisierungsphase fest zugeordnet wurde, wird mit ==formel==d==formel== bezeichnet.
{{image url="MoeglichkeitenKlassennummer.png" width="125"}}
Hier bezeichnet ==formel==t_i==formel== die fest zugeordnete Klassennummer des aktuellen
Merkmalvektors ==formel==\overline {x_i}==formel==
Nach Abschluss aller Trainingszyklen (Iterationen) liegt eine optimale Verteilung aller Gewichtsvektoren vor, dem eigentlichen Trainingsergebnis. Bei den relevanzlernenden LVQ-Verfahren liegt zusätzlich noch der Relevanzvektor vor, der ausdrückt, welche Merkmalsvektorkomponenten besonders ausschlaggebend für den Trainingserfolg waren und welche nicht.


Revision [80361]

Edited on 2017-06-21 00:54:09 by SebastianThomas [Bearbeitung noch nicht abgeschlossen]
Additions:
Die nachfolgenden Ausführungen lehnen sich an das Kapitel 11.5 des Vorlesungsskripts „Computergestützte Intelligenz, Teil 1“ der Hochschule Schmalkalden an [Golz, 2016]. Wenn eine Klassifikation präzise gelingt, stellt sich stets die Frage, welche Merkmale hierfür sehr hilfreich und welche weniger hilfreich waren. Dabei ist anzunehmen, dass auf die weniger hilfreichen verzichtet werden könnte, ohne Beeinträchtigung des Klassifikationerfolges. Es gibt Lernverfahren, die die Relevanz der Merkmale unter Berücksichtigung der Klassenentscheidung eigenständig lernen. Dabei gibt es Lernregeln für die Relevanzfaktoren, welche die Wichtigkeit der einzelnen Merkmale beschreibt. Ein Konzept ist die Verwendung der Relevanzfaktoren in einer gewichteten Metrik unter Einbeziehung der gewichteten Euklid’schen Distanz. ==formel==\overline x==formel== und ==formel==\overline y==formel== seien zwei ==formel==d==formel==-dimensionale Merkmalsvektoren und ==formel==r_1==formel== bis ==formel==r_d==formel== seien die Relevanzfaktoren der einzelnen Dimensionen von ==formel==\overline x==formel== bzw. ==formel==\overline y==formel==, dann werden diese wie folgt als Gewichtungsvektoren eingesetzt.
==formel==d=\|\overline x - \overline y\|=\sqrt[2]{r_1(x_1-y_1)^2+r_2(x_2-y_2)^2+...+r_d(x_d-y_d)^2} ==formel==
Die Relevanzfaktoren ==formel==r_1==formel== bis ==formel==r_d==formel== bilden einen Vektor der so normiert wird, dass die Summe ihrer Komponenten, also die Summe der Relevanzfaktoren, gleich eins ist. Dadurch können alle Relevanzen prozentual interpretiert werden.
Unter allen relevanzlernenden Algorithmen der LVQ-Familie soll hier vor allem die Generalisierte Relevanz-LVQ (GRLVQ) [Hammer & Villmann, 2002] vorgestellt werden. Folgende Algorithmen werden ebenfalls vorgestellt, wurden aber aus Zeitgründen am hier vorliegenden Datensatz nummerisch nicht untersucht.
Eine Arbeitsgruppe der TU Graz entwickelte Distinction Sensitive-LVQ (DSLVQ) [Pregenzer et al., 1994]. Eine japanische Arbeitsgruppe führte das Konzept der Generalisierten LVQ (GLVQ) [Sato & Yamada, 1995] ein. Aus der Arbeitsgruppe von Hammer wurde daraufhin das Konzept der Relevanz-LVQ (RLVQ) [Bojer et al., 2001] eingeführt.
Folgende vier Abarbeitungsschritte sind bei allen, hier vorgestellten LVQ-Algorithmen durchzuführen. Diese Abarbeitungsschritte laufen zyklisch ab, sodass immer nach Schritt 4 der Zyklus mit Schritt 1 startet, wobei ein neues, aktuelles Datenpaar von Merkmalsvektor ==formel==\overline {x_i}==formel== und Klassennummer ==formel==t_i==formel== aus der Trainingsmenge entnommen wird. Der Zyklus wird abgebrochen, wenn die Anzahl der Iterationen ==formel==n==formel==, die hier die Zyklusanzahl ist, einen von vornherein festgelegten Schwellwert ==formel==n_max==formel== überschreitet.
1.1. Mit der gewichteten Distanz ==formel==\|\overline {x_i}-\overline {w_j}\|_\overline r==formel== wird der erste und zweite Gewinner berechnet ==formel==(\overline {w_c},d_c)==formel== bzw. ==formel==(\overline {w_s}, d_s)==formel==. Der Index ==formel==c==formel== bedeutet „closest“ und bezeichnet den Gewichtsvektor ==formel==\overline w==formel==, der die geringste Distanz zum aktuellen Merkmalsvektor ==formel==\overline {x_i}==formel== hat. Der Index ==formel==s==formel== bedeutet „second closest“ und bezeichnet den Gewichtsvektor mit der zweitgeringsten Distanz zum aktuellen Merkmalsvektor. Die Klassennummer, die den Neuronen in der Initialisierungsphase fest zugeordnet wurde, wird mit ==formel==d==formel== bezeichnet.
Hier bezeichnet ==formel==t_i==formel== die fest zugeordnete Klassennummer des aktuellen
Merkmalvektors ==formel==\overline {x_i}==formel==
Deletions:
Die nachfolgenden Ausführungen lehnen sich an das Kapitel 11.5 des Vorlesungsskripts „Computergestützte Intelligenz, Teil 1“ der Hochschule Schmalkalden an [Golz, 2016]. Wenn eine Klassifikation präzise gelingt, stellt sich stets die Frage, welche Merkmale hierfür sehr hilfreich und welche weniger hilfreich waren. Dabei ist anzunehmen, dass auf die weniger hilfreichen verzichtet werden könnte, ohne Beeinträchtigung des Klassifikationerfolges. Es gibt Lernverfahren, die die Relevanz der Merkmale unter Berücksichtigung der Klassenentscheidung eigenständig lernen. Dabei gibt es Lernregeln für die Relevanzfaktoren, welche die Wichtigkeit der einzelnen Merkmale beschreibt. Ein Konzept ist die Verwendung der Relevanzfaktoren in einer gewichteten Metrik unter Einbeziehung der gewichteten Euklid’schen Distanz. xx und xx seien zwei d-dimensionale Merkmalsvektoren und r1 bis rd seien die Relevanzfaktoren der einzelnen Dimensionen von xx bzw. xx, dann werden diese wie folgt als Gewichtungsvektoren eingesetzt.
Die Relevanzfaktoren xx bis xx bilden einen Vektor der so normiert wird, dass die Summe ihrer Komponenten, also die Summe der Relevanzfaktoren, gleich eins ist. Dadurch können alle Relevanzen prozentual interpretiert werden. Unter allen relevanzlernenden Algorithmen der LVQ-Familie soll hier vor allem die Generalisierte Relevanz-LVQ (GRLVQ) [Hammer & Villmann, 2002] vorgestellt werden. Folgende Algorithmen werden ebenfalls vorgestellt, wurden aber aus Zeitgründen
am hier vorliegenden Datensatz nummerisch nicht untersucht. Eine Arbeitsgruppe der TU Graz entwickelte Distinction Sensitive-LVQ (DSLVQ) [Pregenzer et al., 1994]. Eine japanische Arbeitsgruppe führte das Konzept der Generalisierten
LVQ (GLVQ) [Sato & Yamada, 1995] ein. Aus der Arbeitsgruppe von Hammer wurde daraufhin das Konzept der Relevanz-LVQ (RLVQ) [Bojer et al., 2001] eingeführt. Folgende vier Abarbeitungsschritte sind bei allen, hier vorgestellten LVQ-Algorithmen durchzuführen. Diese Abarbeitungsschritte laufen zyklisch ab, sodass immer nach Schritt 4 der Zyklus mit Schritt 1 startet, wobei ein neues, aktuelles Datenpaar von Merkmalsvektor xx und Klassennummer xx aus der Trainingsmenge entnommen wird. Der Zyklus wird abgebrochen, wenn die Anzahl der Iterationen n, die hier die Zyklusanzahl ist, einen von vornherein festgelegten Schwellwert xx überschreitet.
Der Index c bedeutet „closest“ und bezeichnet den Gewichtsvektor xx, der die geringste Distanz zum aktuellen Merkmalsvektor xx hat. Der Index s bedeutet „second closest“ und bezeichnet den Gewichtsvektor mit der zweitgeringsten Distanz zum aktuellen Merkmalsvektor. Die Klassennummer, die den Neuronen in der Initialisierungsphase fest zugeordnet wurde, wird mit d bezeichnet. 1.2. Bezüglich der Klassennummer sind vier Fälle möglich:
Hier bezeichnet xx die fest zugeordnete Klassennummer des aktuellen
Merkmalvektors xx


Revision [80360]

Edited on 2017-06-21 00:16:16 by SebastianThomas [Bearbeitung noch nicht abgeschlossen]
Additions:
{{image url="MoeglichkeitenKlassennummer.png" width="125"}}
Deletions:
{{image url="MoeglichkeitenKlassennummer.png" width=75}}


Revision [80359]

Edited on 2017-06-21 00:15:13 by SebastianThomas [Bearbeitung noch nicht abgeschlossen]
Additions:
{{image url="MoeglichkeitenKlassennummer.png" width=75}}
Deletions:
{{image url="MoeglichkeitenKlassennummer.png"}}


Revision [80358]

Edited on 2017-06-20 23:46:24 by SebastianThomas [Bearbeitung noch nicht abgeschlossen]
Additions:
Nach Abschluss aller Trainingszyklen (Iterationen) liegt eine optimale Verteilung aller Gewichtsvektoren vor, dem eigentlichen Trainingsergebnis. Bei den relevanzlernenden LVQ-Verfahren liegt zusätzlich noch der Relevanzvektor vor, der ausdrückt, welche Merkmalsvektorkomponenten besonders ausschlaggebend für den Trainingserfolg waren und welche nicht.
Deletions:
Nach Abschluss {{image url="MoeglichkeitenKlassennummer.png"}} aller Trainingszyklen (Iterationen) liegt eine optimale Verteilung aller Gewichtsvektoren vor, dem eigentlichen Trainingsergebnis. Bei den relevanzlernenden LVQ-Verfahren liegt zusätzlich noch der Relevanzvektor vor, der ausdrückt, welche Merkmalsvektorkomponenten besonders ausschlaggebend für den Trainingserfolg waren und welche nicht.


Revision [80357]

Edited on 2017-06-20 23:46:09 by SebastianThomas [Bearbeitung noch nicht abgeschlossen]
Additions:
Nach Abschluss {{image url="MoeglichkeitenKlassennummer.png"}} aller Trainingszyklen (Iterationen) liegt eine optimale Verteilung aller Gewichtsvektoren vor, dem eigentlichen Trainingsergebnis. Bei den relevanzlernenden LVQ-Verfahren liegt zusätzlich noch der Relevanzvektor vor, der ausdrückt, welche Merkmalsvektorkomponenten besonders ausschlaggebend für den Trainingserfolg waren und welche nicht.
Deletions:
Nach Abschluss aller Trainingszyklen (Iterationen) liegt eine optimale Verteilung aller Gewichtsvektoren vor, dem eigentlichen Trainingsergebnis. Bei den relevanzlernenden LVQ-Verfahren liegt zusätzlich noch der Relevanzvektor vor, der ausdrückt, welche Merkmalsvektorkomponenten besonders ausschlaggebend für den Trainingserfolg waren und welche nicht.


Revision [80356]

Edited on 2017-06-20 23:44:02 by SebastianThomas [Bearbeitung noch nicht abgeschlossen]
Additions:
Der Index c bedeutet „closest“ und bezeichnet den Gewichtsvektor xx, der die geringste Distanz zum aktuellen Merkmalsvektor xx hat. Der Index s bedeutet „second closest“ und bezeichnet den Gewichtsvektor mit der zweitgeringsten Distanz zum aktuellen Merkmalsvektor. Die Klassennummer, die den Neuronen in der Initialisierungsphase fest zugeordnet wurde, wird mit d bezeichnet. 1.2. Bezüglich der Klassennummer sind vier Fälle möglich:
{{image url="MoeglichkeitenKlassennummer.png"}}
Deletions:
Der Index c bedeutet „closest“ und bezeichnet den Gewichtsvektor xx, der die geringste Distanz zum aktuellen Merkmalsvektor xx hat. Der Index s bedeutet „second closest“ und bezeichnet den Gewichtsvektor mit der zweitgeringsten Distanz zum aktuellen Merkmalsvektor. Die Klassennummer, die den Neuronen in der Initialisierungsphase fest zugeordnet wurde, wird mit d bezeichnet. 1.2. Bezüglich der Klassennummer sind vier Fälle möglich
{{files}}


Revision [80355]

Edited on 2017-06-20 23:41:12 by SebastianThomas [Bearbeitung noch nicht abgeschlossen]
Additions:
{{files}}
Deletions:
(a) xx
(b) xx
(c) xx
(d) xx


Revision [80332]

Edited on 2017-06-20 20:04:39 by SebastianThomas [Überarbeitung Artikelüberschrift]
Additions:
===== Die Vorstellung der LVQ-Familie =====
Deletions:
===== Die Historie der Lernenden Vektorquantisierung =====


Revision [80210]

Edited on 2017-06-19 00:58:10 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]
Additions:
(a) xx
(b) xx
(c) xx
(d) xx
Hier bezeichnet xx die fest zugeordnete Klassennummer des aktuellen
Merkmalvektors xx
Nach Abschluss aller Trainingszyklen (Iterationen) liegt eine optimale Verteilung aller Gewichtsvektoren vor, dem eigentlichen Trainingsergebnis. Bei den relevanzlernenden LVQ-Verfahren liegt zusätzlich noch der Relevanzvektor vor, der ausdrückt, welche Merkmalsvektorkomponenten besonders ausschlaggebend für den Trainingserfolg waren und welche nicht.
=== ((1))Literatur ===
- [Bojer et al. 2001] Bojer, Hammer, Shunk, Tluk von Toschanowitz – Relevance Determination in Learning Vector Quantization. Proceedings ESANN: 271-276
- [Golz & Sommer et al. 1998] Golz, Sommer, Lembcke, Kurella – Classification of Pre-Stimulus EEG of K-Complexes using Competitive Learning Networks. Proceedings EUFIT (3): 1767-1771, Mainz-Verlag Aachen
- [Golz, 2016] Computergestützte Intelligenz I. Vorlesungsmanuskript, Hochschule Schmalkalden
- [Hammer, Villmann, 2002] Generalized Relevance Learning Vector Quantization. Neural Networks 15: 1059-1068
- [Pregenzer et al., 1996] Pregenzer, Pfurtscheller, Flotzinger – Automated Feature Selection with Distinction Sensitive Learning Vector Quantization. Neurocomputing 11: 19-29
- [Sato, Yamada, 1995] Generalized Learning Vectorquantization. In: Tesauro, Touretzky, Leen (eds) Advances in Neural Information Processing Systems, 7: 423-429
- [Zapf, 2016] Lernfähige Algorithmen zur adaptiven Musterklassifikation von elektroenzephalographischen Signalen hypovigilanter Versuchspersonen – Durchführung und Auswertung einer Nachtfahrtsimulationsstudie. Bachelorarbeit, Hochschule Schmalkalden
[[TutoriumComputerbasierteIntelligenzIFKITSS17|zurück zum Hauptartikel]]
Deletions:
(a)


Revision [80209]

Edited on 2017-06-19 00:56:50 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]
Additions:
Der Index c bedeutet „closest“ und bezeichnet den Gewichtsvektor xx, der die geringste Distanz zum aktuellen Merkmalsvektor xx hat. Der Index s bedeutet „second closest“ und bezeichnet den Gewichtsvektor mit der zweitgeringsten Distanz zum aktuellen Merkmalsvektor. Die Klassennummer, die den Neuronen in der Initialisierungsphase fest zugeordnet wurde, wird mit d bezeichnet. 1.2. Bezüglich der Klassennummer sind vier Fälle möglich
(a)
Deletions:
Der Index c bedeutet „closest“ und bezeichnet den Gewichtsvektor xx, der die geringste Distanz zum aktuellen Merkmalsvektor


Revision [80208]

Edited on 2017-06-19 00:54:55 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]
Additions:
Die nachfolgenden Ausführungen lehnen sich an das Kapitel 11.5 des Vorlesungsskripts „Computergestützte Intelligenz, Teil 1“ der Hochschule Schmalkalden an [Golz, 2016]. Wenn eine Klassifikation präzise gelingt, stellt sich stets die Frage, welche Merkmale hierfür sehr hilfreich und welche weniger hilfreich waren. Dabei ist anzunehmen, dass auf die weniger hilfreichen verzichtet werden könnte, ohne Beeinträchtigung des Klassifikationerfolges. Es gibt Lernverfahren, die die Relevanz der Merkmale unter Berücksichtigung der Klassenentscheidung eigenständig lernen. Dabei gibt es Lernregeln für die Relevanzfaktoren, welche die Wichtigkeit der einzelnen Merkmale beschreibt. Ein Konzept ist die Verwendung der Relevanzfaktoren in einer gewichteten Metrik unter Einbeziehung der gewichteten Euklid’schen Distanz. xx und xx seien zwei d-dimensionale Merkmalsvektoren und r1 bis rd seien die Relevanzfaktoren der einzelnen Dimensionen von xx bzw. xx, dann werden diese wie folgt als Gewichtungsvektoren eingesetzt.
Die Relevanzfaktoren xx bis xx bilden einen Vektor der so normiert wird, dass die Summe ihrer Komponenten, also die Summe der Relevanzfaktoren, gleich eins ist. Dadurch können alle Relevanzen prozentual interpretiert werden. Unter allen relevanzlernenden Algorithmen der LVQ-Familie soll hier vor allem die Generalisierte Relevanz-LVQ (GRLVQ) [Hammer & Villmann, 2002] vorgestellt werden. Folgende Algorithmen werden ebenfalls vorgestellt, wurden aber aus Zeitgründen
am hier vorliegenden Datensatz nummerisch nicht untersucht. Eine Arbeitsgruppe der TU Graz entwickelte Distinction Sensitive-LVQ (DSLVQ) [Pregenzer et al., 1994]. Eine japanische Arbeitsgruppe führte das Konzept der Generalisierten
LVQ (GLVQ) [Sato & Yamada, 1995] ein. Aus der Arbeitsgruppe von Hammer wurde daraufhin das Konzept der Relevanz-LVQ (RLVQ) [Bojer et al., 2001] eingeführt. Folgende vier Abarbeitungsschritte sind bei allen, hier vorgestellten LVQ-Algorithmen durchzuführen. Diese Abarbeitungsschritte laufen zyklisch ab, sodass immer nach Schritt 4 der Zyklus mit Schritt 1 startet, wobei ein neues, aktuelles Datenpaar von Merkmalsvektor xx und Klassennummer xx aus der Trainingsmenge entnommen wird. Der Zyklus wird abgebrochen, wenn die Anzahl der Iterationen n, die hier die Zyklusanzahl ist, einen von vornherein festgelegten Schwellwert xx überschreitet.
1. Neuronenwettbewerb
Der Index c bedeutet „closest“ und bezeichnet den Gewichtsvektor xx, der die geringste Distanz zum aktuellen Merkmalsvektor
Deletions:
Die nachfolgenden Ausführungen lehnen sich an das Kapitel 11.5 des Vorlesungsskripts „Computergestützte Intelligenz, Teil 1“ der Hochschule Schmalkalden an [Golz, 2016]. Wenn eine Klassifikation präzise gelingt, stellt sich stets die Frage, welche Merkmale hierfür sehr hilfreich und welche weniger hilfreich waren. Dabei ist anzunehmen, dass auf die weniger hilfreichen verzichtet werden könnte, ohne Beeinträchtigung des Klassifikationerfolges. Es gibt Lernverfahren, die die Relevanz der Merkmale unter Berücksichtigung der Klassenentscheidung eigenständig lernen. Dabei gibt es Lernregeln für die Relevanzfaktoren, welche die Wichtigkeit der einzelnen Merkmale beschreibt. Ein Konzept ist die Verwendung der Relevanzfaktoren in einer gewichteten Metrik unter Einbeziehung der gewichteten Euklid’schen Distanz.


Revision [80207]

Edited on 2017-06-19 00:54:03 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]

No Differences

Revision [80206]

Edited on 2017-06-19 00:53:18 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]

No Differences

Revision [80205]

Edited on 2017-06-19 00:52:26 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]

No Differences

Revision [80204]

Edited on 2017-06-19 00:51:52 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]

No Differences

Revision [80203]

Edited on 2017-06-19 00:50:00 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]
Additions:
===== Die Historie der Lernenden Vektorquantisierung =====


=== ((1))Einleitung ===

Die Lernende Vektorquantisierung (LVQ, learning vector quantisation) ist ein künstliches neuronales Netz und besitzt eine einschichtige Topologie. Die Neuronen lernen nach dem Wettbewerbsprinzip. Das Neuron mit der höchsten Ähnlichkeit zu dem eingegebenen Merkmalsvektor gewinnt den Wettbewerb und nur auf dieses wird die Lernregel angewandt, welche relativ einfach ist. Das Verfahren benötigt wenig Rechenleistung und wenig Hauptspeicher und ist deshalb für empirische Parameteroptimierungen, bei denen extrem viel gelernt und verworfen werden muss, sehr gut geeignet. Die weiteren nachfolgenden Ausführungen orientieren sich an einem Vorlesungsmanuskript [Golz, 2016] und an einer Abschlussarbeit eines Kommilitonen [Zapf, 2016]. Unter allen Algorithmen der LVQ-Familie stellt sich immer wieder OLVQ1 als leistungsstärkster heraus, dieser verwendet für jedes Neuron eine individuelle Lernschrittweite und hat deshalb einen etwas höheren Hauptspeicherbedarf. Offenbar ist die Anpassung der Lernschrittweite ein wichtiges Element des Erfolgs. Im nächsten Abschnitt werden Methoden vorgestellt, die die Anpassung der Lernschrittweite noch mehr verfeinern. OLVQ1 wird als bevorzugte Methode für die empirische Optimierung der gesamten Prozesskette und für die Bruteforce-Selektion von Merkmalstypen verwendet. Entscheidend für den Erfolg ist eine geeignete Initialisierung der Gewichtsmatrix, hierfür wurde 1998 von der Hochschule Schmalkalden eine Methode entwickelt [Golz et al., 1998]. Die Anzahl der Neuronen wird dabei vorgegeben und zufällig datengetrieben initialisiert. Während des Initialisierungsverfahrens können sich einige Neuronen als tote Neuronen herausstellen, diese werden vor dem Start des Lernverfahrens gelöscht. Das Löschen toter Neuronen ist ein entscheidendes Konzept um Überanpassung (overfitting) zu vermeiden.


=== ((1))Generalisierendes Relevanzlernen ===

Die nachfolgenden Ausführungen lehnen sich an das Kapitel 11.5 des Vorlesungsskripts „Computergestützte Intelligenz, Teil 1“ der Hochschule Schmalkalden an [Golz, 2016]. Wenn eine Klassifikation präzise gelingt, stellt sich stets die Frage, welche Merkmale hierfür sehr hilfreich und welche weniger hilfreich waren. Dabei ist anzunehmen, dass auf die weniger hilfreichen verzichtet werden könnte, ohne Beeinträchtigung des Klassifikationerfolges. Es gibt Lernverfahren, die die Relevanz der Merkmale unter Berücksichtigung der Klassenentscheidung eigenständig lernen. Dabei gibt es Lernregeln für die Relevanzfaktoren, welche die Wichtigkeit der einzelnen Merkmale beschreibt. Ein Konzept ist die Verwendung der Relevanzfaktoren in einer gewichteten Metrik unter Einbeziehung der gewichteten Euklid’schen Distanz.
Deletions:
====== Vorstellung der Lernenden Vektorquantisierung ======


Revision [80202]

The oldest known version of this page was created on 2017-06-19 00:15:43 by SebastianThomas [noch in Bearbeitung (Formeln und Bilder fehlen)]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki