Quantitative Analyse von Protein-Massenspektren

Quantitative Analyse von Protein-Massenspektren Quantitative Analyse von Protein-Massenspektren

22.12.2012 Aufrufe

58 ⎛ df1 ⎜ ⎜ dx1 J ( x) = ⎜ ... ⎜ df m ⎜ dx ⎝ 1 ... ... ... df1 ⎞ ⎟ dxn ⎟ ... ⎟ dfm ⎟ dx ⎟ n ⎠ Setzt man Gl. (3.6.1.4) in die Definition von (3.6.1.2) ein, so erhält man: 1 T F( x + h) ≅ L( h) ≡ l( h) l( h) 2 1 T T T 1 T T = f(x) f(x) + h J ( x) f(x) + h J ( x) J ( x) h 2 2 T T 1 T T = F( x) + h J ( x) f(x) + h J ( x) J ( x) h 2 (3.6.1.5) (3.6.1.6) Es ist derjenige Parameterschritt h gesucht, welcher L(h) minimiert: = argmin { L( h)} . Um h zu finden, werden zunächst der Gradient und die Hesse-Matrix bestimmt: ' g( x) = L ( h) = J ( x) '' H ( x) = L ( h) = J ( x) T f ( x) + J ( x) T J ( x) T J ( x) h h h (3.6.1.7) Man sieht, dass L ’’ (h) unabhängig von h ist. L ’’ (h) ist symmetrisch und wenn die Jacobi- Matrix J vollen Rang hat, d.h. die Spalten von J sind linear unabhängig, dann ist F ’’ (h) positiv definit. Der Schritt h, welcher die Kostenfunktion minimiert, kann gefunden werden, indem T T L ' ( h) = 0 ⇒ J ( x) J ( x) h = −J ( x) f gelöst wird. Der LM-Algorithmus löst eine leichte opt T T Variation davon, nämlich: ( J ( x) J ( x) + µ I ) h = −J ( x) f . Der zusätzliche Parameter µ wird opt als „Dämpfungsfaktor“ verwendet. Ist µ>0, so ist die Koeffizienten-Matrix positiv definit und somit zeigt hopt in eine absteigende Richtung. Für große Werte von µ wird ein kleiner Schritt durchgeführt. Kleine µ Werte hingegen kommen am Ende der Optimierung zum Tragen, wenn der gesuchte Parametervektor nahe am Optimum ist. Der Dämpfungsparameter wird bei jedem Iterationsschritt angepasst, damit sichergestellt ist, dass die Kostenfunktion minimiert wird. Ein weiterer Vorteil der Einführung dieses Parameters ist, dass Situationen in denen J(x) T J(x) singulär wird, abgefangen werden. Sobald hopt bestimmt ist, wird der neue Parame- tervektor x gesetzt: x : = x + αhopt . Der Algorithmus ist in Abb. 3.6.1.1 zusammengefasst.

Beim Least-Squares-Fitting wird die Summe der Quadrate der Residuen minimiert. Dieser Mechanismus funktioniert nicht bzw. nur unzureichend, wenn starke Ausreißer vorhanden sind. Das Quadrat der Residuen führt in dem Bereich des Ausreißers dazu, dass die gefittete Kurve sich weit vom Optimum entfernt. Ein anderer Problemfall ist gegeben, wenn die y- Daten sich über mehrere Größenordnungen erstrecken. Hier kann das Quadrat der Residuen der größten y-Daten die Residuen der kleineren y-Daten überragen mit dem Ergebnis, dass die kleinen Werte nur schlecht oder gar nicht gefittet werden. Diese Punkte werden in den Kapiteln 3.6.3. und 3.6.4. behandelt. Zunächst wird die Implementierung aus [NR] für den unbeschränkten LM-Algorithmus benutzt. Dieser erweist sich jedoch als nicht robust genug. Beim Testen mit synthetischen Daten kam es fast immer zur Bildung einer Singulärmatrix (bei der Gauss-Jordan-Elimination), wenn die Startparameter ungünstig gewählt sind, d.h. die Fitting-Methode brach ab. Ein weiteres Problem ist, dass die Implementierung nur sehr spartanisch ist, d.h. viele Entwicklungen, welche seit der Veröffentlichung des urspr. Algorithmus 1963 bekannt sind, sind nicht in den Code eingegangen. Somit eignet sich diese Variante nicht, um das hiesige Problem zu lösen. Stattdessen wird auf den von Manolis Lourakis implementierten LM-Algorithmus gesetzt. Dieser bietet neben der Beseitigung vorhin genannter Mängel auch die wichtige Option an, Randbedingungen für die Parameter bzw. die Gleichungen zu setzen. Eine sehr wichtige Eigenschaft im Hinblick auf die Optimierung des Fittings. 3.6.2. Güteparameter Abb. 3.6.1.1: Skizze des LM-Algorithmus. Er stoppt, wenn eine der folgenden Bedingungen erfüllt ist: • die maximale Zahl kmax an Iterationen ist erreicht, • die Ordnung von g ist kleiner ε1, • die Änderung von hlm ist kleiner ε2. Als Werte werden für ε 10 -15 gesetzt und für kmax 3000. Um die Güte eines Fittings zu bestimmen und somit verschiedene Fittings miteinander zu vergleichen, bedarf es eines Maßes. Ein gebräuchliches Maß ist das Bestimmtheitsmaß: 59

