Compare commits
	
		
			No commits in common. "be42c39adcea5f46f46e2d30bdfee2fa7fed08d7" and "ed9807b1ca74c1777e5ea1d8374e3652416cd578" have entirely different histories.
		
	
	
		
			be42c39adc
			...
			ed9807b1ca
		
	
		
										
											Binary file not shown.
										
									
								
							| @ -67,7 +67,7 @@ | |||||||
| \subsection{Προγραμματιστική προσέγγιση} | \subsection{Προγραμματιστική προσέγγιση} | ||||||
| Για τον προγραμματισμό και εκτέλεση των μεθόδων της παρούσας εργασίας έγινε χρήση της MATLAB. | Για τον προγραμματισμό και εκτέλεση των μεθόδων της παρούσας εργασίας έγινε χρήση της MATLAB. | ||||||
| Στον κατάλογο \textbf{scripts}, περιέχονται όλες οι μέθοδοι και οι τεχνικές υπολογισμού βημάτων με τη μορφή συναρτήσεων καθώς και scripts που τις καλούν. | Στον κατάλογο \textbf{scripts}, περιέχονται όλες οι μέθοδοι και οι τεχνικές υπολογισμού βημάτων με τη μορφή συναρτήσεων καθώς και scripts που τις καλούν. | ||||||
| Για κάθε ένα θέμα της εργασίας, υπάρχει το αντίστοιχο script που περιέχει τους υπολογισμούς, τις κλήσεις των μεθόδων και τη δημιουργία των διαγραμμάτων. | Για κάθε μία μέθοδο (ένα θέμα της εργασίας), υπάρχει το αντίστοιχο script που περιέχει τους υπολογισμούς, τις κλήσεις των μεθόδων και τη δημιουργία των διαγραμμάτων. | ||||||
| Για το πρώτο θέμα το αρχείο Script\_1\_SteepDesc.m για το δεύτερο το Script\_2\_SteepDesc\_Proj.m και ούτω καθεξής. | Για το πρώτο θέμα το αρχείο Script\_1\_SteepDesc.m για το δεύτερο το Script\_2\_SteepDesc\_Proj.m και ούτω καθεξής. | ||||||
| Η μέθοδος μέγιστης καθόδου (αρχείο: \textbf{method\_SteepDesc.m}) είναι η ίδια με αυτή της προηγούμενης εργασίας με τη μόνη διαφορά ότι τροποποιήθηκε ώστε η αντικειμενική συνάρτηση να δέχεται διάνυσμα ώς όρισμα και όχι δύο διαφορετικές μεταβλητές $x, y$. | Η μέθοδος μέγιστης καθόδου (αρχείο: \textbf{method\_SteepDesc.m}) είναι η ίδια με αυτή της προηγούμενης εργασίας με τη μόνη διαφορά ότι τροποποιήθηκε ώστε η αντικειμενική συνάρτηση να δέχεται διάνυσμα ώς όρισμα και όχι δύο διαφορετικές μεταβλητές $x, y$. | ||||||
| Αυτό ακολουθήθηκε και για την έκδοση με προβολή και φυσικά είχε αντίκτυπο και στις υπόλοιπες συναρτήσεις, όπως η κλίση ή ο Εσσιανός. | Αυτό ακολουθήθηκε και για την έκδοση με προβολή και φυσικά είχε αντίκτυπο και στις υπόλοιπες συναρτήσεις, όπως η κλίση ή ο Εσσιανός. | ||||||
| @ -80,19 +80,19 @@ | |||||||
| Αυτό έχει τη μορφή: \textit{\textbf{gamma\_<method>(f, grad\_f, dk, xk)}}, όπου το \textbf{f} είναι η αντικειμενική συνάρτηση, \textbf{grad\_f} η συνάρτηση κλίσης της, \textbf{dk} η τιμή της συνάρτησης κλίσης στο xk και \textbf{xk} το σημείο ενδιαφέροντος. | Αυτό έχει τη μορφή: \textit{\textbf{gamma\_<method>(f, grad\_f, dk, xk)}}, όπου το \textbf{f} είναι η αντικειμενική συνάρτηση, \textbf{grad\_f} η συνάρτηση κλίσης της, \textbf{dk} η τιμή της συνάρτησης κλίσης στο xk και \textbf{xk} το σημείο ενδιαφέροντος. | ||||||
| Έτσι οι μέθοδοι αντιγράφηκαν και εδώ για ολότητα, ακόμα και αν για την παρούσα εργασία χρησιμοποιείται μόνο το σταθερό βήμα $\gamma_k$. | Έτσι οι μέθοδοι αντιγράφηκαν και εδώ για ολότητα, ακόμα και αν για την παρούσα εργασία χρησιμοποιείται μόνο το σταθερό βήμα $\gamma_k$. | ||||||
| 
 | 
 | ||||||
