Matroids Matheplanet Forum Index
Moderiert von matroid
Mathematik » Numerik & Optimierung » Bachelorarbeit - CNN und das Einlesen handgeschriebener Ziffern aus einer MNIST Datenbank
Druckversion
Druckversion
Antworten
Antworten
Autor
Universität/Hochschule Bachelorarbeit - CNN und das Einlesen handgeschriebener Ziffern aus einer MNIST Datenbank
Wunderkind89
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 15.03.2018
Mitteilungen: 61
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2021-06-09


Hallo zusammen,

ich schreibe gerade meine Bachelorarbeit und hoffe dass einige mir dabei helfen können einige Beweise besser zu verstehen, weil ich sitze an manchen Beweisen zu lang, ohne wirklich zu verstehen, was damit gemeint ist.  

Mein Thema ist: CNN (Convolutional Neural Network) und das Lesen von Handgeschriebenen Ziffern aus der MNIST Datenbank mit Hilfe von Backpropagation in Python.

Bei der Minimumsuche soll ich (Vorschlag des Dozenten) BFGS Verfahren anwenden und das gehört zu Quasi Newton Verfahren.

Um BFGS Verfahren zu verstehen habe ich verschiedene Quellen im Netz durchsucht und bin auf ein Skript gestoßen (optimierung_hamburg_WS0607.pdf), der die Thematik "Unrestringierte Optimierung" so auch das BFGS Verfahren gut beschreibt.

Quelle: www.eike-klima-energie.eu/2020/11/17/gibt-es-einen-treibhauseffekt/

Jetzt habe ich erstmal zwei wichtige Fragen zum Formalen:

1) Darf ich so einen öffentlichen Skript als Zitierquelle nehmen?

2) Wenn ich Beweise, Sätze zitiere, da kann ich diese nicht in eigenen Worten wiedergeben, weil sonst wären wir im Deutschunterricht, wo wir ein Satz auf mehrere Weisen formulieren können. Beweise und Sätze sind doch rein formal und da kann ich nicht diese umschreiben, also übernehme ich diese 1 zu 1 mit Beleg oder was meint ihr? Wichtig ist doch, dass ich diese Verstehe und im Zusammenhang erwähne.

Um BFGS Verfahren besser zu verstehen, habe ich auf Seite 25 im Skript angefangen. Da werden unrestringierte Optimierungsprobleme behandelt, also die Grundlagen und erst später kommt BFGS Verfahren (erst auf Seite 103. Zwischendurch werden aber auch andere Verfahren erwähnt, die man überspringen kann).

Also habe ich vor in meiner Bachelorarbeit die Notwendigen Bedingungen erster Ordnung und zweiter Ordnung zu erwähnen inklusive Beweis, weil darauf Baut mein BFGS Verfahren ja auf! Das Problem hier ist, dass ich mir Sorgen mache mich zu sehr im Detail zu verlieren, sodass später rauskommt, dass ich mich nicht um wichtige Dine gekümmert habe.

Das also vorweg aber nun konkret zu meiner eigentlichen Frage zum Beweis:

Hier ist erstmal der Beweis:



1) Woher kommt die Idee mit dem d und warum ungleich 0? Die Definitheit wird doch über Hauptminorkriterium bestimmt oder durch Eigenwerte. Was hat d ungleich 0 damit zu tun und warum ist die Gleichung < 0?

Ich denke, dass man hier für ein Minimum prüfen will, ob zweite Ableitung < 0 oder > 0.  
 
2) Woher kommt dieses t beim Taylor?

Ich weiß zum Beispiel, dass wegen Gradient f(x) = 0 bei der Taylorentwicklung im Beweis dieser Part wegfällt und da wir zwei mal stetig differenzierbare Funktion haben entwickeln wir bis p = 2, so zumindest kommt die Formel zustande mit der Hessematrix.

Ich wäre euch sehr dankbar, wenn ihr mir bisschen Licht ins dunkle bringen könntet, weil ich investiere zu viel Zeit in das Verstehen der Beweise und komme kein Stück voran irgendwie und das ist sehr frustrierend, denn neben den Beweisen muss ich auch mit Programmieren so langsam anfangen.

Auf Seite 93 im Skript geht es eigentlich los mit Quasi Newton Verfahren. Vielleicht wäre es besser, wenn ich direkt da einsteigen würde.

