\section{Spectral clustering of non-convex sets [60 points]:}
Plots for the \textit{Two spirals}, \textit{Cluster in cluster}, \textit{Crescent moon}, \textit{Full moon} clustering for $K=2$ and for \textit{Corners}, \textit{Outlier} for $K=4$ can be found in figures~\ref{fig:setsa},~\ref{fig:setsb},~\ref{fig:setsc},~\ref{fig:setsd},~\ref{fig:setse}, and ~\ref{fig:setsf}. All the plots are reproducible by simply running \texttt{ClusterPoints.m} once.
\subsection{Observation on the \textit{Spiral} set of points}
It is possible to distinguish two distinct cluster in the \textit{Spiral} set: if we consider this set of points as two intertwined non-intersecting spiral shaped curves, then each of the spiral can be considered as a cluster.
However, it is possible that a naive clustering approach might not recognise these two clusters: since the spirals are intertwined and the points they are rotating on are close, averaging the points on each spiral leads to very close centroids and thus an algorithm heavily based on coordinate averaging (like k-means clustering) might have a hard time in identifying the spirals.
\subsection{Choice of $\sigma$ parameter for the Gaussian similarity function}
According to the recommendations and rules of thumb on $\epsilon$ neighboorhood graph based spectral clustering, the
$\sigma$ parameter, as a rule of thumb, should be chosen in the order of $\log(n)$. However, choosing
$\sigma=\log(n)$ produces ill-conditioned
i.e. (singular) Laplacian matrices for some graphs, which make spectral clustering inaccurate or impossible. Therefore,
I have chosen $\sigma=2\log(n)$. As the choice of this parameter is not governed by any strict law and this choice follows the rule
of thumb and produces results that do not raise suspicion on incorrectness, I sticked to this choice.
\section{Spectral clustering of real-world graphs [40 points]:}
\subsection{Plotting and commenting spectral and k-means clustering for several example graphs}
Plots of spectral and K-means clustering for graphs \textit{Airfoil}, \textit{Barth}, \textit{Grid2}, and \textit{3elt} can be
found respectively in figure~\ref{fig:air},~\ref{fig:bar},~\ref{fig:gri} and~\ref{fig:elt}. These graphs are reproducible by running \texttt{ClusterGraphs.m} once.