| %\subsection{Symbolic expression functions} | \subsection{Symbolic expression functions} | ||||||
| %Μία ακόμη προγραμματιστική τεχνική που ακολουθήθηκε είναι η χρήση \textbf{symbolic expression} για την αναπαράσταση της αντικειμενικής συνάρτησης. | Μία ακόμη προγραμματιστική τεχνική που ακολουθήθηκε είναι η χρήση \textbf{symbolic expression} για την αναπαράσταση της αντικειμενικής συνάρτησης. | ||||||
| %Η εξήγηση υπάρχει και στις προηγούμενες εργασίες αλλά την παραθέτουμε εδώ για ολότητα. | Η εξήγηση υπάρχει και στις προηγούμενες εργασίες αλλά την παραθέτουμε εδώ για ολότητα. | ||||||
| %Ο λόγος που επιλέχθηκε είναι η \textbf{δυνατότητα εξαγωγής ενός symbolic expression που αναπαριστά την κλίση $\nabla f$ και τον Εσσιανό $\nabla^2f$  μιας συνάρτησης} από την MATLAB, κάνοντας χρήση των εντολών \textit{gradient()} και \textit{hessian()}. | Ο λόγος που επιλέχθηκε είναι η \textbf{δυνατότητα εξαγωγής ενός symbolic expression που αναπαριστά την κλίση $\nabla f$ και τον Εσσιανό $\nabla^2f$  μιας συνάρτησης} από την MATLAB, κάνοντας χρήση των εντολών \textit{gradient()} και \textit{hessian()}. | ||||||
| %Αν αντίθετα χρησιμοποιούσαμε απλές συναρτήσεις, πολυώνυμα ή lambdas για την αναπαράσταση των αντικειμενικών συναρτήσεων, τότε για τον υπολογισμό της κλίσης και του Εσσιανού θα έπρεπε: | Αν αντίθετα χρησιμοποιούσαμε απλές συναρτήσεις, πολυώνυμα ή lambdas για την αναπαράσταση των αντικειμενικών συναρτήσεων, τότε για τον υπολογισμό της κλίσης και του Εσσιανού θα έπρεπε: | ||||||
| %\begin{itemize} | \begin{itemize} | ||||||
| %    \item Είτε να υπολογίζαμε αριθμητικά τις παραγώγους gradient και hessian μέσα στις μεθόδους, κάτι που θα εισήγαγε \textit{\textbf{αχρείαστο αριθμητικό σφάλμα}}. |     \item Είτε να υπολογίζαμε αριθμητικά τις παραγώγους gradient και hessian μέσα στις μεθόδους, κάτι που θα εισήγαγε \textit{\textbf{αχρείαστο αριθμητικό σφάλμα}}. | ||||||
| %    \item Είτε να κάναμε χρήση δύο επιπλέων συναρτήσεων (ή πολυωνύμων) για την αναπαράσταση τους, κάτι που ουσιαστικά θα δημιουργούσε \textit{\textbf{πλεονασμό πληροφορίας εισόδου}} και άρα μεγαλύτερη πιθανότητα να κάνουμε λάθος. |     \item Είτε να κάναμε χρήση δύο επιπλέων συναρτήσεων (ή πολυωνύμων) για την αναπαράσταση τους, κάτι που ουσιαστικά θα δημιουργούσε \textit{\textbf{πλεονασμό πληροφορίας εισόδου}} και άρα μεγαλύτερη πιθανότητα να κάνουμε λάθος. | ||||||
| %\end{itemize} | \end{itemize} | ||||||
| %Η αναπαράσταση όμως με χρήση symbolic expression είναι πιο “βαριά” όταν χρειάζεται να υπολογίσουμε την τιμή μιας συνάρτησης σε κάποιο σημείο (subs(expr, number)). | Η αναπαράσταση όμως με χρήση symbolic expression είναι πιο “βαριά” όταν χρειάζεται να υπολογίσουμε την τιμή μιας συνάρτησης σε κάποιο σημείο (subs(expr, number)). | ||||||
| %Αυτό είναι κάτι που χρειάζεται εκτενώς στον κώδικά μας. | Αυτό είναι κάτι που χρειάζεται εκτενώς στον κώδικά μας. | ||||||
| %Για το λόγο αυτό, ενώ η συνάρτηση δίνεται ως symbolic expression, μέσω αυτής υπολογίζονται αυτόματα η κλίση, ο Εσσιανός αλλά και οι “κανονικές” συναρτήσεις MATLAB που τις υλοποιούν. | Για το λόγο αυτό, ενώ η συνάρτηση δίνεται ως symbolic expression, μέσω αυτής υπολογίζονται αυτόματα η κλίση, ο Εσσιανός αλλά και οι “κανονικές” συναρτήσεις MATLAB που τις υλοποιούν. | ||||||
| %Έτσι έχουμε την ακριβή αναπαράσταση της κλίσης και του Εσσιανού ως συναρτήσεις χωρίς να πληρώνουμε το κόστος της subs(). | Έτσι έχουμε την ακριβή αναπαράσταση της κλίσης και του Εσσιανού ως συναρτήσεις χωρίς να πληρώνουμε το κόστος της subs(). | ||||||
| 
 | 
 | ||||||
