Projects

A collection of my academic and personal projects.

opt_perf_prof

OptiMaizer

Python Optimization Numerical Methods

A modular Python optimization framework implementing classical and modern algorithms for unconstrained and constrained optimization problems. Developed for Math 562/IOE 511: Continuous Optimization Methods at the University of Michigan. I designed and implemented a complete optimization library featuring multiple descent methods (Gradient Descent, Newton, BFGS, L-BFGS, DFP), trust region algorithms (Newton-CG, SR1-CG), constrained optimization via quadratic penalty methods, and machine learning optimization for linear least squares and logistic regression. The framework includes sophisticated line search strategies (backtracking, Wolfe conditions), numerical stability features like modified Newton with Cholesky factorization, and comprehensive performance benchmarking tools.

steering

Unembedding Steering in Gemma-2

Python AI Safety Representation Engineering

A comparative study of language model steering methods, introducing a novel unembedding-based approach and benchmarking it against established techniques. This research investigates whether averaging token embeddings can effectively control model behavior without requiring activation-based training. I implemented unembedding steering-a simple method that averages positive sentiment token embeddings to create steering vectors-and compared it against existing methods such as linear probe steering and Contrastive Activation Addition (CAA). Through evaluation on Stanford SST and toy movie review datasets, we find that unembedding steering surprisingly matches the effectiveness of more complex learned approaches.

happyshlime

SHLIME: Foiling Adversarial Attacks Fooling LIME and SHAP

Python Adversarial ML XAI

This was a research replication project I worked on for a class. We replicated the paper "Fooling LIME and SHAP: Adversarial Attacks on Post hoc Explanation Methods". I primarily led understanding and presenting the mathematical ideas behind post-hoc explainer methods like LIME and SHAP and proposed our extension idea of combining the two methods to make a more resistant method. I developed and evaluated our proposed method.

ABBA

A Sensitivity Analysis on ABBA: An Agent-Based Model of the Banking System

Agent Based Modeling Finance Netlogo

A sensitivity analysis on ABBA, a netlogo agent-based model developed by Jorge A. Chan-Lau that models the banking system. I investigated the sensitivity of bank credit and liquidity failure with respect to saver's withdrawl rates and recovered the common sense idea that higher withdrawl rates (lower liquidity) leads to greater liquidity failures. This basic fact helps validate the modeling strengths of ABBA.