Posts by Tags

Biology

Is the world as we see it?

36 minute read

Published:

In this blogpost, we ask a question ancient as philosophy itself: is the world as we see it? However we approach this question from the view of biology and neuroscience. We discuss three different perspectives on why the world is or is not as we see it: An evolutionary perspective, a resource optimization perspective, and the perspective of ambiguity of sensory information. With this question as guiding thread, this post introduces several major concepts of perception and neuroscience to a general audience.

Constrained Optimization

Easy constrained optimization in Pytorch with Parametrizations

24 minute read

Published:

Often times, we want to optimize some model parameter while keeping it constrained. For example, we might want a parameter vector to have unit norm, a set of vectors to be orthogonal with respect to each other, or a matrix to be symmetric positive definite (SPD). For the specific cases where the constraint is for the parameter to be on a manifold, a common approach is to use Riemannian optimization. However, there is a simpler and often more efficient way to do constrained optimization: we can use a technique called parametrization.

Dimensionality reduction

I thought I understood LDA, until I learned this

16 minute read

Published:

Sometimes you think you understand a basic statistics problem. And then, you look closer and realize that you don’t understand it as well as you thought. This happened to me recently with Linear Discriminant Analysis (LDA). In this post, I discuss some interesting and lesser known aspects of LDA that I learned when diving deeper into this method, and that seem to often cause confusion.

Estimation

Covariance shrinkage for begginers with Python implementation

17 minute read

Published:

Covariance matrices are one of the most important objects in statistics and machine learning, essential to many algorithms. But estimating covariance matrices can be difficult, especially in high-dimensional settings. In this post we introduce covariance shrinkage, a technique to improve covariance matrix estimation. We also provide a PyTorch implementation of a popular shrinkage technique, the Oracle Approximating Shrinkage (OAS) estimator.

Feature learning

I thought I understood LDA, until I learned this

16 minute read

Published:

Sometimes you think you understand a basic statistics problem. And then, you look closer and realize that you don’t understand it as well as you thought. This happened to me recently with Linear Discriminant Analysis (LDA). In this post, I discuss some interesting and lesser known aspects of LDA that I learned when diving deeper into this method, and that seem to often cause confusion.

General audience

Is the world as we see it?

36 minute read

Published:

In this blogpost, we ask a question ancient as philosophy itself: is the world as we see it? However we approach this question from the view of biology and neuroscience. We discuss three different perspectives on why the world is or is not as we see it: An evolutionary perspective, a resource optimization perspective, and the perspective of ambiguity of sensory information. With this question as guiding thread, this post introduces several major concepts of perception and neuroscience to a general audience.

GitHub

GitHub releases to keep your old projects from breaking

3 minute read

Published:

If you are a scientist programming for your research, you probably experienced the following. You wrote some code, in a directory my_code/, or GitHub repository https://github.com/my_user/my_code. You use this code in a project, and analyses are working. Then, you modify your software to add a new feature, required by a new project or analysis. However, the new modified code might (and probably will) break the original analysis.

Machine Learning

Easy constrained optimization in Pytorch with Parametrizations

24 minute read

Published:

Often times, we want to optimize some model parameter while keeping it constrained. For example, we might want a parameter vector to have unit norm, a set of vectors to be orthogonal with respect to each other, or a matrix to be symmetric positive definite (SPD). For the specific cases where the constraint is for the parameter to be on a manifold, a common approach is to use Riemannian optimization. However, there is a simpler and often more efficient way to do constrained optimization: we can use a technique called parametrization.

Manifolds

Easy constrained optimization in Pytorch with Parametrizations

24 minute read

Published:

Often times, we want to optimize some model parameter while keeping it constrained. For example, we might want a parameter vector to have unit norm, a set of vectors to be orthogonal with respect to each other, or a matrix to be symmetric positive definite (SPD). For the specific cases where the constraint is for the parameter to be on a manifold, a common approach is to use Riemannian optimization. However, there is a simpler and often more efficient way to do constrained optimization: we can use a technique called parametrization.

Meta-science

Layperson’s Guide to the Science Reproducibility Crisis

10 minute read

Published:

Science is largely responsible for the tremendous progress civilization has made over the last few centuries. It has also shaped how we see ourselves and our place in the universe. However, like any other human endeavor, science is not perfect. Recent years have seen a growing debate about the so-called “reproducibility crisis,” which refers to the inability to reproduce the results of many scientific studies. This is a serious issue that affects not only the scientific community but also society as a whole. In this post, I provide an accessible overview of the issue.

Neural Coding

Neural Coding Open Datasets: Python Tutorial Part 1

12 minute read

Published:

Understanding how populations of neurons encode information is a central goal of systems neuroscience. As neural recordings scale in magnitude, there is a growing need for novel statistical methods to analyze these data. Open neuroscience datasets are a great tool for developing and testing such methods. This post kicks off a short series on working with some open neural population datasets using Python. We’ll focus on one core task: obtaining spike counts across trials and conditions. This first post uses the Allen Institute - Visual Coding dataset, accessed via the AllenSDK package.

Neuroscience

Neural Coding Open Datasets: Python Tutorial Part 1

12 minute read

Published:

Understanding how populations of neurons encode information is a central goal of systems neuroscience. As neural recordings scale in magnitude, there is a growing need for novel statistical methods to analyze these data. Open neuroscience datasets are a great tool for developing and testing such methods. This post kicks off a short series on working with some open neural population datasets using Python. We’ll focus on one core task: obtaining spike counts across trials and conditions. This first post uses the Allen Institute - Visual Coding dataset, accessed via the AllenSDK package.

Open Data

Neural Coding Open Datasets: Python Tutorial Part 1

12 minute read

Published:

Understanding how populations of neurons encode information is a central goal of systems neuroscience. As neural recordings scale in magnitude, there is a growing need for novel statistical methods to analyze these data. Open neuroscience datasets are a great tool for developing and testing such methods. This post kicks off a short series on working with some open neural population datasets using Python. We’ll focus on one core task: obtaining spike counts across trials and conditions. This first post uses the Allen Institute - Visual Coding dataset, accessed via the AllenSDK package.

Optimization

Easy constrained optimization in Pytorch with Parametrizations

24 minute read

Published:

Often times, we want to optimize some model parameter while keeping it constrained. For example, we might want a parameter vector to have unit norm, a set of vectors to be orthogonal with respect to each other, or a matrix to be symmetric positive definite (SPD). For the specific cases where the constraint is for the parameter to be on a manifold, a common approach is to use Riemannian optimization. However, there is a simpler and often more efficient way to do constrained optimization: we can use a technique called parametrization.

Perception

Is the world as we see it?

36 minute read

Published:

In this blogpost, we ask a question ancient as philosophy itself: is the world as we see it? However we approach this question from the view of biology and neuroscience. We discuss three different perspectives on why the world is or is not as we see it: An evolutionary perspective, a resource optimization perspective, and the perspective of ambiguity of sensory information. With this question as guiding thread, this post introduces several major concepts of perception and neuroscience to a general audience.

Philosophy

Is the world as we see it?

36 minute read

Published:

In this blogpost, we ask a question ancient as philosophy itself: is the world as we see it? However we approach this question from the view of biology and neuroscience. We discuss three different perspectives on why the world is or is not as we see it: An evolutionary perspective, a resource optimization perspective, and the perspective of ambiguity of sensory information. With this question as guiding thread, this post introduces several major concepts of perception and neuroscience to a general audience.

Programming practices

GitHub releases to keep your old projects from breaking

3 minute read

Published:

If you are a scientist programming for your research, you probably experienced the following. You wrote some code, in a directory my_code/, or GitHub repository https://github.com/my_user/my_code. You use this code in a project, and analyses are working. Then, you modify your software to add a new feature, required by a new project or analysis. However, the new modified code might (and probably will) break the original analysis.

Project management

GitHub releases to keep your old projects from breaking

3 minute read

Published:

If you are a scientist programming for your research, you probably experienced the following. You wrote some code, in a directory my_code/, or GitHub repository https://github.com/my_user/my_code. You use this code in a project, and analyses are working. Then, you modify your software to add a new feature, required by a new project or analysis. However, the new modified code might (and probably will) break the original analysis.

Python

Neural Coding Open Datasets: Python Tutorial Part 1

12 minute read

Published:

Understanding how populations of neurons encode information is a central goal of systems neuroscience. As neural recordings scale in magnitude, there is a growing need for novel statistical methods to analyze these data. Open neuroscience datasets are a great tool for developing and testing such methods. This post kicks off a short series on working with some open neural population datasets using Python. We’ll focus on one core task: obtaining spike counts across trials and conditions. This first post uses the Allen Institute - Visual Coding dataset, accessed via the AllenSDK package.

I thought I understood LDA, until I learned this

16 minute read

Published:

Sometimes you think you understand a basic statistics problem. And then, you look closer and realize that you don’t understand it as well as you thought. This happened to me recently with Linear Discriminant Analysis (LDA). In this post, I discuss some interesting and lesser known aspects of LDA that I learned when diving deeper into this method, and that seem to often cause confusion.

Covariance shrinkage for begginers with Python implementation

17 minute read

Published:

Covariance matrices are one of the most important objects in statistics and machine learning, essential to many algorithms. But estimating covariance matrices can be difficult, especially in high-dimensional settings. In this post we introduce covariance shrinkage, a technique to improve covariance matrix estimation. We also provide a PyTorch implementation of a popular shrinkage technique, the Oracle Approximating Shrinkage (OAS) estimator.

Pytorch

Easy constrained optimization in Pytorch with Parametrizations

24 minute read

Published:

Often times, we want to optimize some model parameter while keeping it constrained. For example, we might want a parameter vector to have unit norm, a set of vectors to be orthogonal with respect to each other, or a matrix to be symmetric positive definite (SPD). For the specific cases where the constraint is for the parameter to be on a manifold, a common approach is to use Riemannian optimization. However, there is a simpler and often more efficient way to do constrained optimization: we can use a technique called parametrization.

Reproducibility

Layperson’s Guide to the Science Reproducibility Crisis

10 minute read

Published:

Science is largely responsible for the tremendous progress civilization has made over the last few centuries. It has also shaped how we see ourselves and our place in the universe. However, like any other human endeavor, science is not perfect. Recent years have seen a growing debate about the so-called “reproducibility crisis,” which refers to the inability to reproduce the results of many scientific studies. This is a serious issue that affects not only the scientific community but also society as a whole. In this post, I provide an accessible overview of the issue.

Science

Layperson’s Guide to the Science Reproducibility Crisis

10 minute read

Published:

Science is largely responsible for the tremendous progress civilization has made over the last few centuries. It has also shaped how we see ourselves and our place in the universe. However, like any other human endeavor, science is not perfect. Recent years have seen a growing debate about the so-called “reproducibility crisis,” which refers to the inability to reproduce the results of many scientific studies. This is a serious issue that affects not only the scientific community but also society as a whole. In this post, I provide an accessible overview of the issue.

Science Communication

Layperson’s Guide to the Science Reproducibility Crisis

10 minute read

Published:

Science is largely responsible for the tremendous progress civilization has made over the last few centuries. It has also shaped how we see ourselves and our place in the universe. However, like any other human endeavor, science is not perfect. Recent years have seen a growing debate about the so-called “reproducibility crisis,” which refers to the inability to reproduce the results of many scientific studies. This is a serious issue that affects not only the scientific community but also society as a whole. In this post, I provide an accessible overview of the issue.

Statistics

I thought I understood LDA, until I learned this

16 minute read

Published:

Sometimes you think you understand a basic statistics problem. And then, you look closer and realize that you don’t understand it as well as you thought. This happened to me recently with Linear Discriminant Analysis (LDA). In this post, I discuss some interesting and lesser known aspects of LDA that I learned when diving deeper into this method, and that seem to often cause confusion.

Covariance shrinkage for begginers with Python implementation

17 minute read

Published:

Covariance matrices are one of the most important objects in statistics and machine learning, essential to many algorithms. But estimating covariance matrices can be difficult, especially in high-dimensional settings. In this post we introduce covariance shrinkage, a technique to improve covariance matrix estimation. We also provide a PyTorch implementation of a popular shrinkage technique, the Oracle Approximating Shrinkage (OAS) estimator.

Supervised

I thought I understood LDA, until I learned this

16 minute read

Published:

Sometimes you think you understand a basic statistics problem. And then, you look closer and realize that you don’t understand it as well as you thought. This happened to me recently with Linear Discriminant Analysis (LDA). In this post, I discuss some interesting and lesser known aspects of LDA that I learned when diving deeper into this method, and that seem to often cause confusion.