| \section{Απεικόνιση της συνάρτησης} | \section{Απεικόνιση της συνάρτησης} | ||||||
| Η συνάρτηση με την οποία ασχολούμαστε στην παρούσα εργασία είναι η: | Η συνάρτηση με την οποία ασχολούμαστε στην παρούσα εργασία είναι η: | ||||||
| @ -110,15 +110,15 @@ | |||||||
| Για να πάρουμε μια καλύτερη αίσθηση για το που βρίσκεται το τοπικό ελάχιστο της $f$, παρακάτω παραθέτουμε ένα γράφημα με τις ισοβαρείς καμπύλες της $f$. | Για να πάρουμε μια καλύτερη αίσθηση για το που βρίσκεται το τοπικό ελάχιστο της $f$, παρακάτω παραθέτουμε ένα γράφημα με τις ισοβαρείς καμπύλες της $f$. | ||||||
| \InsertFigure{H}{0.8}{fig:plotContour}{../scripts/figures/Plot_Contour.png}{Ισοβαρείς της f} | \InsertFigure{H}{0.8}{fig:plotContour}{../scripts/figures/Plot_Contour.png}{Ισοβαρείς της f} | ||||||
| 
 | 
 | ||||||
| Από το παραπάνω σχήμα \ref{fig:plotContour} φαίνονται και γραφικά οι μικρές κλίσης που παρουσιάζει η συνάρτηση κοντά στο ελάχιστο σημείο $(0,0)$. | Από το παραπάνω σχήμα \ref{fig:plotContour} επιβεβαιώνεται και γραφικά το ελάχιστο στο σημείο $(0,0)$. | ||||||
| Τα διαγράμματα για τη μέθοδο δημιουργούνται εκτελώντας το αρχείο \textbf{Script\_0\_Plots.m} | Τα διαγράμματα για τη μέθοδο δημιουργούνται εκτελώντας το αρχείο \textbf{Script\_0\_Plots.m} | ||||||
| 
 | 
 | ||||||
