Files
FYS-STK4155/doc/pub/week43/html/._week43-bs013.html
T
2020-10-17 22:09:23 +02:00

287 lines
14 KiB
HTML

<!--
Automatically generated HTML file from DocOnce source
(https://github.com/hplgit/doconce/)
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="DocOnce: https://github.com/hplgit/doconce/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Week 43: Solving Differential Equations with Deep Learning and Dimensionality Reduction methods">
<title>Week 43: Solving Differential Equations with Deep Learning and Dimensionality Reduction methods</title>
<!-- Bootstrap style: bootstrap -->
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
<!-- not necessary
<link href="https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
-->
<style type="text/css">
/* Add scrollbar to dropdown menus in bootstrap navigation bar */
.dropdown-menu {
height: auto;
max-height: 400px;
overflow-x: hidden;
}
/* Adds an invisible element before each target to offset for the navigation
bar */
.anchor::before {
content:"";
display:block;
height:50px; /* fixed header height for style bootstrap */
margin:-50px 0 0; /* negative fixed header height */
}
</style>
</head>
<!-- tocinfo
{'highest level': 2,
'sections': [('Recurrent Neural Networks', 2, None, '___sec0'),
('Solving ODEs with Deep Learning', 2, None, '___sec1'),
('Why should we think of reducing the dimensionality',
2,
None,
'___sec2'),
('Basic ideas of the Principal Component Analysis (PCA)',
2,
None,
'___sec3'),
('Introducing the Covariance and Correlation functions',
2,
None,
'___sec4'),
('Correlation Function and Design/Feature Matrix',
2,
None,
'___sec5'),
('Covariance Matrix Examples', 2, None, '___sec6'),
('Correlation Matrix', 2, None, '___sec7'),
('Correlation Matrix with Pandas', 2, None, '___sec8'),
('Correlation Matrix with Pandas and the Franke function',
2,
None,
'___sec9'),
('Rewriting the Covariance and/or Correlation Matrix',
2,
None,
'___sec10'),
('Towards the PCA theorem', 2, None, '___sec11'),
('The Algorithm before the Theorem', 2, None, '___sec12'),
('Writing our own PCA code', 2, None, '___sec13'),
('Compute the sample mean and center the data',
3,
None,
'___sec14'),
('Compute the sample covariance', 3, None, '___sec15'),
('Diagonalize the sample covariance matrix to obtain the '
'principal components',
3,
None,
'___sec16'),
('Classical PCA Theorem', 2, None, '___sec17'),
('Proof of the PCA Theorem', 2, None, '___sec18'),
('PCA Proof continued', 2, None, '___sec19'),
('The final step', 2, None, '___sec20'),
('Geometric Interpretation and link with Singular Value '
'Decomposition',
2,
None,
'___sec21'),
('Principal Component Analysis', 2, None, '___sec22'),
('PCA and scikit-learn', 2, None, '___sec23'),
('Back to the Cancer Data', 2, None, '___sec24'),
('More on the PCA', 2, None, '___sec25'),
('Incremental PCA', 2, None, '___sec26'),
('Randomized PCA', 2, None, '___sec27'),
('Kernel PCA', 2, None, '___sec28'),
('LLE', 2, None, '___sec29'),
('Other techniques', 2, None, '___sec30')]}
end of tocinfo -->
<body>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
TeX: {
equationNumbers: { autoNumber: "none" },
extensions: ["AMSmath.js", "AMSsymbols.js", "autobold.js", "color.js"]
}
});
</script>
<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<!-- Bootstrap navigation bar -->
<div class="navbar navbar-default navbar-fixed-top">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="week43-bs.html">Week 43: Solving Differential Equations with Deep Learning and Dimensionality Reduction methods</a>
</div>
<div class="navbar-collapse collapse navbar-responsive-collapse">
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Contents <b class="caret"></b></a>
<ul class="dropdown-menu">
<!-- navigation toc: --> <li><a href="._week43-bs002.html#___sec0" style="font-size: 80%;"><b>Recurrent Neural Networks</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs003.html#___sec1" style="font-size: 80%;"><b>Solving ODEs with Deep Learning</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs004.html#___sec2" style="font-size: 80%;"><b>Why should we think of reducing the dimensionality</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs005.html#___sec3" style="font-size: 80%;"><b>Basic ideas of the Principal Component Analysis (PCA)</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs006.html#___sec4" style="font-size: 80%;"><b>Introducing the Covariance and Correlation functions</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs007.html#___sec5" style="font-size: 80%;"><b>Correlation Function and Design/Feature Matrix</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs008.html#___sec6" style="font-size: 80%;"><b>Covariance Matrix Examples</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs009.html#___sec7" style="font-size: 80%;"><b>Correlation Matrix</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs010.html#___sec8" style="font-size: 80%;"><b>Correlation Matrix with Pandas</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs011.html#___sec9" style="font-size: 80%;"><b>Correlation Matrix with Pandas and the Franke function</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs012.html#___sec10" style="font-size: 80%;"><b>Rewriting the Covariance and/or Correlation Matrix</b></a></li>
<!-- navigation toc: --> <li><a href="#___sec11" style="font-size: 80%;"><b>Towards the PCA theorem</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs014.html#___sec12" style="font-size: 80%;"><b>The Algorithm before the Theorem</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs015.html#___sec13" style="font-size: 80%;"><b>Writing our own PCA code</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs015.html#___sec14" style="font-size: 80%;">&nbsp;&nbsp;&nbsp;Compute the sample mean and center the data</a></li>
<!-- navigation toc: --> <li><a href="._week43-bs015.html#___sec15" style="font-size: 80%;">&nbsp;&nbsp;&nbsp;Compute the sample covariance</a></li>
<!-- navigation toc: --> <li><a href="._week43-bs015.html#___sec16" style="font-size: 80%;">&nbsp;&nbsp;&nbsp;Diagonalize the sample covariance matrix to obtain the principal components</a></li>
<!-- navigation toc: --> <li><a href="._week43-bs016.html#___sec17" style="font-size: 80%;"><b>Classical PCA Theorem</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs017.html#___sec18" style="font-size: 80%;"><b>Proof of the PCA Theorem</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs018.html#___sec19" style="font-size: 80%;"><b>PCA Proof continued</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs019.html#___sec20" style="font-size: 80%;"><b>The final step</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs020.html#___sec21" style="font-size: 80%;"><b>Geometric Interpretation and link with Singular Value Decomposition</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs021.html#___sec22" style="font-size: 80%;"><b>Principal Component Analysis</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs022.html#___sec23" style="font-size: 80%;"><b>PCA and scikit-learn</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs023.html#___sec24" style="font-size: 80%;"><b>Back to the Cancer Data</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs024.html#___sec25" style="font-size: 80%;"><b>More on the PCA</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs025.html#___sec26" style="font-size: 80%;"><b>Incremental PCA</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs026.html#___sec27" style="font-size: 80%;"><b>Randomized PCA</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs027.html#___sec28" style="font-size: 80%;"><b>Kernel PCA</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs028.html#___sec29" style="font-size: 80%;"><b>LLE</b></a></li>
<!-- navigation toc: --> <li><a href="._week43-bs029.html#___sec30" style="font-size: 80%;"><b>Other techniques</b></a></li>
</ul>
</li>
</ul>
</div>
</div>
</div> <!-- end of navigation bar -->
<div class="container">
<p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p> <!-- add vertical space -->
<a name="part0013"></a>
<!-- !split -->
<h2 id="___sec11" class="anchor">Towards the PCA theorem </h2>
<p>
We have that the covariance matrix (the correlation matrix involves a simple rescaling) is given as
$$
\boldsymbol{C}[\boldsymbol{x}] = \frac{1}{n}\boldsymbol{X}\boldsymbol{X}^T= \mathbb{E}[\boldsymbol{X}\boldsymbol{X}^T].
$$
Let us now assume that we can perform a series of orthogonal transformations where we employ some orthogonal matrices \( \boldsymbol{S} \).
These matrices are defined as \( \boldsymbol{S}\in {\mathbb{R}}^{p\times p} \) and obey the orthogonality requirements \( \boldsymbol{S}\boldsymbol{S}^T=\boldsymbol{S}^T\boldsymbol{S}=\boldsymbol{I} \). The matrix can be written out in terms of the column vectors \( \boldsymbol{s}_i \) as \( \boldsymbol{S}=[\boldsymbol{s}_0,\boldsymbol{s}_1,\dots,\boldsymbol{s}_{p-1}] \) and \( \boldsymbol{s}_i \in {\mathbb{R}}^{p} \).
<p>
Assume also that there is a transformation \( \boldsymbol{S}\boldsymbol{C}[\boldsymbol{x}]\boldsymbol{S}^T=\boldsymbol{C}[\boldsymbol{y}] \) such that the new matrix \( \boldsymbol{C}[\boldsymbol{y}] \) is diagonal with elements \( [\lambda_0,\lambda_1,\lambda_2,\dots,\lambda_{p-1}] \).
<p>
That is we have
$$
\boldsymbol{C}[\boldsymbol{y}] = \mathbb{E}[\boldsymbol{S}\boldsymbol{X}\boldsymbol{X}^T\boldsymbol{S}^T]=\boldsymbol{S}\boldsymbol{C}[\boldsymbol{x}]\boldsymbol{S}^T,
$$
since the matrix \( \boldsymbol{S} \) is not a data dependent matrix. Multiplying with \( \boldsymbol{S}^T \) from the left we have
$$
\boldsymbol{S}^T\boldsymbol{C}[\boldsymbol{y}] = \boldsymbol{C}[\boldsymbol{x}]\boldsymbol{S}^T,
$$
and since \( \boldsymbol{C}[\boldsymbol{y}] \) is diagonal we have for a given eigenvalue \( i \) of the covariance matrix that
$$
\boldsymbol{S}^T_i\lambda_i = \boldsymbol{C}[\boldsymbol{x}]\boldsymbol{S}^T_i.
$$
<p>
In the derivation of the PCA theorem we will assume that the eigenvalues are ordered in descending order, that is
\( \lambda_0 > \lambda_1 > \dots > \lambda_{p-1} \).
<p>
The eigenvalues tell us then how much we need to stretch the
corresponding eigenvectors. Dimensions with large eigenvalues have
thus large variations (large variance) and define therefore useful
dimensions. The data points are more spread out in the direction of
these eigenvectors. Smaller eigenvalues mean on the other hand that
the corresponding eigenvectors are shrunk accordingly and the data
points are tightly bunched together and there is not much variation in
these specific directions. Hopefully then we could leave it out
dimensions where the eigenvalues are very small. If \( p \) is very large,
we could then aim at reducing \( p \) to \( l < < p \) and handle only \( l \)
features/predictors.
<p>
<p>
<!-- navigation buttons at the bottom of the page -->
<ul class="pagination">
<li><a href="._week43-bs012.html">&laquo;</a></li>
<li><a href="._week43-bs000.html">1</a></li>
<li><a href="">...</a></li>
<li><a href="._week43-bs005.html">6</a></li>
<li><a href="._week43-bs006.html">7</a></li>
<li><a href="._week43-bs007.html">8</a></li>
<li><a href="._week43-bs008.html">9</a></li>
<li><a href="._week43-bs009.html">10</a></li>
<li><a href="._week43-bs010.html">11</a></li>
<li><a href="._week43-bs011.html">12</a></li>
<li><a href="._week43-bs012.html">13</a></li>
<li class="active"><a href="._week43-bs013.html">14</a></li>
<li><a href="._week43-bs014.html">15</a></li>
<li><a href="._week43-bs015.html">16</a></li>
<li><a href="._week43-bs016.html">17</a></li>
<li><a href="._week43-bs017.html">18</a></li>
<li><a href="._week43-bs018.html">19</a></li>
<li><a href="._week43-bs019.html">20</a></li>
<li><a href="._week43-bs020.html">21</a></li>
<li><a href="._week43-bs021.html">22</a></li>
<li><a href="._week43-bs022.html">23</a></li>
<li><a href="">...</a></li>
<li><a href="._week43-bs029.html">30</a></li>
<li><a href="._week43-bs014.html">&raquo;</a></li>
</ul>
<!-- ------------------- end of main content --------------- -->
</div> <!-- end container -->
<!-- include javascript, jQuery *first* -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<!-- Bootstrap footer
<footer>
<a href="http://..."><img width="250" align=right src="http://..."></a>
</footer>
-->
<center style="font-size:80%">
<!-- copyright only on the titlepage -->
</center>
</body>
</html>