diff --git a/_site/atom.xml b/_site/atom.xml index f3b73d6..1445ed0 100644 --- a/_site/atom.xml +++ b/_site/atom.xml @@ -20,7 +20,20 @@
-

Operations research (OR) is a vast area comprising a lot of theory, different branches of mathematics, and too many applications to count. In this post, I will try to explain why it can be a little disconcerting to explore at first, and how to start investigating the topic with a few references to get started.

+

Table of Contents

+

Introduction

+

Operations research (OR) is a vast area comprising a lot of theory, different branches of mathematics, and too many applications to count. In this post, I will try to explain why it can be a little disconcerting to explore at first, and how to start investigating the topic with a few references to get started.

Keep in mind that although I studied it during my graduate studies, this is not my primary area of expertise (I’m a data scientist by trade), and I definitely don’t pretend to know everything in OR. This is a field too vast for any single person to understand in its entirety, and I talk mostly from an “amateur mathematician and computer scientist” standpoint.

Why is it hard to approach?

Operations research can be difficult to approach, since there are many references and subfields. Compared to machine learning for instance, OR has a slightly longer history (going back to the 17th century, for example with Monge and the optimal transport problem) For a very nice introduction (in French) to optimal transport, see these blog posts by Gabriel Peyré, on the CNRS maths blog: Part 1 and Part 2. See also the resources on optimaltransport.github.io (in English).
@@ -135,7 +148,21 @@

-

ICLR is one of the most important conferences in machine learning, and as such, I was very excited to have the opportunity to volunteer and attend the first fully-virtual edition of the event. The whole content of the conference has been made publicly available, only a few days after the end of the event!

+

Table of Contents

+

ICLR is one of the most important conferences in machine learning, and as such, I was very excited to have the opportunity to volunteer and attend the first fully-virtual edition of the event. The whole content of the conference has been made publicly available, only a few days after the end of the event!

I would like to thank the organizing committee for this incredible event, and the possibility to volunteer to help other participantsTo better organize the event, and help people navigate the various online tools, they brought in 500(!) volunteers, waved our registration fees, and asked us to do simple load-testing and tech support. This was a very generous offer, and felt very rewarding for us, as we could attend the conference, and give back to the organization a little bit.

.

@@ -191,7 +218,15 @@
-

Two weeks ago, I did a presentation for my colleagues of the paper from Yurochkin et al. (2019), from NeurIPS 2019. It contains an interesting approach to document classification leading to strong performance, and, most importantly, excellent interpretability.

+

Table of Contents

+

Two weeks ago, I did a presentation for my colleagues of the paper from Yurochkin et al. (2019), from NeurIPS 2019. It contains an interesting approach to document classification leading to strong performance, and, most importantly, excellent interpretability.

This paper seems interesting to me because of it uses two methods with strong theoretical guarantees: optimal transport and topic modelling. Optimal transport looks very promising to me in NLP, and has seen a lot of interest in recent years due to advances in approximation algorithms, such as entropy regularisation. It is also quite refreshing to see approaches using solid results in optimisation, compared to purely experimental deep learning methods.

Introduction and motivation

The problem of the paper is to measure similarity (i.e. a distance) between pairs of documents, by incorporating semantic similarities (and not only syntactic artefacts), without encountering scalability issues.

@@ -345,7 +380,18 @@ W_1(p, q) = \min_{P \in \mathbb{R}_+^{n\times m}} \sum_{i,j} C_{i,j} P_{i,j}
-

Introduction

+

Table of Contents

+

Introduction

I have recently bought the book Category Theory from Steve Awodey (Awodey 2010) is awesome, but probably the topic for another post), and a particular passage excited my curiosity:

Let us begin by distinguishing between the following things: i. categorical foundations for mathematics, ii. mathematical foundations for category theory.

@@ -524,7 +570,15 @@ then \(\varphi(n)\) is true for every natural n
-

The APL family of languages

+

Table of Contents

+

The APL family of languages

Why APL?