| \section{Θέμα 1 - Μέθοδος Μέγιστης Καθόδου χωρίς περιορισμούς} | \section{Μέθοδος Μέγιστης Καθόδου χωρίς περιορισμούς - Θέμα 1} | ||||||
| Εφαρμόζοντας την μέθοδο μέγιστης καθόδου από την προηγούμενη εργασία, με ακρίβεια $\epsilon = 0.001$, για τα βήματα $\gamma_k$ της εκφώνησης, παρατηρούμε ότι η μέθοδος συγκλίνει στο ελάχιστο για μικρά $\gamma_k$ ενώ \textbf{αποκλίνει για μεγάλα} \boldmath$\gamma_k > 0.33$\unboldmath. | Εφαρμόζοντας την μέθοδο μέγιστης καθόδου από την προηγούμενη εργασία, με ακρίβεια $\epsilon = 0.001$, για τα βήματα $\gamma_k$ της εκφώνησης, παρατηρούμε ότι η μέθοδος συγκλίνει στο ελάχιστο για μικρά $\gamma_k$ ενώ αποκλίνει για μεγάλα \boldmath$\gamma_k > 0.34$\unboldmath. | ||||||
| Από τις δοκιμές φαίνεται ότι το σημείο εκκίνησης δεν παίζει ρόλο και για αυτό επιλέξαμε να παραθέσουμε τα ευρήματά μας από το σημείο $(5,-5)$, για αντιπαραβολή με το επόμενο βήμα της εκφώνησης. | Από τις δοκιμές φαίνεται ότι το σημείο εκκίνησης δεν παίζει ρόλο και για αυτό επιλέξαμε να παραθέσουμε τα ευρήματά μας από το σημείο $(5,-5)$, για αντιπαραβολή με το επόμενο βήμα της εκφώνησης. | ||||||
| \InsertFigure{H}{0.6}{fig:StDes_Iter_o_gamma_2}{../scripts/figures/StDes_Iter_o_gamma_1.png}{Αριθμός επαναλήψεων για διαφορετικές τιμές $\gamma_k$ [Μέγιστη Κάθοδος].} | \InsertFigure{H}{0.6}{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 παρουσιάζει ταλάντωση κατά την σύγκλιση. | Επίσης παρατηρούμε ότι για μικρό \boldmath$\gamma_k = 0.1$ η σύγκλιση είναι ομαλή, ενώ για μεγάλο $\gamma_k = 0.3$ \unboldmath παρουσιάζει ταλάντωση κατά την σύγκλιση. | ||||||
| Παρακάτω στο σχήμα \ref{fig:StDes_gamma} παραθέτουμε την πορεία σύγκλισης και απόκλισης για τις διαφορετικές τιμές του $\gamma_k$. | Παρακάτω παραθέτουμε την πορεία σύγκλισης και απόκλισης για τις διαφορετικές τιμές του $\gamma_k$. | ||||||
| 
 | 
 | ||||||
| \begin{figure}[ht] | \begin{figure}[ht] | ||||||
|     \centering |     \centering | ||||||
| @ -157,94 +157,7 @@ | |||||||
|     \label{fig:StDes_gamma} |     \label{fig:StDes_gamma} | ||||||
| \end{figure} | \end{figure} | ||||||
| 
 | 
 | ||||||
| \subsection{Μαθηματική ανάλυση} | Απόδειξη... | ||||||
| Τα παραπάνω αποτελέσματα επιβεβαιώνονται και θεωρητικά. |  | ||||||
| Πιο συγκεκριμένα για τη σύγκλιση της μεθόδου μέγιστης καθόδου όπου το κάθε σημείο υπολογίζεται από την σχέση \boldmath$x_{k+1} = x_k - \gamma_k \nabla f(x_k)$, \unboldmath πρέπει να ισχύουν: |  | ||||||
| \begin{enumerate} |  | ||||||
|     \item H $f$ να είναι κυρτή. |  | ||||||
|     \item Η $f$ να είναι συνεχής και διαφορίσιμη και η κλίση της υπολογίσιμη. |  | ||||||
|     \item Για το βήμα υπολογισμού να ισχύει η σχέση: |  | ||||||
|     \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} |  | ||||||
| \end{enumerate} |  | ||||||
| \par |  | ||||||
| Έτσι για τη δική μας περίπτωση η κλίση της $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<3 \label{eq:gammaLimmit_x1} \end{equation} |  | ||||||
|     που είναι η τιμή για την οποία η μέθοδος συγκλίνει στη διάσταση $x_1$ |  | ||||||
|     \item Η ιδιοτιμή $\lambda_2 = 6$ εφαρμοσμένη στη σχέση (\ref{eq:gammaLimmit}) μας δίνει: |  | ||||||
|     \begin{equation} 0<\gamma_k<\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{Μέθοδος Μέγιστης Καθόδου με προβολή} | \section{Μέθοδος Μέγιστης Καθόδου με προβολή} | ||||||
| Πριν περάσουμε στις υπόλοιπες απαιτήσεις της εργασίας θα θέλαμε να παραθέσουμε κάποιες πληροφορίες για την υλοποίηση της μεθόδου μέγιστης καθόδου με προβολή (αρχείο: \textbf{method\_SteepDesc\_Proj.m}). | Πριν περάσουμε στις υπόλοιπες απαιτήσεις της εργασίας θα θέλαμε να παραθέσουμε κάποιες πληροφορίες για την υλοποίηση της μεθόδου μέγιστης καθόδου με προβολή (αρχείο: \textbf{method\_SteepDesc\_Proj.m}). | ||||||
| @ -253,59 +166,32 @@ H(x) = | |||||||
| Αυτό σημαίνει ότι μπορεί να χρησιμοποιηθεί και για σημεία εκκίνησης εκτός του συνόλου των περιορισμών. | Αυτό σημαίνει ότι μπορεί να χρησιμοποιηθεί και για σημεία εκκίνησης εκτός του συνόλου των περιορισμών. | ||||||
| Ο αλγόριθμος είναι παρόμοιος με αυτόν της προηγούμενης εργασίας με τη διαφορά ότι η διεύθυνση $d_k$ επιλέγεται από τη σχέση: | Ο αλγόριθμος είναι παρόμοιος με αυτόν της προηγούμενης εργασίας με τη διαφορά ότι η διεύθυνση $d_k$ επιλέγεται από τη σχέση: | ||||||
| \[ | \[ | ||||||
|     d_k = Pr_X\{ x_k - s_k \nabla f(x_k)\} - x_k = \bar{x_k} - x_k |     d_k = Pr_X\{ x_k - s_k \nabla f(x_k)\} - x_k | ||||||
| \] |  | ||||||
| και τελικά έχουμε: |  | ||||||
| \[ |  | ||||||
|     x_{k+1} = x_k + \gamma_k d_k |  | ||||||
| \] | \] | ||||||
| Δηλαδή εφαρμόζουμε πρώτα τη μέθοδο μέγιστης καθόδου με βήμα $s_k$ στην κατεύθυνση $-\nabla f$ και έπειτα προβάλουμε το σημείο στο σύνολο $X$ και χρησιμοποιούμε αυτό ως διεύθυνση με βήμα $\gamma_k$. | Δηλαδή εφαρμόζουμε πρώτα τη μέθοδο μέγιστης καθόδου με βήμα $s_k$ στην κατεύθυνση $-\nabla f$ και έπειτα προβάλουμε το σημείο στο σύνολο $X$ και χρησιμοποιούμε αυτό ως διεύθυνση με βήμα $\gamma_k$. | ||||||
| \par |  | ||||||
| Αξίζει να παρατηρήσουμε πως \textbf{αν το σημείο $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$} | \section{Μέθοδος Μέγιστης Καθόδου με προβολή $s_k = 5, \gamma_k = 0.5$ - Θέμα 2} | ||||||
| Εφαρμόζοντας τη μέθοδο για ακρίβεια $\epsilon = 0.01$, $s_k = 5$ και $\gamma_k = 0.5$ έχουμε $\gamma_k' = 2.5 > \frac{1}{3}$, άρα το κριτήριο σύγκλισης δεν πληρείται. | Εφαρμόζοντας τη μέθοδο για ακρίβεια $\epsilon = 0.01$, $s_k = 5$ και $\gamma_k = 0.5$ έχουμε: | ||||||
| \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$.} | \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{όπως και η αντίστοιχη εκτέλεση της μέγιστης καθόδου χωρίς περιορισμούς με το ίδιο} \boldmath$\gamma_k$\unboldmath. | ||||||
| Παρόλα αυτά όμως, η ταλάντωση λαμβάνει χώρα \textbf{εντός του συνόλου των περιορισμών} της εκφώνησης. | Παρόλα αυτά όμως, η ταλάντωση λαμβάνει χώρα \textbf{εντός του συνόλου των περιορισμών} της εκφώνησης. | ||||||
| 
 | 
 | ||||||
