Welcome to my portfolio! I am a cognitive and computational neuroscientist, exploring questions relating to human attention, cognitive control, and reinforcement learning. I am an avid programmer, data scientist, and hobbyist as well, and have frequently pursued passion projects to learn new skills (or just for fun!). You can find some of my research and some of the data science projects I have worked on below.


My PhD Research

Cognitive Stability and Flexibility

Cognitive Stability and Flexibility

Adaptive behavior requires the ability to focus on a particular task or goal while avoiding distraction, known as cognitive stability, like reading a book in a busy coffee shop. It is also necessary to shift to new tasks in response to changing circumstances, known as cognitive flexibility, like answering an unexpected phone call. How these cognitive processes interact, and the computations underlying their regulation, remains an outstanding question in the field of cognitive psychology and neuroscience.

Geddert & Egner, 2022

Tags:

Javascript

Python

R

Cognitive Maps

Cognitive Maps

Humans organize hierarchical information about their world into so-called “cognitive maps”. But, do cognitive maps also guide higher cognitive processes and strategies like attention or cognitive control? In this line of work, I explore the fundamental computational bases of these processes and how they are organized in the brain.

Tags:

Javascript

Python

R

Computational Modeling

Rigorous computational theory on the stability - flexibility tradeoff is lacking, and models of independent stability-flexibility control adjustments are almost nonexistent. In this line of work, I employ Bayesian hierarchical parameter estimation combined with drift diffusion models (DDMs) and reinforcement learning to investigate the computational mechanisms underlying these cognitive processes.

Tags:

Bayesian Model Fitting

BRMS

STAN

Intercranial EEG

Intercranial electroencephalography (iEEG) offers a rare and powerful look into the temporal and neural basis of cognitive computations in the brain. Here, I employ permutation based clustering algorithms to identify neural subregions that relate to cognitive control processes in an attentional shifting task. We specifically focus on high-frequency signals (so called high-frequency bandwidth, or HFB; >50Hz), as these offer the closest mirroring of neural during behavior during these cognitive processes.

Tags:

Cluster Correction

Matlab

Nonparametric Stats

Permutation Testing

R


Data Science, Machine Learning, and AI Projects/Hobbies

Chess AI Algorithm From Scratch

I love chess, and I love programming! In this series of blog posts, I create and implement a chess AI in javascript that you can play against. Using algorithms like minimax with optimizations like alpha-beta pruning and iterative deepening, I create a fearsome opponent that won’t rollover so easily!

Tags:

Alpha-beta pruning

Iterative deepening

JavasScript

Minimax algorithm

Linear and Logistic Regression from Scratch

One fun project I had the opportunity to do was implementing logistic regression and its extension, multiclass logistic regression, from scratch in Python. Besides being super interesting from a conceptual standpoint, this taught me so much about gradient descent algorithms and how we can evaluate gradients using derivatives.

Python Notebook

Tags:

Cross-Entropy Loss

Logistic Regression