I recently got interested in APL, an array-based programming language. In APL (and derivatives), we try to reason about programs as series of transformations of multi-dimensional arrays. This is exactly the kind of style I like in Haskell and other functional languages, where I also try to use higher-order functions (map, fold, etc) on lists or arrays. A developer only needs to understand these abstractions once, instead of deconstructing each loop or each recursive function encountered in a program.

APL also tries to be a really simple and terse language. This combined with strange Unicode characters for primitive functions and operators, gives it a reputation of unreadability. However, there is only a small number of functions to learn, and you get used really quickly to read them and understand what they do. Some combinations also occur so frequently that you can recognize them instantly (APL programmers call them idioms).

@@ -730,7 +784,13 @@ then \(\varphi(n)\) is true for every natural n
-

The Ising model is a model used to represent magnetic dipole moments in statistical physics. Physical details are on the Wikipedia page, but what is interesting is that it follows a complex probability distribution on a lattice, where each site can take the value +1 or -1.

+

Table of Contents

+

The Ising model is a model used to represent magnetic dipole moments in statistical physics. Physical details are on the Wikipedia page, but what is interesting is that it follows a complex probability distribution on a lattice, where each site can take the value +1 or -1.

Mathematical definition

We have a lattice \(\Lambda\) consisting of sites \(k\). For each site, there is a moment \(\sigma_k \in \{ -1, +1 \}\). \(\sigma = @@ -850,7 +910,23 @@ J\sigma_i \sum_{j\sim i} \sigma_j. \]

-

L-systems are a formal way to make interesting visualisations. You can use them to model a wide variety of objects: space-filling curves, fractals, biological systems, tilings, etc.

+

Table of Contents

+

L-systems are a formal way to make interesting visualisations. You can use them to model a wide variety of objects: space-filling curves, fractals, biological systems, tilings, etc.

See the Github repo: https://github.com/dlozeve/lsystems

What is an L-system?

A few examples to get started

diff --git a/_site/posts/hierarchical-optimal-transport-for-document-classification.html b/_site/posts/hierarchical-optimal-transport-for-document-classification.html index fcdbdba..607dce8 100644 --- a/_site/posts/hierarchical-optimal-transport-for-document-classification.html +++ b/_site/posts/hierarchical-optimal-transport-for-document-classification.html @@ -52,7 +52,15 @@
-

Two weeks ago, I did a presentation for my colleagues of the paper from Yurochkin et al. (2019), from NeurIPS 2019. It contains an interesting approach to document classification leading to strong performance, and, most importantly, excellent interpretability.

+

Table of Contents

+

Two weeks ago, I did a presentation for my colleagues of the paper from Yurochkin et al. (2019), from NeurIPS 2019. It contains an interesting approach to document classification leading to strong performance, and, most importantly, excellent interpretability.

This paper seems interesting to me because of it uses two methods with strong theoretical guarantees: optimal transport and topic modelling. Optimal transport looks very promising to me in NLP, and has seen a lot of interest in recent years due to advances in approximation algorithms, such as entropy regularisation. It is also quite refreshing to see approaches using solid results in optimisation, compared to purely experimental deep learning methods.

Introduction and motivation

The problem of the paper is to measure similarity (i.e. a distance) between pairs of documents, by incorporating semantic similarities (and not only syntactic artefacts), without encountering scalability issues.

diff --git a/_site/posts/iclr-2020-notes.html b/_site/posts/iclr-2020-notes.html index 8cb37b9..00fc8df 100644 --- a/_site/posts/iclr-2020-notes.html +++ b/_site/posts/iclr-2020-notes.html @@ -52,7 +52,21 @@
-

ICLR is one of the most important conferences in machine learning, and as such, I was very excited to have the opportunity to volunteer and attend the first fully-virtual edition of the event. The whole content of the conference has been made publicly available, only a few days after the end of the event!

+

Table of Contents

+

ICLR is one of the most important conferences in machine learning, and as such, I was very excited to have the opportunity to volunteer and attend the first fully-virtual edition of the event. The whole content of the conference has been made publicly available, only a few days after the end of the event!