| \section{Θέμα 3 - Σημείο (-5, 10), $s_k = 15, \gamma_k = 0.1$} | \section{Μέθοδος Μέγιστης Καθόδου με προβολή $s_k = 15, \gamma_k = 0.1$ - Θέμα 3} | ||||||
| Εφαρμόζοντας τη μέθοδο για ακρίβεια $\epsilon = 0.01$, $s_k = 15$ και $\gamma_k = 0.1$ έχουμε $\gamma_k' = 1.5 > \frac{1}{3}$, άρα το κριτήριο σύγκλισης δεν πληρείται και πάλι. | Εφαρμόζοντας τη μέθοδο για ακρίβεια $\epsilon = 0.01$, $s_k = 15$ και $\gamma_k = 0.1$ έχουμε: | ||||||
| \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$.} | \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}$ και η μέθοδος να ταλαντώνει και πάλι. | Εδώ παρατηρούμε πως ενώ το $\gamma_k$ έχει επιλεγεί στο εύρος που οδηγεί σε σύγκλιση, το αντίστοιχο βήμα $s_k$ είναι πολύ μεγάλο, με αποτέλεσμα η μέθοδος να ταλαντώνει και πάλι. | ||||||
| Αυτή τη φορά μόνο στον άξονα $x_2$. | Αυτή τη φορά μόνο στον άξονα $x_2$. | ||||||
| Αυτό βέβαια εξηγείται από την παραπάνω ανάλυσή καθώς βλέπουμε πως ενώ το γινόμενο 1.5 δεν πληροί τις προϋποθέσεις για σύγκλιση, πληροί όμως τις προϋποθέσεις της εξίσωσης (\ref{eq:gammaLimmit_x1}) με αποτέλεσμα να ταλαντώνει μόνο στον άξονα $x_2$ |  | ||||||
| Αυτό φυσικά είναι αληθές και για την προηγούμενη περίπτωση όπου το $\gamma_k' = 5 * 0.5 = 2.5$ και όπου πάλι η σύγκλιση ήταν μερική, μόνο για την διάσταση $x_1$. |  | ||||||
| 
 | 
 | ||||||
