|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325 |
- %
- % Optimization Techniques Work 3 report
- %
- % authors:
- % Χρήστος Χουτουρίδης ΑΕΜ 8997
- % cchoutou@ece.auth.gr
-
-
- \documentclass[a4paper, 11pt]{AUTHReport}
-
- % Document configuration
- \AuthorName{Χρήστος Χουτουρίδης}
- \AuthorAEM{8997}
- \AuthorMail{cchoutou@ece.auth.gr}
-
- %\CoAuthorName{CoAuthor Name}
- %\CoAuthorAEM{AEM}
- %\CoAuthorMail{CoAuthor Mail}
-
- % \WorkGroup{Ομάδα Χ}
-
- \DocTitle{3η Εργαστηριακή Άσκηση}
- \DocSubTitle{Μέθοδος Μέγιστης Καθόδου με Προβολή}
-
- \Department{Τμήμα ΗΜΜΥ. Τομέας Ηλεκτρονικής}
- \ClassName{Τεχνικές Βελτιστοποίησης}
-
- \InstructorName{Γ. Ροβιθάκης}
- \InstructorMail{rovithak@auth.gr}
-
- \CoInstructorName{Θ. Αφορόζη}
- \CoInstructorMail{taforozi@ece.auth.gr}
-
- \CurrentDate{\today}
-
-
- \usepackage{enumitem}
- \usepackage{tabularx}
- \usepackage{array}
- \usepackage{amssymb}
- \usepackage{amsfonts}
- \usepackage{amsmath}
- \usepackage{commath}
-
- \usepackage{float}
- \usepackage[labelformat=empty]{subcaption}
-
- \begin{document}
-
- \InsertTitle
-
- %\tableofcontents
-
- \section{Εισαγωγή}
- Η παρούσα εργασία αφορά το πρόβλημα της ελαχιστοποίησης μιας δοσμένης συνάρτησης πολλών μεταβλητών $f: \mathbb{R}^n \rightarrow \mathbb{R}$ με περιορισμούς χρησιμοποιώντας τη μέθοδο μέγιστης καθόδου με προβολή.
- Η μέθοδος αυτή θα εκτελεστεί σε αντιπαραβολή με την αντίστοιχη μέθοδο χωρίς περιορισμούς από την προηγούμενη εργασία.
- Για το λόγο αυτό χρησιμοποιούμε των κώδικα της προηγούμενης εργασίας με κάποιες τροποποιήσεις, όπως θα δούμε και παρακάτω.
-
- \subsection{Παραδοτέα}
- Τα παραδοτέα της εργασίας αποτελούνται από:
- \begin{itemize}
- \item Την παρούσα αναφορά.
- \item Τον κατάλογο \textbf{scripts/}, που περιέχει τον κώδικα της MATLAB.
- \item Το \href{https://git.hoo2.net/hoo2/OptimizationTechniques/src/branch/master/Work%203}{σύνδεσμο} με το αποθετήριο που περιέχει όλο το project με τον κώδικα της MATLAB, της αναφοράς και τα παραδοτέα.
- \end{itemize}
-
- \subsection{Προγραμματιστική προσέγγιση}
- Για τον προγραμματισμό και εκτέλεση των μεθόδων της παρούσας εργασίας έγινε χρήση της MATLAB.
- Στον κατάλογο \textbf{scripts}, περιέχονται όλες οι μέθοδοι και οι τεχνικές υπολογισμού βημάτων με τη μορφή συναρτήσεων καθώς και scripts που τις καλούν.
- Για κάθε ένα θέμα της εργασίας, υπάρχει το αντίστοιχο script που περιέχει τους υπολογισμούς, τις κλήσεις των μεθόδων και τη δημιουργία των διαγραμμάτων.
- Για το πρώτο θέμα το αρχείο Script\_1\_SteepDesc.m για το δεύτερο το Script\_2\_SteepDesc\_Proj.m και ούτω καθεξής.
- Η μέθοδος μέγιστης καθόδου (αρχείο: \textbf{method\_SteepDesc.m}) είναι η ίδια με αυτή της προηγούμενης εργασίας με τη μόνη διαφορά ότι τροποποιήθηκε ώστε η αντικειμενική συνάρτηση να δέχεται διάνυσμα ώς όρισμα και όχι δύο διαφορετικές μεταβλητές $x, y$.
- Αυτό ακολουθήθηκε και για την έκδοση με προβολή και φυσικά είχε αντίκτυπο και στις υπόλοιπες συναρτήσεις, όπως η κλίση ή ο Εσσιανός.
- Στην παρούσα εργασία η υλοποίηση του κώδικα ακολουθεί την προσέγγιση των προηγούμενων εργασιών.
- Πιο συγκεκριμένα.
-
- \subsection{Μέθοδοι επιλογής βήματος}
- Εφόσον οι υπάρχουσες μέθοδοι επιλογής βήματος είναι ανεξάρτητες από την μέθοδο υπολογισμού του ελάχιστου και εφόσον χρησιμοποιούμε τον ίδιο κώδικά και στην παρούσα εργασία, αυτός ο τρόπος σχεδίασης παρέμεινε.
- Ουσιαστικά για κάθε ένα τρόπο υπολογισμού του $\gamma_k$, υπάρχει αντίστοιχη συνάρτηση, με κοινό interface.
- Αυτό έχει τη μορφή: \textit{\textbf{gamma\_<method>(f, grad\_f, dk, xk)}}, όπου το \textbf{f} είναι η αντικειμενική συνάρτηση, \textbf{grad\_f} η συνάρτηση κλίσης της, \textbf{dk} η τιμή της συνάρτησης κλίσης στο xk και \textbf{xk} το σημείο ενδιαφέροντος.
- Έτσι οι μέθοδοι αντιγράφηκαν και εδώ για ολότητα, ακόμα και αν για την παρούσα εργασία χρησιμοποιείται μόνο το σταθερό βήμα $\gamma_k$.
-
- %\subsection{Symbolic expression functions}
- %Μία ακόμη προγραμματιστική τεχνική που ακολουθήθηκε είναι η χρήση \textbf{symbolic expression} για την αναπαράσταση της αντικειμενικής συνάρτησης.
- %Η εξήγηση υπάρχει και στις προηγούμενες εργασίες αλλά την παραθέτουμε εδώ για ολότητα.
- %Ο λόγος που επιλέχθηκε είναι η \textbf{δυνατότητα εξαγωγής ενός symbolic expression που αναπαριστά την κλίση $\nabla f$ και τον Εσσιανό $\nabla^2f$ μιας συνάρτησης} από την MATLAB, κάνοντας χρήση των εντολών \textit{gradient()} και \textit{hessian()}.
- %Αν αντίθετα χρησιμοποιούσαμε απλές συναρτήσεις, πολυώνυμα ή lambdas για την αναπαράσταση των αντικειμενικών συναρτήσεων, τότε για τον υπολογισμό της κλίσης και του Εσσιανού θα έπρεπε:
- %\begin{itemize}
- % \item Είτε να υπολογίζαμε αριθμητικά τις παραγώγους gradient και hessian μέσα στις μεθόδους, κάτι που θα εισήγαγε \textit{\textbf{αχρείαστο αριθμητικό σφάλμα}}.
- % \item Είτε να κάναμε χρήση δύο επιπλέων συναρτήσεων (ή πολυωνύμων) για την αναπαράσταση τους, κάτι που ουσιαστικά θα δημιουργούσε \textit{\textbf{πλεονασμό πληροφορίας εισόδου}} και άρα μεγαλύτερη πιθανότητα να κάνουμε λάθος.
- %\end{itemize}
- %Η αναπαράσταση όμως με χρήση symbolic expression είναι πιο “βαριά” όταν χρειάζεται να υπολογίσουμε την τιμή μιας συνάρτησης σε κάποιο σημείο (subs(expr, number)).
- %Αυτό είναι κάτι που χρειάζεται εκτενώς στον κώδικά μας.
- %Για το λόγο αυτό, ενώ η συνάρτηση δίνεται ως symbolic expression, μέσω αυτής υπολογίζονται αυτόματα η κλίση, ο Εσσιανός αλλά και οι “κανονικές” συναρτήσεις MATLAB που τις υλοποιούν.
- %Έτσι έχουμε την ακριβή αναπαράσταση της κλίσης και του Εσσιανού ως συναρτήσεις χωρίς να πληρώνουμε το κόστος της subs().
-
- \section{Απεικόνιση της συνάρτησης}
- Η συνάρτηση με την οποία ασχολούμαστε στην παρούσα εργασία είναι η:
- \boldmath
- \begin{equation}
- f: \mathbb{R}^2 \rightarrow \mathbb{R}, f(x) = \frac{1}{3}{x_1}^2 + 3{x_2}^2, \quad x = \begin{bmatrix} x_1 & x_2 \end{bmatrix}^T
- \end{equation}
- \label{eq:ObjectiveFunction}
- Με \textbf{σύνολο περιορισμών} $X$:
- \[
- \forall x = \begin{bmatrix} x_1 & x_2 \end{bmatrix}^T \in X \subset \mathbb{R}^2: \quad -10 \leq x_1 \leq 5, \quad -8 \leq x_2 \leq 12
- \]
- \unboldmath
- Στο σχήμα \ref{fig:plot3dFunction} φαίνεται η τρισδιάστατη απεικόνιση της συνάρτησης.
- \InsertFigure{!h}{0.8}{fig:plot3dFunction}{../scripts/figures/Plot_Function.png}{Γραφική παράσταση της f}
-
- Από το σχήμα μπορούμε πολύ εύκολα να διακρίνουμε ότι η συνάρτηση είναι κυρτή στο σύνολο των περιορισμών της εκφώνησης $ -10 \leq x_1 \leq 5 $ και $ -8 \leq x_2 \leq 12 $.
- Για να πάρουμε μια καλύτερη αίσθηση για τις κλίσεις της $f$, παρακάτω παραθέτουμε ένα γράφημα με τις ισοβαρείς καμπύλες της $f$.
- \InsertFigure{H}{0.8}{fig:plotContour}{../scripts/figures/Plot_Contour.png}{Ισοβαρείς της f}
-
- Από το παραπάνω σχήμα \ref{fig:plotContour} φαίνονται και γραφικά οι μικρές κλίσης που παρουσιάζει η συνάρτηση κοντά στο ελάχιστο σημείο $(0,0)$.
- Τα διαγράμματα για τη μέθοδο δημιουργούνται εκτελώντας το αρχείο \textbf{Script\_0\_Plots.m}
-
- \section{Θέμα 1 - Μέθοδος Μέγιστης Καθόδου χωρίς περιορισμούς}
- Εφαρμόζοντας την μέθοδο μέγιστης καθόδου από την προηγούμενη εργασία, με ακρίβεια $\epsilon = 0.001$, για τα βήματα $\gamma_k$ της εκφώνησης, παρατηρούμε ότι η μέθοδος συγκλίνει στο ελάχιστο για μικρά $\gamma_k$ ενώ \textbf{αποκλίνει για μεγάλα} \boldmath$\gamma_k > 0.33$\unboldmath.
- Από τις δοκιμές φαίνεται ότι το σημείο εκκίνησης δεν παίζει ρόλο και για αυτό επιλέξαμε να παραθέσουμε τα ευρήματά μας από το σημείο $(5,-5)$, για αντιπαραβολή με το επόμενο βήμα της εκφώνησης.
- \InsertFigure{H}{0.8}{fig:StDes_Iter_o_gamma_2}{../scripts/figures/StDes_Iter_o_gamma_1.png}{Αριθμός επαναλήψεων για διαφορετικές τιμές $\gamma_k$ [Μέγιστη Κάθοδος].}
- Επίσης παρατηρούμε ότι για μικρό \boldmath$\gamma_k = 0.1$ η σύγκλιση είναι ομαλή, ενώ για μεγάλο $\gamma_k = 0.3$ \unboldmath παρουσιάζει ταλάντωση κατά την σύγκλιση.
- Παρακάτω στο σχήμα \ref{fig:StDes_gamma} παραθέτουμε την πορεία σύγκλισης και απόκλισης για τις διαφορετικές τιμές του $\gamma_k$.
-
- \begin{figure}[ht]
- \centering
- % First row
- \begin{subfigure}{0.45\textwidth}
- \centering
- \includegraphics[width=\linewidth]{../scripts/figures/StDes_gamma_0.1.png}
- \caption{$\gamma_k = 0.1$}
- \label{fig:StDes_gamma_0.1}
- \end{subfigure}
- \hfill
- \begin{subfigure}{0.45\textwidth}
- \centering
- \includegraphics[width=\linewidth]{../scripts/figures/StDes_gamma_0.3.png}
- \caption{$\gamma_k = 0.3$}
- \label{fig:StDes_gamma_0.3}
- \end{subfigure}
-
- % Second row
- \vspace{1em}
- \begin{subfigure}{0.45\textwidth}
- \centering
- \includegraphics[width=\linewidth]{../scripts/figures/StDes_gamma_3.png}
- \caption{$\gamma_k = 3$}
- \label{fig:StDes_gamma_3}
- \end{subfigure}
- \hfill
- \begin{subfigure}{0.45\textwidth}
- \centering
- \includegraphics[width=\linewidth]{../scripts/figures/StDes_gamma_5.png}
- \caption{$\gamma_k = 5$}
- \label{fig:StDes_gamma_5}
- \end{subfigure}
-
- \caption{Σύγκριση της μεθόδου Steepest descent για διαφορετικά $\gamma_k$}
- \label{fig:StDes_gamma}
- \end{figure}
-
- \subsection{Μαθηματική ανάλυση}
- Τα παραπάνω αποτελέσματα επιβεβαιώνονται και θεωρητικά.
- Πιο συγκεκριμένα για τη σύγκλιση της μεθόδου μέγιστης καθόδου όπου το κάθε σημείο υπολογίζεται από την σχέση:
- \boldmath \[
- x_{k+1} = x_k - \gamma_k \nabla f(x_k)
- \]\unboldmath
- Πρέπει να ισχύουν:
- \begin{enumerate}
- \item H $f$ να είναι κυρτή.
- \item Η $f$ να είναι συνεχής και διαφορίσιμη και η κλίση της υπολογίσιμη.
- \item Για το βήμα υπολογισμού να ισχύει η σχέση:
- \boldmath
- \begin{equation} 0 < \gamma_k < \frac{2}{L} \label{eq:gammaLimmit} \end{equation}
- Όπου $L$ το άνω φράγμα της Lipschitz για την κλίση $\nabla f(x)$ (αν είναι γνωστή), η οποία είναι η μέγιστη ιδιοτιμή του Εσσιανού και δίνεται από τη σχέση:
- \begin{equation}
- L = \max_{x} \{\lambda_{max} (H(x))\}
- \label{eq:Lipschitz}
- \end{equation}
- \unboldmath
- \end{enumerate}
- \par
- Έτσι για τη δική μας περίπτωση, όπου η $f$ είναι κυρτή και διαφορίσιμη, η κλίση της $f(x)$ είναι:
- \[
- \nabla f(x) = \begin{bmatrix} \frac{\partial f}{\partial x1} \\ \frac{\partial f}{\partial x2} \end{bmatrix} = \begin{bmatrix} \frac{2}{3}x_1 \\ 6x_2 \end{bmatrix}
- \]
- Ο Εσσιανός πίνακας $H(x)$ της $f(x)$ είναι:
- \[
- H(x) =
- \begin{bmatrix}
- \frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1 \partial x_2} \\
- \frac{\partial^2 f}{\partial x_2 \partial x_1} & \frac{\partial^2 f}{\partial x_2^2}
- \end{bmatrix}
- =
- \begin{bmatrix}
- \frac{2}{3} & 0 \\ 0 & 6
- \end{bmatrix}
- \]
- Και εφόσον είναι διαγώνιος οι ιδιοτιμές του είναι οι τιμές της διαγωνίου. Δηλαδή:
- \[
- \det(H - \lambda I) = 0 \Leftrightarrow
- \det(\begin{bmatrix}\frac{2}{3} - \lambda & 0 \\ 0 & 6 - \lambda \end{bmatrix}) = 0 \Leftrightarrow
- \left(\frac{2}{3} - \lambda\right)(6 - \lambda) = 0 \Leftrightarrow
- \lambda_{\min} = \frac{2}{3}, \quad \lambda_{\max} = 6.
- \]
- Έτσι από τις εξισώσεις (\ref{eq:gammaLimmit}) και (\ref{eq:Lipschitz}) προκύπτει τελικά ότι $\frac{2}{L} = \frac{2}{\lambda_{max}} = \frac{1}{3}$ και επομένως για σύγκλιση της μεθόδου πρέπει να ισχύει:
- \boldmath
- \begin{equation}
- 0 < \gamma_k < \frac{1}{3}
- \label{eq:gammaConvergence}
- \end{equation}
- \unboldmath
- Βλέπουμε ότι από την ανάλυσή μας, η τιμή που βρήκαμε εμπειρικά για την απόκλιση, από την εκτέλεση του αλγορίθμου για το $\gamma > 0.33$ επιβεβαιώνεται.
- \par
- Επίσης το γεγονός ότι ο Εσσιανός είναι διαγώνιος, μας δίνει επίσης πληροφορία ότι:
- \boldmath
- \begin{itemize}
- \item Η ιδιοτιμή $\lambda_1 = \frac{2}{3}$ εφαρμοσμένη στη σχέση (\ref{eq:gammaLimmit}) μας δίνει:
- \begin{equation} 0<\gamma_{k,x_1}<3 \label{eq:gammaLimmit_x1} \end{equation}
- που είναι η τιμή για την οποία η μέθοδος συγκλίνει στη διάσταση $x_1$
- \item Η ιδιοτιμή $\lambda_2 = 6$ εφαρμοσμένη στη σχέση (\ref{eq:gammaLimmit}) μας δίνει:
- \begin{equation} 0<\gamma_{k,x_2}<\frac{1}{3}\label{eq:gammaLimmit_x2} \end{equation}
- που είναι η τιμή για την οποία η μέθοδος συγκλίνει στη διάσταση $x_2$
- \end{itemize}
- \unboldmath
-
- \par
- \underline{Εναλλακτικά} \\[0.5ex]
- Αν θέλαμε να βρούμε το κριτήριο σύγκλισης για το βήμα $\gamma_k$ ξεχωριστά για την κάθε διάσταση θα μπορούσαμε να θεωρήσουμε ισοδύναμα με την παραπάνω ανάλυση, πως για να συγκλίνει η μέθοδος θα πρέπει να ισχύει:
- \[
- \abs{\frac{x_{k+1}}{x_k}} < 1
- \]
- Από την παραπάνω εξίσωση προκύπτει πάλι ένα σύστημα εξισώσεων για την κάθε διάσταση:
- \[
- \left\{
- \begin{aligned}
- \abs{\dfrac{x_{1,k} - \frac{2}{3}\gamma_k x_{1,k}}{x_{1,k}}} < 1 \\
- \abs{\dfrac{x_{2,k} - 6\gamma_k x_{2,k}}{x_{2,k}}} < 1
- \end{aligned}
- \right.
- \Leftrightarrow
- \left\{
- \begin{aligned}
- \abs{1 - \frac{2}{3}\gamma_k} < 1 \\
- \abs{1 - 6\gamma_k} < 1
- \end{aligned}
- \right.
- \Leftrightarrow
- \left\{
- \begin{aligned}
- 0 < \gamma_k < 3 \\
- 0 < \gamma_k < \frac{1}{3}
- \end{aligned}
- \right.
- \]
- Που επιβεβαιώνει την προηγούμενη ανάλυσή μας για τη συνολική σύγκλιση, αλλά και για την κάθε διάσταση ξεχωριστά.
-
- \section{Μέθοδος Μέγιστης Καθόδου με προβολή}
- Πριν περάσουμε στις υπόλοιπες απαιτήσεις της εργασίας θα θέλαμε να παραθέσουμε κάποιες πληροφορίες για την υλοποίηση της μεθόδου μέγιστης καθόδου με προβολή (αρχείο: \textbf{method\_SteepDesc\_Proj.m}).
- Η συνάρτηση αυτή δέχεται ως είσοδο την αντικειμενική συνάρτηση και την συνάρτηση κλίσης καθώς και το σημείο εκκίνησης $x_k$ και το βήμα $s_k$.
- Με τη βοήθεια της συνάρτησης \textit{ProjectionPoint()} \textbf{παίρνει πρώτα την προβολή} του $x_k$ στο διάστημα των περιορισμών, αν αυτό χρειάζεται, \textbf{και έπειτα εφαρμόζει τον αλγόριθμο}.
- Αυτό σημαίνει ότι μπορεί να χρησιμοποιηθεί και για σημεία εκκίνησης εκτός του συνόλου των περιορισμών.
- Ο αλγόριθμος είναι παρόμοιος με αυτόν της προηγούμενης εργασίας με τη διαφορά ότι η διεύθυνση $d_k$ επιλέγεται από τη σχέση:
- \[
- d_k = Pr_X\{ x_k - s_k \nabla f(x_k)\} - x_k = \bar{x_k} - x_k
- \]
- και τελικά έχουμε:
- \[
- x_{k+1} = x_k + \gamma_k d_k
- \]
- Δηλαδή εφαρμόζουμε πρώτα τη μέθοδο μέγιστης καθόδου με βήμα $s_k$ στην κατεύθυνση $-\nabla f$ και έπειτα προβάλουμε το σημείο στο σύνολο $X$ και χρησιμοποιούμε αυτό ως διεύθυνση με βήμα $\gamma_k$.
- \par
- Αξίζει να παρατηρήσουμε πως \textbf{αν το σημείο $x_k$ είναι εντός του συνόλου περιορισμών} τότε $\bar{x_k} = x_k$, δηλαδή η προβολή του σημείου στο σύνολο, είναι το ίδιο το σημείο.
- Έτσι:
- \[
- \begin{aligned}
- x_{k+1} & = x_k + \gamma_k \left( Pr_X\{ x_k - s_k \nabla f(x_k)\} - x_k \right) \\
- & = x_k + \gamma_k \left( ( x_k - s_k \nabla f(x_k) ) - x_k \right) \\
- & = x_k - \gamma_k s_k \nabla f(x_k) \\
- & = x_k - \gamma_k' \nabla f(x_k)
- \end{aligned}
- \]
- Βλέπουμε λοιπόν ότι για σημεία εσωτερικά του Χ, έχουμε ουσιαστικά τη μέθοδο της μέγιστης καθόδου με βήμα $\gamma_k' = \gamma_k s_k$.
- Εφόσον όμως για μη εφικτά σημεία, πριν εφαρμόσουμε τη μέθοδο, τα προβάλουμε στο σύνολο των περιορισμών Χ, βλέπουμε πως η \textbf{μέθοδος τελικά προσεγγίζει τη μέγιστη κάθοδο με βήμα $\gamma_k'$, που είναι και το βήμα για το οποίο ελέγχουμε αν ισχύουν τα κριτήρια σύγκλισης}.
-
- \section{Θέμα 2 - Σημείο (5, -5), $s_k = 5, \gamma_k = 0.5$}
- Εφαρμόζοντας τη μέθοδο για ακρίβεια $\epsilon = 0.01$, $s_k = 5$ και $\gamma_k = 0.5$ έχουμε $\gamma_k' = 2.5 > \frac{1}{3}$, άρα το κριτήριο σύγκλισης δεν πληρείται.
- \InsertFigure{H}{0.8}{fig:StDesProj_sk_5_gamma_0.5}{../scripts/figures/StDesProj_sk_5_gamma_0.5.png}{Μέθοδος μέγιστης καθόδου με προβολή για $s_k = 5, \gamma_k = 0.5$.}
-
- Παρατηρούμε πως ενώ η μέθοδος ταλαντώνει και δεν συγκλίνει στο ελάχιστο \textbf{όπως και η αντίστοιχη εκτέλεση της μέγιστης καθόδου χωρίς περιορισμούς με το ίδιο} \boldmath$\gamma_k$\unboldmath.
- Παρόλα αυτά όμως, η ταλάντωση λαμβάνει χώρα \textbf{εντός του συνόλου των περιορισμών} της εκφώνησης.
-
- \section{Θέμα 3 - Σημείο (-5, 10), $s_k = 15, \gamma_k = 0.1$}
- Εφαρμόζοντας τη μέθοδο για ακρίβεια $\epsilon = 0.01$, $s_k = 15$ και $\gamma_k = 0.1$ έχουμε $\gamma_k' = 1.5 > \frac{1}{3}$, άρα το κριτήριο σύγκλισης δεν πληρείται και πάλι.
- \InsertFigure{H}{0.8}{fig:StDesProj_sk_15_gamma_0.1}{../scripts/figures/StDesProj_sk_15_gamma_0.1.png}{Μέθοδος μέγιστης καθόδου με προβολή για $s_k = 15, \gamma_k = 0.1$.}
-
- Και εδώ παρατηρούμε πως ενώ το $\gamma_k$ έχει επιλεγεί θεωρητικά στο εύρος που οδηγεί σε σύγκλιση, το αντίστοιχο βήμα $s_k$ είναι πολύ μεγάλο, με αποτέλεσμα το γινόμενό τους $\gamma_k' = 15 * 0.1 = 1.5$ συνολικά να μην πληροί το κριτήριο $\gamma_k' < \frac{1}{3}$ και η μέθοδος να ταλαντώνει και πάλι.
- Αυτή τη φορά μόνο στον άξονα $x_2$.
- Αυτό βέβαια εξηγείται από την παραπάνω ανάλυσή καθώς βλέπουμε πως ενώ το γινόμενο 1.5 δεν πληροί τις προϋποθέσεις για σύγκλιση, πληροί όμως τις προϋποθέσεις της εξίσωσης (\ref{eq:gammaLimmit_x1}) με αποτέλεσμα να ταλαντώνει μόνο στον άξονα $x_2$.
- \par
- Αυτό φυσικά είναι αληθές και για την προηγούμενη περίπτωση όπου το $\gamma_k' = 5 * 0.5 = 2.5$ και όπου πάλι η σύγκλιση ήταν μερική, μόνο για την διάσταση $x_1$.
-
- \section{Θέμα 4 - Σημείο (8, -10), $s_k = 0.1, \gamma_k = 0.2$}
- Αρχικά παρατηρούμε πως το σημείο \textbf{δεν είναι εφικτό}, καθώς είναι εκτός του συνόλου των περιορισμών της εκφώνησης.
- Αυτό βέβαια δεν μας αποτρέπει από την εφαρμογή της μεθόδου, καθώς αρχικά μπορούμε να προβάλουμε το σημείο στο σύνολο και να εφαρμόσουμε τη μέθοδο έπειτα.
- H προβολή του (8, -10) είναι $Pr_X\{(8, -10)\} = (5, -8)$, που είναι και το σημείο εκκίνησης του αλγορίθμου όπως φαίνεται και στο σχήμα \ref{fig:StDesProj_sk_0.1_gamma_0.2} παρακάτω.
- \par
- Ακόμα, αυτή τη φορά οι τιμές των βημάτων $s_k, \gamma_k$, έχουν επιλεγεί μέσα στο εύρος για το οποίο έχουμε σύγκλιση, καθώς: $\gamma_k' = 0.1 * 0.2 = 0.02 < \frac{1}{3}$, επομένως αναμένουμε η μέθοδος να συγκλίνει στο ελάχιστο.
- Εφαρμόζοντας τη μέθοδο για ακρίβεια $\epsilon = 0.01$ έχουμε:
- \InsertFigure{H}{0.8}{fig:StDesProj_sk_0.1_gamma_0.2}{../scripts/figures/StDesProj_sk_0.1_gamma_0.2.png}{Μέθοδος μέγιστης καθόδου με προβολή για $s_k = 0.1, \gamma_k = 0.2$.}
- Όπου βλέπουμε πως η μέθοδος συγκλίνει επιβεβαιώνοντας την παραπάνω ανάλυση.
-
- \section{Συμπεράσματα}
-
- Η μέθοδος μέγιστης καθόδου, με και χωρίς προβολή, παρουσιάζει τις αναμενόμενες συμπεριφορές σύγκλισης ανάλογα με την επιλογή του βήματος $\gamma_k$.
- Για την περίπτωση χωρίς προβολή, επιβεβαιώθηκε θεωρητικά και εμπειρικά ότι η μέθοδος συγκλίνει μόνο όταν το $\gamma_k$ βρίσκεται εντός του εύρους που ορίζεται από την ανάλυση της Lipschitz σταθεράς, δηλαδή $0 < \gamma_k < \frac{1}{3}$.
- Επιπλέον, παρατηρήθηκε πως για μεγαλύτερες τιμές$\gamma_k$ η μέθοδος αποκλίνει, όπως προβλέπεται από την μαθηματική ανάλυση.
-
- Αντίστοιχα, για τη μέθοδο με προβολή, αποδεικνύεται πως το κριτήριο σύγκλισης εξαρτάται από τον συνδυασμό του $s_k$ (βήμα αντίθετο στην κατεύθυνση της κλίσης) και του $\gamma_k$ (βήμα κατά την προβολή).
- Η ανάλυση επιβεβαίωσε ότι η μέθοδος προσεγγίζει τη μέθοδο χωρίς προβολή για εφικτά σημεία, ενώ για μη εφικτά σημεία εξασφαλίζει ότι οι διαδοχικές προσεγγίσεις παραμένουν εντός των περιορισμών.
-
- Τέλος, μέσα από τα παραδείγματα, αναδείχθηκε η σημασία της σωστής επιλογής των παραμέτρων $\gamma_k$ και $s_k$ για τη συνολική σταθερότητα και σύγκλιση της μεθόδου, καθώς και ο τρόπος με τον οποίο η ανάλυση των ιδιοτιμών του Εσσιανού επιτρέπει την καλύτερη κατανόηση της συμπεριφοράς της μεθόδου.
-
- \end{document}
|