class: inverse, center, middle count: false <br><br><br><br> # .orange.massive[TDA+Privacy] <br><br><br> ### .bolder[Siddharth Vishwanath] <br> .small.orange[28 August, 2020] <br><br><br><br><br> <a href="https://sidv23.github.io/sep7/"> `\(\bbox[2pt,grey]{\color{orange}{\texttt{sidv23.github.io/sep7/}}}\)` </a> --- class: center # .black[Topological Data Analysis] ### | TDA | A collection of mathematical, statistical and algorithmic tools <br> to analyze complex data <br/><br/><br/><br/><br/><br/> --- # What is Topological Data Analysis? * A methodology to extract shape from complex data <br/><br/> -- - **Setup:** Given `\(\mathbb{X}_n = \{ \boldsymbol{x}_1, \boldsymbol{x}_2, \dots \boldsymbol{x}_n \} \subset \mathbb{R}^d\)` <br/><br/> <img src="slides_files/figure-html/unnamed-chunk-1-1.png" style="display: block; margin: auto;" /> <br/><br/> -- - **Objective:** What is the "*shape*" of `\(\mathbb{X}_n\)`? --- layout: false class: inverse, center, middle count: false # TDA Pipeline ## .orange[Persistent Homology] --- layout: true class: split-two with-border border-black .column.bg-orange[.content[ .split-five[ .row[.content.left[ <br> .Large.bolder[Input:] `\(\hspace{0.5cm} \mathbb{X}_n = \{ \boldsymbol{x}_1,\boldsymbol{x}_2, \dots ,\boldsymbol{x}_n \} \subset \mathbb{R}^d\)` <br> ]] .row[.content.left[ <br> `\(\hspace{1cm}\)` **1:** At resolution `\(r>0\)`, look at `\(\bigcup\limits_{i=1}^n B_r(\mathbf{x}_i)\)` <br> ]] .row[.content.left[ <br><br> `\(\hspace{1cm}\)` **2:** Construct a ****simplicial complex**** `\(\mathcal{K}(\mathbb{X}_n, r)\)` <br><br> ]] .row[.content.left[ <br><br> `\(\hspace{1cm}\)` **3:** Examine the ****filtration**** `\(\{\mathcal{K}( \mathbb{X}_n, r )\}_{r>0}\)` <br<br><br> ]] .row[.content.left[ <br> .Large.bolder[Output:] `\(\hspace{0.5cm}\textbf{Bar}(\mathbb{X}_n)\)` or `\(\textbf{Dgm}(\mathbb{X}_n)\)` <br> ]] ] ]] .column.bg[.content.center.vmiddle[ {{content}} ] ] --- class: fade-row2-col1 fade-row3-col1 fade-row4-col1 fade-row5-col1 with-border gray-row2-col1 gray-row3-col1 gray-row4-col1 gray-row5-col1 <img src="images/example1.svg" width="400",height="400"> --- class: fade-row1-col1 fade-row3-col1 fade-row4-col1 fade-row5-col1 with-border gray-row1-col1 gray-row3-col1 gray-row4-col1 gray-row5-col1 count: false <img src="images/example2.svg" width="400",height="400"> --- class: fade-row1-col1 fade-row2-col1 fade-row4-col1 fade-row5-col1 with-border gray-row1-col1 gray-row2-col1 gray-row4-col1 gray-row5-col1 count: false <img src="images/example3.svg" width="400",height="400"> --- class: fade-row1-col1 fade-row2-col1 fade-row3-col1 fade-row5-col1 with-border gray-row1-col1 gray-row2-col1 gray-row3-col1 gray-row5-col1 count: false <img src="images/example4.svg" width="400",height="400"> --- class: fade-row1-col1 fade-row2-col1 fade-row3-col1 fade-row5-col1 with-border gray-row1-col1 gray-row2-col1 gray-row3-col1 gray-row5-col1 count: false <img src="images/example5.svg" width="400",height="400"> --- class: fade-row1-col1 fade-row2-col1 fade-row3-col1 fade-row5-col1 with-border gray-row1-col1 gray-row2-col1 gray-row3-col1 gray-row5-col1 count: false <img src="images/example6.svg" width="400",height="400"> --- class: fade-row1-col1 fade-row2-col1 fade-row3-col1 fade-row5-col1 with-border gray-row1-col1 gray-row2-col1 gray-row3-col1 gray-row5-col1 count: false <img src="images/example7.svg" width="400",height="400"> --- class: fade-row1-col1 fade-row2-col1 fade-row3-col1 fade-row4-col1 with-border gray-row1-col1 gray-row2-col1 gray-row3-col1 gray-row4-col1 count: false <img src="images/ex7.svg" width="550",height="550"> --- layout: false # Persistent Homology <iframe src="https://rstudio.aws.science.psu.edu:3838/suv87/tda/cech/" width="800" height="500"></iframe> --- class: center # .left[Diagrams and Barcodes] <img src="images/2d_surface2.svg" width="450",height="450"> <br/> `\(\mathbb{X}_n\)` is sampled from `\(2p_z\)` orbital --- layout: false class: center count: false # .left[Diagrams and Barcodes] .pull-left[ <img src="images/2d_barcode.svg" width="420",height="420"> <br/> `\(\textbf{Bar}(\mathbb{X}_n)\)` ] .pull-left[ <img src="images/2d_diagram.svg" width="400",height="400"> <br/> `\(\textbf{Dgm}(\mathbb{X}_n)\)` ] --- class: center # .left[Metrics for Persistence Diagrams] Given two persistence diagrams `\(\textbf{D}_1\)` and `\(\textbf{D}_2\)` .pull-left[ <img src="images/twocircles.svg" width="420",height="420"> <br/> ] .pull-left[ <img src="images/wasserstein.svg" width="400",height="400"> <br/> ] `\(W_\infty(\textbf{D}_1,\textbf{D}_2) = \inf\limits_{\gamma: \textbf{D}_1 \rightarrow \textbf{D}_2}\sup\limits_{x \in \textbf{D}_1} || x - \gamma(x) ||_\infty\)` --- layout: false class: inverse, center, middle count: false # Persistent Cubical-Homology ## .orange[Sublevel and superlevel sets] --- # TDA from super/sub level sets * Given a .purple[filter function] `\(\phi: \mathbb R^d \rightarrow \mathbb R\)` * The sublevel set at level `\(r\)` is given by $$ \mathcal X_r = \phi^{-1}\Big( (\infty,r] \Big) = \{\boldsymbol x \in \mathbb R^d : \phi(\boldsymbol x) \le r\} $$ * The superlevel set at level `\(r\)` is given by $$ \mathcal{X}^r = \phi^{-1}\Big( [r,\infty) \Big) = \{\boldsymbol x \in \mathbb R^d : \phi(\boldsymbol x) \ge r\} $$ -- * The **superlevel filtration** induced by `\(\phi\)`, `\(\text{Sup}(\phi)\)`, is the nested sequence of topological spaces $$ \varnothing \subseteq \mathcal{X}^{r_1} \subseteq \mathcal{X}^{r_2} \dots \subseteq \mathcal{X}^{r_n} $$ for `\(\infty > r_1 > r_2 > \dots > r_n\)`. * The resulting persistence diagram is denoted by `\(\mathbf{Dgm}(\text{Sup}(\phi))\)`. Mutatis mutandis, a similar notion holds for `\(\mathbf{Dgm}(\text{Sub}(\phi))\)`. --- # Example 1 .center[ <body> `\(\mathbf{Dgm}(\text{Sup}(\phi))\)` for a function `\(\phi:\mathbb R \rightarrow \mathbb R\)` </body> ] <iframe src="https://rstudio.aws.science.psu.edu:3838/suv87/tda/superlevel/" width="800" height="400"></iframe> --- # Example 2 .center[ <body> Example of `\(\phi:\mathbb R^2 \rightarrow \mathbb R\)` </body> ] <iframe src="https://rstudio.aws.science.psu.edu:3838/suv87/tda/rkde/" width="800" height="400"></iframe>