I would like to thank the organizing committee for this incredible event, and the possibility to volunteer to help other participantsTo better organize the event, and help people navigate the various online tools, they brought in 500(!) volunteers, waved our registration fees, and asked us to do simple load-testing and tech support. This was a very generous offer, and felt very rewarding for us, as we could attend the conference, and give back to the organization a little bit.

.

diff --git a/_site/posts/ising-apl.html b/_site/posts/ising-apl.html index b6be6df..7d2cdf0 100644 --- a/_site/posts/ising-apl.html +++ b/_site/posts/ising-apl.html @@ -52,7 +52,15 @@
-

The APL family of languages

+

Table of Contents

+

The APL family of languages

Why APL?

I recently got interested in APL, an array-based programming language. In APL (and derivatives), we try to reason about programs as series of transformations of multi-dimensional arrays. This is exactly the kind of style I like in Haskell and other functional languages, where I also try to use higher-order functions (map, fold, etc) on lists or arrays. A developer only needs to understand these abstractions once, instead of deconstructing each loop or each recursive function encountered in a program.

APL also tries to be a really simple and terse language. This combined with strange Unicode characters for primitive functions and operators, gives it a reputation of unreadability. However, there is only a small number of functions to learn, and you get used really quickly to read them and understand what they do. Some combinations also occur so frequently that you can recognize them instantly (APL programmers call them idioms).

diff --git a/_site/posts/ising-model.html b/_site/posts/ising-model.html index 34fdb4c..7a1e21d 100644 --- a/_site/posts/ising-model.html +++ b/_site/posts/ising-model.html @@ -54,7 +54,13 @@
-

The Ising model is a model used to represent magnetic dipole moments in statistical physics. Physical details are on the Wikipedia page, but what is interesting is that it follows a complex probability distribution on a lattice, where each site can take the value +1 or -1.

+

Table of Contents

+

The Ising model is a model used to represent magnetic dipole moments in statistical physics. Physical details are on the Wikipedia page, but what is interesting is that it follows a complex probability distribution on a lattice, where each site can take the value +1 or -1.

Mathematical definition

We have a lattice \(\Lambda\) consisting of sites \(k\). For each site, there is a moment \(\sigma_k \in \{ -1, +1 \}\). \(\sigma = diff --git a/_site/posts/lsystems.html b/_site/posts/lsystems.html index 04f3702..05ba0e0 100644 --- a/_site/posts/lsystems.html +++ b/_site/posts/lsystems.html @@ -54,7 +54,23 @@

-

L-systems are a formal way to make interesting visualisations. You can use them to model a wide variety of objects: space-filling curves, fractals, biological systems, tilings, etc.

+

Table of Contents

+

L-systems are a formal way to make interesting visualisations. You can use them to model a wide variety of objects: space-filling curves, fractals, biological systems, tilings, etc.

See the Github repo: https://github.com/dlozeve/lsystems

What is an L-system?

A few examples to get started

diff --git a/_site/posts/operations-research-references.html b/_site/posts/operations-research-references.html index d0f9aa8..c8cf007 100644 --- a/_site/posts/operations-research-references.html +++ b/_site/posts/operations-research-references.html @@ -52,7 +52,20 @@
-

Operations research (OR) is a vast area comprising a lot of theory, different branches of mathematics, and too many applications to count. In this post, I will try to explain why it can be a little disconcerting to explore at first, and how to start investigating the topic with a few references to get started.

+

Table of Contents

+

Introduction

+

Operations research (OR) is a vast area comprising a lot of theory, different branches of mathematics, and too many applications to count. In this post, I will try to explain why it can be a little disconcerting to explore at first, and how to start investigating the topic with a few references to get started.

Keep in mind that although I studied it during my graduate studies, this is not my primary area of expertise (I’m a data scientist by trade), and I definitely don’t pretend to know everything in OR. This is a field too vast for any single person to understand in its entirety, and I talk mostly from an “amateur mathematician and computer scientist” standpoint.

Why is it hard to approach?

Operations research can be difficult to approach, since there are many references and subfields. Compared to machine learning for instance, OR has a slightly longer history (going back to the 17th century, for example with Monge and the optimal transport problem) For a very nice introduction (in French) to optimal transport, see these blog posts by Gabriel Peyré, on the CNRS maths blog: Part 1 and Part 2. See also the resources on optimaltransport.github.io (in English).
diff --git a/_site/posts/peano.html b/_site/posts/peano.html index bda02d7..7aa3903 100644 --- a/_site/posts/peano.html +++ b/_site/posts/peano.html @@ -52,7 +52,18 @@

-

Introduction

+

Table of Contents

+

Introduction

I have recently bought the book Category Theory from Steve Awodey (Awodey 2010) is awesome, but probably the topic for another post), and a particular passage excited my curiosity:

Let us begin by distinguishing between the following things: i. categorical foundations for mathematics, ii. mathematical foundations for category theory.

diff --git a/_site/rss.xml b/_site/rss.xml index 73dbb87..459b4a0 100644 --- a/_site/rss.xml +++ b/_site/rss.xml @@ -16,7 +16,20 @@
-

Operations research (OR) is a vast area comprising a lot of theory, different branches of mathematics, and too many applications to count. In this post, I will try to explain why it can be a little disconcerting to explore at first, and how to start investigating the topic with a few references to get started.

+

Table of Contents

+

Introduction

+

Operations research (OR) is a vast area comprising a lot of theory, different branches of mathematics, and too many applications to count. In this post, I will try to explain why it can be a little disconcerting to explore at first, and how to start investigating the topic with a few references to get started.

Keep in mind that although I studied it during my graduate studies, this is not my primary area of expertise (I’m a data scientist by trade), and I definitely don’t pretend to know everything in OR. This is a field too vast for any single person to understand in its entirety, and I talk mostly from an “amateur mathematician and computer scientist” standpoint.

Why is it hard to approach?

Operations research can be difficult to approach, since there are many references and subfields. Compared to machine learning for instance, OR has a slightly longer history (going back to the 17th century, for example with Monge and the optimal transport problem) For a very nice introduction (in French) to optimal transport, see these blog posts by Gabriel Peyré, on the CNRS maths blog: Part 1 and Part 2. See also the resources on optimaltransport.github.io (in English).
@@ -131,7 +144,21 @@

-

ICLR is one of the most important conferences in machine learning, and as such, I was very excited to have the opportunity to volunteer and attend the first fully-virtual edition of the event. The whole content of the conference has been made publicly available, only a few days after the end of the event!

+

Table of Contents

+

ICLR is one of the most important conferences in machine learning, and as such, I was very excited to have the opportunity to volunteer and attend the first fully-virtual edition of the event. The whole content of the conference has been made publicly available, only a few days after the end of the event!

I would like to thank the organizing committee for this incredible event, and the possibility to volunteer to help other participantsTo better organize the event, and help people navigate the various online tools, they brought in 500(!) volunteers, waved our registration fees, and asked us to do simple load-testing and tech support. This was a very generous offer, and felt very rewarding for us, as we could attend the conference, and give back to the organization a little bit.

.

@@ -187,7 +214,15 @@
-

Two weeks ago, I did a presentation for my colleagues of the paper from Yurochkin et al. (2019), from NeurIPS 2019. It contains an interesting approach to document classification leading to strong performance, and, most importantly, excellent interpretability.

+

Table of Contents

+

Two weeks ago, I did a presentation for my colleagues of the paper from Yurochkin et al. (2019), from NeurIPS 2019. It contains an interesting approach to document classification leading to strong performance, and, most importantly, excellent interpretability.

This paper seems interesting to me because of it uses two methods with strong theoretical guarantees: optimal transport and topic modelling. Optimal transport looks very promising to me in NLP, and has seen a lot of interest in recent years due to advances in approximation algorithms, such as entropy regularisation. It is also quite refreshing to see approaches using solid results in optimisation, compared to purely experimental deep learning methods.

Introduction and motivation

The problem of the paper is to measure similarity (i.e. a distance) between pairs of documents, by incorporating semantic similarities (and not only syntactic artefacts), without encountering scalability issues.

