Portfolio
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
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.
Tags:
Javascript Python R
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.
Tags:
Cross-Entropy Loss Logistic Regression