Deswegen will ich die Ruhe bewahren und erstmal Schritt für Schritt alles abhacken.

Wenn ihr anders an die Sache rangehen würdet, dann wäre ich über jeden Tipp dankbar.

Übrigens, ich werde alle weitere Fragen an euch in diesem von mir eröffneten Tile posten und keine neuen Tiles erstellen, damit das Ganze schön übersichtlich bleibt, daher es werden alles Fragen sein, die sich auf das Thema meiner Bachelorarbeit beziehen. Falls jemand in Zukunft ähnliche Fragen haben sollte, dann kann man diesen Tile verlinken.  

Noch etwas: die Bachelorarbeit ist noch nicht angemeldet, denn wenn ich sie anmelde habe ich 12 Wochen Zeit und da will ich schon ein sicheres Gefühl bei der ganzen Sache haben und zur Zeit habe ich so ein Gefühl, dass ich noch weit entfernt davon bin.

Grüße

 



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
sonnenschein96
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 26.04.2020
Mitteilungen: 507
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2021-06-09


Hallo Wunderkind89,

2021-06-09 15:42 - Wunderkind89 im Themenstart schreibt:
1) Darf ich so einen öffentlichen Skript als Zitierquelle nehmen?

Frag am Besten Deinen Prof, meiner wollte das damals nicht.


2021-06-09 15:42 - Wunderkind89 im Themenstart schreibt:
2) Wenn ich Beweise, Sätze zitiere, da kann ich diese nicht in eigenen Worten wiedergeben, weil sonst wären wir im Deutschunterricht, wo wir ein Satz auf mehrere Weisen formulieren können. Beweise und Sätze sind doch rein formal und da kann ich nicht diese umschreiben, also übernehme ich diese 1 zu 1 mit Beleg oder was meint ihr? Wichtig ist doch, dass ich diese Verstehe und im Zusammenhang erwähne.

Es wäre denke ich gut, wenn Du die Sachen nicht Wort für Wort abschreibst. Zumindest die Formulierungen kann man ändern (die Formeln natürlich eher nicht). Außerdem sind meiner Erfahrung nach Beweise oft nur sehr grob aufgeschrieben, da besteht dann die Möglichkeit, die fehlenden Schritte zu ergänzen. Das zeigt dann auch, dass Du die Beweise wirklich verstanden und nicht nur blind abgeschrieben hast. Die Beweise in meinen Abschlussarbeiten waren oft doppelt oder dreimal so lang wie in der Quelle, welche ich verwendet habe.


2021-06-09 15:42 - Wunderkind89 im Themenstart schreibt:
1) Woher kommt die Idee mit dem d und warum ungleich 0? Die Definitheit wird doch über Hauptminorkriterium bestimmt oder durch Eigenwerte. Was hat d ungleich 0 damit zu tun und warum ist die Gleichung < 0?

Eine symmetrische Matrix \(A\in\mathbb{R}^{n\times n}\) heißt positiv semidefinit, falls \(x^TAx\geq0\) für alle \(x\in\mathbb{R}^n\). Es gibt auch andere äquivalent Charakterisierungen, etwa über Eigenwerte oder Hauptminoren, siehe hier. Wenn \(A\) also nicht positiv semidefinit ist, gibt es ein \(x\in\mathbb{R}^n\) mit \(x^TAx<0\). Es gilt \(x\neq0\), da \(0^TA0=0\) ist.
 

2021-06-09 15:42 - Wunderkind89 im Themenstart schreibt:
2) Woher kommt dieses t beim Taylor?

Ich weiß zum Beispiel, dass wegen Gradient f(x) = 0 bei der Taylorentwicklung im Beweis dieser Part wegfällt und da wir zwei mal stetig differenzierbare Funktion haben entwickeln wir bis p = 2, so zumindest kommt die Formel zustande mit der Hessematrix.  

Das \(t\) "kommt nirgendwo her", Du betrachtest Vektoren mit der selben Richtung wie \(d\), die unterschiedliche Längen besitzen. Schau Dir am Besten nochmal Restglieddarstellungen an.