@@ -341,7 +376,18 @@ W_1(p, q) = \min_{P \in \mathbb{R}_+^{n\times m}} \sum_{i,j} C_{i,j} P_{i,j}
-

Introduction

+

Table of Contents

+

Introduction

I have recently bought the book Category Theory from Steve Awodey (Awodey 2010) is awesome, but probably the topic for another post), and a particular passage excited my curiosity:

Let us begin by distinguishing between the following things: i. categorical foundations for mathematics, ii. mathematical foundations for category theory.

@@ -520,7 +566,15 @@ then \(\varphi(n)\) is true for every natural n
-

The APL family of languages

+

Table of Contents

+

The APL family of languages

Why APL?

I recently got interested in APL, an array-based programming language. In APL (and derivatives), we try to reason about programs as series of transformations of multi-dimensional arrays. This is exactly the kind of style I like in Haskell and other functional languages, where I also try to use higher-order functions (map, fold, etc) on lists or arrays. A developer only needs to understand these abstractions once, instead of deconstructing each loop or each recursive function encountered in a program.

APL also tries to be a really simple and terse language. This combined with strange Unicode characters for primitive functions and operators, gives it a reputation of unreadability. However, there is only a small number of functions to learn, and you get used really quickly to read them and understand what they do. Some combinations also occur so frequently that you can recognize them instantly (APL programmers call them idioms).

@@ -726,7 +780,13 @@ then \(\varphi(n)\) is true for every natural n
-

The Ising model is a model used to represent magnetic dipole moments in statistical physics. Physical details are on the Wikipedia page, but what is interesting is that it follows a complex probability distribution on a lattice, where each site can take the value +1 or -1.

+

Table of Contents

+

The Ising model is a model used to represent magnetic dipole moments in statistical physics. Physical details are on the Wikipedia page, but what is interesting is that it follows a complex probability distribution on a lattice, where each site can take the value +1 or -1.

Mathematical definition

We have a lattice \(\Lambda\) consisting of sites \(k\). For each site, there is a moment \(\sigma_k \in \{ -1, +1 \}\). \(\sigma = @@ -846,7 +906,23 @@ J\sigma_i \sum_{j\sim i} \sigma_j. \]

-

L-systems are a formal way to make interesting visualisations. You can use them to model a wide variety of objects: space-filling curves, fractals, biological systems, tilings, etc.

+

Table of Contents

+

L-systems are a formal way to make interesting visualisations. You can use them to model a wide variety of objects: space-filling curves, fractals, biological systems, tilings, etc.

See the Github repo: https://github.com/dlozeve/lsystems

What is an L-system?

A few examples to get started

