\item\href{https://stats.stackexchange.com/questions/2691/making-sense-of-principal-component-analysis-eigenvectors-eigenvalues}{StackExchange: в чём смысл собственных векторов, собственных чисел и анализа главных компонент}
\end{itemize}
\section*{Упражнения}
\begin{enumerate}
\begin{comment}
\item (5) Construct (manually) SVD decomposition of the following matrices:
$$
(a)\quad\begin{bmatrix}
3 & 0\\
0 & -2
\end{bmatrix},\quad
(b)\quad\begin{bmatrix}
0 & 2\\
0 & 0\\
0 & 0
\end{bmatrix},\quad
(c)\quad\begin{bmatrix}
1 & 1\\
1 & 1
\end{bmatrix}.
$$
For the case (b), construct both full and reduced SVD decomposition via \path{np.linalg.svd}.
\end{comment}
\item (10) В этом упражнении мы познакомимся с
тремя основными алгоритмами вычисления сингулярного разложения, доступными в Python: \path{numpy.linalg.svd}, \path{scipy.sparse.linalg.svds} и \path{sklearn.utils.extmath.randomized_svd}.
\item (5) Пусть матрица $A$ размером $m\times n$ имеет сингулярное разложение $A = U\Sigma V^T$.
Выразите через $U$, $\Sigma$ и $V$ сингулярные разложения следующих матриц:
\begin{enumerate}[label=(\roman*)]
\item$\left(A^T A\right)^{-1}$
\item$\left(A^T A\right)^{-1}A^T$
\item$A\left(A^T A\right)^{-1}$
\item$A\left(A^T A\right)^{-1}A^T$
\end{enumerate}
\item (10) Рассмотрим матрицу:
$$
\begin{bmatrix}
-2 & 11\\
-10 & 5
\end{bmatrix}
$$
\begin{itemize}
\item Выпишите сингулярные числа, а также левые и правые сингулярные векторы матрицы $A$. Так как SVD-разложение не единственно, найдите то разложение, в котором матрицы $U$ и $V$ имеют наименьшее количество отрицательных элементов.
\item Нарисуйте единичный круг и его образ под действием оператора $A$. Изобразите сингулярные векторы и отметьте их координаты.
\item Чему равна спектральная норма и норма Фробениуса матрицы $A$?
\item Найдите $A^{-1}$с помощью SVD-разложения.
\item Найдите собственные числа $\lambda_1$ и $\lambda_2$ матрицы $A$.
\end{itemize}
\item (5) В файле \path{A.npy} находится матрица $A$ размера $n\times n$. Определите наилучшее приближение следующего вида, в котором переменные разделяются: $A_{ij}\approx h_i\eta_j$. Чему равна относительная ошибка такой аппроксимации?
Каждая строка массива \path{A} состоит из 64 чисел с плавающей точкой, которые задают черно-белое изображение $8\times8$. Это изображение цифры. Сама цифра (метка данных) указана в массиве \path{y}.
\item Изучите датасет. Постройте изображения нескольких цифр, например, 0, 3, 7
\item Отнормируйте датасет \path{A}.
\itemС помощью SVD-разложения спроецируйте датасет, cделайтеего из $N \!{\times}64$--мерного $N \!{\times}2$--мерным. Постройте двумерный \path{scatter_plot}, окрасьте точки, соответствующие разным цифрам, в разные цвета.