| \section{Θέμα 4 - Σημείο (8, -10), $s_k = 0.1, \gamma_k = 0.2$ - Θέμα 4} | \section{Μέθοδος Μέγιστης Καθόδου με προβολή $s_k = 0.1, \gamma_k = 0.2$ - Θέμα 4} | ||||||
| Αρχικά παρατηρούμε πως το σημείο \textbf{δεν είναι εφικτό}, καθώς είναι εκτός του συνόλου των περιορισμών της εκφώνησης. | Αρχικά παρατηρούμε πως το σημείο δεν είναι εφικτό, καθώς είναι εκτός του συνόλου των περιορισμών της εκφώνησης. | ||||||
| Αυτό βέβαια δεν μας αποτρέπει από την εφαρμογή της μεθόδου, καθώς αρχικά μπορούμε να προβάλουμε το σημείο στο σύνολο και να εφαρμόσουμε τη μέθοδο έπειτα. | Αυτό βέβαια δεν μας αποτρέπει από την εφαρμογή της μεθόδου, καθώς αρχικά μπορούμε να προβάλουμε το σημείο στο σύνολο και να εφαρμόσουμε τη μέθοδο έπειτα. | ||||||
| Ακόμα, αυτή τη φορά οι τιμές των βημάτων $s_k, \gamma_k$, έχουν επιλεγεί μέσα στο εύρος για το οποίο έχουμε σύγκλιση, καθώς: $\gamma_k' = 0.1 * 0.2 = 0.02 < \frac{1}{3}$, επομένως αναμένουμε η μέθοδος να συγκλίνει στο ελάχιστο. | Ακόμα, αυτή τη φορά οι τιμές των βημάτων $s_k, \gamma_k$, έχουν επιλεγεί μέσα στο εύρος για το οποίο έχουμε σύγκλιση, επομένως αναμένουμε η μέθοδος να συγκλίνει στο ελάχιστο. | ||||||
| Εφαρμόζοντας τη μέθοδο για ακρίβεια $\epsilon = 0.01$ έχουμε: | Εφαρμόζοντας τη μέθοδο για ακρίβεια $\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$.} | \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{Συμπεράσματα} | \section{Συμπεράσματα} | ||||||
| 
 | ... | ||||||