diff --git a/posts/hierarchical-optimal-transport-for-document-classification.org b/posts/hierarchical-optimal-transport-for-document-classification.org index c713445..92f3211 100644 --- a/posts/hierarchical-optimal-transport-for-document-classification.org +++ b/posts/hierarchical-optimal-transport-for-document-classification.org @@ -1,6 +1,7 @@ --- title: "Reading notes: Hierarchical Optimal Transport for Document Representation" date: 2020-04-05 +toc: true --- Two weeks ago, I did a presentation for my colleagues of the paper diff --git a/posts/iclr-2020-notes.org b/posts/iclr-2020-notes.org index c28271e..673c575 100644 --- a/posts/iclr-2020-notes.org +++ b/posts/iclr-2020-notes.org @@ -1,6 +1,7 @@ --- title: "ICLR 2020 Notes: Speakers and Workshops" date: 2020-05-05 +toc: true --- ICLR is one of the most important conferences in machine learning, and diff --git a/posts/ising-apl.org b/posts/ising-apl.org index 80efdda..7b1ad81 100644 --- a/posts/ising-apl.org +++ b/posts/ising-apl.org @@ -2,6 +2,7 @@ title: Ising model simulation in APL date: 2018-03-05 tags: ising simulation montecarlo apl +toc: true --- * The APL family of languages diff --git a/posts/ising-model.org b/posts/ising-model.org index 416c657..4ee0c32 100644 --- a/posts/ising-model.org +++ b/posts/ising-model.org @@ -3,6 +3,7 @@ title: Ising model simulation author: Dimitri Lozeve date: 2018-02-05 tags: ising visualization simulation montecarlo +toc: true --- The [[https://en.wikipedia.org/wiki/Ising_model][Ising model]] is a diff --git a/posts/lsystems.org b/posts/lsystems.org index c58419a..a6f16e7 100644 --- a/posts/lsystems.org +++ b/posts/lsystems.org @@ -3,6 +3,7 @@ title: Generating and representing L-systems author: Dimitri Lozeve date: 2018-01-18 tags: lsystems visualization algorithms haskell +toc: true --- L-systems are a formal way to make interesting visualisations. You can diff --git a/posts/operations-research-references.org b/posts/operations-research-references.org index b6201c4..3cf6ea7 100644 --- a/posts/operations-research-references.org +++ b/posts/operations-research-references.org @@ -1,8 +1,11 @@ --- title: "Operations Research and Optimization: where to start?" date: 2020-05-27 +toc: true --- +* Introduction + [[https://en.wikipedia.org/wiki/Operations_research][Operations research]] (OR) is a vast area comprising a lot of theory, different branches of mathematics, and too many applications to count. In this post, I will try to explain why it can be a little diff --git a/posts/peano.org b/posts/peano.org index d9e689d..4dd4159 100644 --- a/posts/peano.org +++ b/posts/peano.org @@ -1,6 +1,7 @@ --- title: "Peano Axioms" date: 2019-03-18 +toc: true --- * Introduction diff --git a/site.hs b/site.hs index b9096a6..e75e305 100644 --- a/site.hs +++ b/site.hs @@ -40,7 +40,10 @@ main = hakyll $ do match "posts/*" $ do route $ setExtension "html" - compile $ customPandocCompiler + compile $ do + underlying <- getUnderlying + toc <- getMetadataField underlying "toc" + customPandocCompiler (toc == Just "yes" || toc == Just "true") >>= return . fmap demoteHeaders >>= loadAndApplyTemplate "templates/post.html" postCtx >>= saveSnapshot "content" @@ -49,14 +52,14 @@ main = hakyll $ do match "projects/*" $ do route $ setExtension "html" - compile $ customPandocCompiler + compile $ customPandocCompiler False >>= loadAndApplyTemplate "templates/project.html" postCtx >>= loadAndApplyTemplate "templates/default.html" postCtx >>= relativizeUrls match (fromList ["contact.org", "cv.org", "skills.org", "projects.org"]) $ do route $ setExtension "html" - compile $ customPandocCompiler + compile $ customPandocCompiler False >>= return . fmap demoteHeaders >>= loadAndApplyTemplate "templates/default.html" defaultContext >>= relativizeUrls @@ -158,8 +161,8 @@ myReadPandocBiblio ropt csl biblio item = do return $ fmap (const pandoc') item -- Pandoc compiler with KaTeX and bibliography support -------------------- -customPandocCompiler :: Compiler (Item String) -customPandocCompiler = +customPandocCompiler :: Bool -> Compiler (Item String) +customPandocCompiler withTOC = let customExtensions = extensionsFromList [Ext_latex_macros] defaultExtensions = writerExtensions defaultHakyllWriterOptions newExtensions = defaultExtensions `mappend` customExtensions @@ -167,11 +170,16 @@ customPandocCompiler = { writerExtensions = newExtensions , writerHTMLMathMethod = KaTeX "" } + writerOptionsWithTOC = writerOptions + { writerTableOfContents = True + , writerTOCDepth = 2 + , writerTemplate = Just "

Table of Contents

$toc$\n$body$" + } readerOptions = defaultHakyllReaderOptions in do csl <- load $ fromFilePath "csl/chicago-author-date.csl" bib <- load $ fromFilePath "bib/bibliography.bib" - writePandocWith writerOptions <$> + writePandocWith (if withTOC then writerOptionsWithTOC else writerOptions) <$> (getResourceBody >>= myReadPandocBiblio readerOptions csl bib >>= traverse (return . usingSideNotes)) type FeedRenderer = FeedConfiguration