58<br />

⎛ df1<br />

⎜<br />

⎜ dx1<br />

J ( x)<br />

= ⎜ ...<br />

⎜ df m<br />

⎜<br />

dx<br />

⎝ 1<br />

...<br />

...<br />

...<br />

df1<br />

⎞<br />

⎟<br />

dxn<br />

⎟<br />

... ⎟<br />

dfm<br />

⎟<br />

dx<br />

⎟<br />

n ⎠<br />

Setzt man Gl. (3.6.1.4) in die Definition <strong>von</strong> (3.6.1.2) ein, so erhält man:<br />

1 T<br />

F(<br />

x + h)<br />

≅ L(<br />

h)<br />

≡ l(<br />

h)<br />

l(<br />

h)<br />

2<br />

1 T<br />

T T 1 T T<br />

= f(x) f(x) + h J ( x)<br />

f(x) + h J ( x)<br />

J ( x)<br />

h<br />

2<br />

2<br />

T T 1 T T<br />

= F(<br />

x)<br />

+ h J ( x)<br />

f(x) + h J ( x)<br />

J ( x)<br />

h<br />

2<br />

(3.6.1.5)<br />

(3.6.1.6)<br />

Es ist derjenige Parameterschritt h gesucht, welcher L(h) minimiert: = argmin { L(<br />

h)}<br />

. Um<br />

h zu finden, werden zunächst der Gradient und die Hesse-Matrix bestimmt:<br />

'<br />

g(<br />

x)<br />

= L ( h)<br />

= J ( x)<br />

''<br />

H ( x)<br />

= L ( h)<br />

= J ( x)<br />

T<br />

f ( x)<br />

+ J ( x)<br />

T<br />

J ( x)<br />

T<br />

J ( x)<br />

h<br />

h h<br />

(3.6.1.7)<br />

Man sieht, dass L ’’ (h) unabhängig <strong>von</strong> h ist. L ’’ (h) ist symmetrisch und wenn die Jacobi-<br />

Matrix J vollen Rang hat, d.h. die Spalten <strong>von</strong> J sind linear unabhängig, dann ist F ’’ (h) positiv<br />

definit. Der Schritt h, welcher die Kostenfunktion minimiert, kann gefunden werden, indem<br />

T<br />

T<br />

L ' ( h)<br />

= 0 ⇒ J ( x)<br />

J ( x)<br />

h = −J<br />

( x)<br />

f gelöst wird. Der LM-Algorithmus löst eine leichte<br />

opt<br />

T<br />

T<br />

Variation da<strong>von</strong>, nämlich: ( J ( x)<br />

J ( x)<br />

+ µ I ) h = −J<br />

( x)<br />

f . Der zusätzliche Parameter µ wird<br />

opt<br />

als „Dämpfungsfaktor“ verwendet. Ist µ>0, so ist die Koeffizienten-Matrix positiv definit und<br />

somit zeigt hopt in eine absteigende Richtung. Für große Werte <strong>von</strong> µ wird ein kleiner Schritt<br />

durchgeführt. Kleine µ Werte hingegen kommen am Ende der Optimierung zum Tragen, wenn<br />

der gesuchte Parametervektor nahe am Optimum ist. Der Dämpfungsparameter wird bei jedem<br />

Iterationsschritt angepasst, damit sichergestellt ist, dass die Kostenfunktion minimiert<br />

wird. Ein weiterer Vorteil der Einführung dieses Parameters ist, dass Situationen in denen<br />

J(x) T J(x) singulär wird, abgefangen werden. Sobald hopt bestimmt ist, wird der neue Parame-<br />

tervektor x gesetzt: x : = x + αhopt<br />

. Der Algorithmus ist in Abb. 3.6.1.1 zusammengefasst.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!