Sei \(\varepsilon>0\) so gewählt, dass \(B_\varepsilon(\hat{x})\subseteq D\). Zu \(y\in B_\varepsilon(0)\) gibt es nach Taylor ein \(\theta\in(0,1)\) mit
\[f(\hat{x}+y)=f(\hat{x})+\nabla f(\hat{x})y+\frac{1}{2}y^T\nabla^2 f(\hat{x}+\theta y)y.\] Dort setzt Du \(y=td\) mit \(t>0\) ein (es sollte \(t<\frac{\varepsilon}{\|d\|}\) sein) und definierst \(\xi_t:=\theta t\in(0,t)\).


Die Aussage, dass die Hessematrix in lokalen Minima positiv semidefinit ist, solltet Ihr aber eigentlich auch schon in einer Vorlesung wie Analysis 2 oder so bewiesen haben. Ist dies der Fall, dann gehört dieser Beweis meiner Meinung nach nicht in Deine Arbeit (es sei denn, Du musst Dich später explizit auf diesen Beweis beziehen und nicht nur auf das Resultat).



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Wunderkind89
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 15.03.2018
Mitteilungen: 61
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, vom Themenstarter, eingetragen 2021-06-12


Vielen Dank für deine ausführliche Antwort :)

Ja, ich werde mich lieber als Literatur an den Büchern orientieren und habe jetzt schon drei Quellen zu BFGS gefunden. Mit einem Buch hab ich schon angefangen Quasi Newton Verfahren zu beschreiben und einzuleiten und bin über diesen Beweis hier gestolpert:  



Das ist ein Beweis zu: die Funktion ist genau dann streng konvex, wenn (∇f(y)−∇f(x))^T *(y − x) > 0

1) Warum steht am Ende 1/t bzw. woher kommt es?


2)  Zweite Zeile im Beweis: Warum wird ein Gradient f(x) eingeführt? Ich weiß dass es sich hier um folgenden Zusammenhang aus dem Mittelwert Satz handelt:

f ' (Xo) = f(b) - f(a) / b - a <=> f'(Xo)* (b-a)  = f(b) - f(a),

wobei Xo ein Element aus (a,b). In dem Beweis so wie ich das verstehe wird f'(Xo) umgeschrieben nur ich kann es nicht nachvollziehen wieso man es auf diese Art schreibt. Das, was da steht ist:
Gradient f(x + t(y-x)) was nichts anderes heißt, dass ich mich ein stückchen weiter nach rechts von x bewege und mir da die Ableitung anschaue.

Grüße



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
sonnenschein96
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 26.04.2020
Mitteilungen: 507
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2021-06-12


2021-06-12 01:58 - Wunderkind89 in Beitrag No. 2 schreibt:
1) Warum steht am Ende 1/t bzw. woher kommt es?

Man verwendet einfach, dass \(y-x=\frac{1}{t}(x+t(y-x)-x)\) ist. Man möchte irgendwo den Term \(x+t(y-x)\) stehen haben, da man \(\nabla f(x+t(y-x))\) aus dem Mittelwertsatz bekommen hat.


2021-06-12 01:58 - Wunderkind89 in Beitrag No. 2 schreibt:
Ich weiß dass es sich hier um folgenden Zusammenhang aus dem Mittelwert Satz handelt:

f ' (Xo) = f(b) - f(a) / b - a <=> f'(Xo)* (b-a)  = f(b) - f(a),

wobei Xo ein Element aus (a,b).

Dies ist nicht richtig. Beachte, dass wir hier im \(\mathbb{R}^n\) unterwegs sind und man gar nicht durch \(b-a\) teilen kann. Siehe hier.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Wunderkind89
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 15.03.2018
Mitteilungen: 61
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, vom Themenstarter, eingetragen 2021-06-12


fed-Code einblenden



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 2428
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, eingetragen 2021-06-12


2021-06-12 19:10 - Wunderkind89 in Beitrag No. 4 schreibt:
Wenn fed-Code einblenden sein soll, dann ist fed-Code einblenden

Wie kommst du auf diese Idee?



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
sonnenschein96
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 26.04.2020
Mitteilungen: 507
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.6, eingetragen 2021-06-12


2021-06-12 19:10 - Wunderkind89 in Beitrag No. 4 schreibt:
Wenn fed-Code einblenden sein soll, dann ist fed-Code einblenden