| Η μέθοδος μέγιστης καθόδου, με και χωρίς προβολή, παρουσιάζει τις αναμενόμενες συμπεριφορές σύγκλισης ανάλογα με την επιλογή του βήματος $\gamma_k$. |  | ||||||
| Για την περίπτωση χωρίς προβολή, επιβεβαιώθηκε θεωρητικά και εμπειρικά ότι η μέθοδος συγκλίνει μόνο όταν το $\gamma_k$ βρίσκεται εντός του εύρους που ορίζεται από την ανάλυση της Lipschitz σταθεράς, δηλαδή $0 < \gamma_k < \frac{1}{3}$. |  | ||||||
| Επιπλέον, παρατηρήθηκε πως για μεγαλύτερες τιμές$\gamma_k$ η μέθοδος αποκλίνει, όπως προβλέπεται από την μαθηματική ανάλυση. |  | ||||||
| 
 |  | ||||||
| Αντίστοιχα, για τη μέθοδο με προβολή, αποδεικνύεται πως το κριτήριο σύγκλισης εξαρτάται από τον συνδυασμό του $s_k$ (βήμα αντίθετο στην κατεύθυνση της κλίσης) και του $\gamma_k$ (βήμα κατά την προβολή). |  | ||||||
| Η ανάλυση επιβεβαίωσε ότι η μέθοδος προσεγγίζει τη μέθοδο χωρίς προβολή για εφικτά σημεία, ενώ για μη εφικτά σημεία εξασφαλίζει ότι οι διαδοχικές προσεγγίσεις παραμένουν εντός των περιορισμών. |  | ||||||
| 
 |  | ||||||
| Τέλος, μέσα από τα παραδείγματα, αναδείχθηκε η σημασία της σωστής επιλογής των παραμέτρων $\gamma_k$ και $s_k$ για τη συνολική σταθερότητα και σύγκλιση της μεθόδου, καθώς και ο τρόπος με τον οποίο η ανάλυση των ιδιοτιμών του Εσσιανού επιτρέπει την καλύτερη κατανόηση της συμπεριφοράς της μεθόδου. |  | ||||||
| 
 | 
 | ||||||
| \end{document} | \end{document} | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user