Nein, die Gleichung gilt trivialerweise wegen \(x-x=0\) und \(\frac{1}{t}\cdot t=1\). Du hast falsch umgestellt, wobei sich mir nicht erschließt, wieso Du diese Gleichung überhaupt umstellen möchtest.


Nach dem Mittelwertsatz gibt es ein \(z\) auf der Verbindungsstrecke von \(x\) und \(y\) mit
\[f(y)-f(x)=\nabla f(z)^T(y-x).\] Dieses \(z\) können wir als \(z=x+t(y-x)\) mit \(t\in(0,1)\) schreiben, siehe hier.

[Die Antwort wurde vor Beitrag No.1 begonnen.]



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Wunderkind89
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 15.03.2018
Mitteilungen: 61
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.7, vom Themenstarter, eingetragen 2021-06-22


fed-Code einblenden



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
sonnenschein96
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 26.04.2020
Mitteilungen: 507
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.8, eingetragen 2021-06-22


Deine Rechnung ergibt keinen Sinn, unter anderem da durch \(d_i\) teilst, was ein Vektor ist... Nach der Kettenregel gilt \(\varphi'(\alpha)=\nabla f(x_i+\alpha d_i)^T\cdot d_i\), also \(\varphi'(0)=\nabla f(x_i)^T\cdot d_i\). Wegen \(0>\varphi'(0)=\lim_{\alpha\to0}\frac{\varphi(\alpha)-\varphi(0)}{\alpha-0}\) gibt es ein \(\alpha_0>0\) mit \(\varphi(\alpha)<\varphi(0)\) für alle \(\alpha\in(0,\alpha_0]\).

Man definiert \(\varphi\), um zu schauen für welchen Streckungsfaktor \(\alpha\) sich bei fest gewählter Richtung \(d_i\) ein möglichst kleiner Wert von \(f\) ergibt, wenn man in \(x_i\) startet.


Edit: Du hast Recht damit, dass die Gleichung \(\alpha=x_i+\alpha d_i\) keinen Sinn ergibt, allein schon aus Dimensionsgründen. Ich habe allerdings auch keine Ahnung, wieso Du denkst, dass diese Gleichung gelten sollte...



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Wunderkind89
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 15.03.2018
Mitteilungen: 61
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.9, vom Themenstarter, eingetragen 2021-06-22


fed-Code einblenden



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
sonnenschein96
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 26.04.2020
Mitteilungen: 507
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.10, eingetragen 2021-06-22


Es gilt \(\varphi=f\circ g\) mit \(g\colon\mathbb{R}\to\mathbb{R}^n, g(\alpha)=x_i+\alpha d_i\). Damit ist \(\varphi'(\alpha)=\nabla f(g(\alpha))\cdot g'(\alpha)=\nabla f(x_i+\alpha d_i)\cdot d_i\).



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Wunderkind89
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 15.03.2018
Mitteilungen: 61
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.11, vom Themenstarter, eingetragen 2021-06-23


fed-Code einblenden



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
sonnenschein96
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 26.04.2020
Mitteilungen: 507
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.12, eingetragen 2021-06-23


Es ist etwas komisch formuliert, das stimmt. Wegen \(\beta\in(0,1)\) ist \((\beta^j)_j\) streng monoton fallend und \(\max\{\beta^j\,|\,j=0,1,2,\ldots\}=\beta^0=1\).

Das ist wohl aber nicht gemeint. Ich denke man muss noch den Halbsatz danach mit einbeziehen, also \(\varphi(\alpha_i)\leq\varphi(0)+\sigma\alpha_i\varphi'(0)\). Du suchst also das größte \(\beta^j\), sodass die Bedingung \(\varphi(\beta^j)\leq\varphi(0)+\sigma\beta^j\varphi'(0)\) erfüllt ist. Äquivalent suchst Du also das kleinste \(j\in\mathbb{N}_0\) mit \(\varphi(\beta^j)\leq\varphi(0)+\sigma\beta^j\varphi'(0)\). Dann setzt Du \(\alpha_i:=\beta^j\), wobei in der Notation unterdrückt wird, dass \(\varphi\) eigentlich von \(i\) abhängig ist.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Wunderkind89
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 15.03.2018
Mitteilungen: 61
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.13, vom Themenstarter, eingetragen 2021-06-23


fed-Code einblenden



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Wunderkind89 hat die Antworten auf ihre/seine Frage gesehen.
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]