- formatting
- images
- links
- math
- code
- blockquotes
•
•
•
•
•
-
-
Understanding Chain-of-Thought Prompting: Why LLMs Need to 'Think' Before They Speak
A pedagogical look at Chain-of-Thought (CoT) prompting, its theoretical foundations, and its impact on LLM reasoning.
-
LLM Evaluation: Frameworks, Benchmarks, and Best Practices
A deep dive into how we measure the intelligence, reliability, and safety of Large Language Models.
-
Policy Learning
Empirical Welfare Maximization, Policy Evaluation, and Regret Bounds
-
Paper review: Performance Guarantees for Individualized Treatment Rules
A review of Qian and Murphy (2011) on formulating individualized treatment rules via conditional outcome maximization with performance guarantees.
-
EE 588: Convex Sets
Foundational concepts of convex sets, including definitions, examples, and operations that preserve convexity.
-
DSO 699 Week 1: Linear Models and Matrix Decompositions
Review of linear algebra foundations for statistical modeling, including projections, QR decomposition, and SVD.
-
Paper Review: CASCADE for Spike Inference from Calcium Imaging
A summary of the CASCADE algorithm for noise-optimized, generalized spike inference from calcium imaging.
-
Summer Sublease
Summer sublease at Garrett Gardens near USC
-
Fine-tuning LLMs on Google Colab with QLoRA and Unsloth
A quick guide to fine-tuning lightweight LLMs on a Tesla T4 GPU in under an hour for ISE-547.
-
Comparative Analysis of Chain-of-Thought Reasoning in Large Language Models
Assignment examining different Chain-of-Thought (CoT) prompting strategies in LLMs.
-
Tutorial on Lagrangean Decomposition: Theory and Applications
A comprehensive guide to the theory of Lagrangean Relaxation and Decomposition, with deep-dive applications in process systems engineering.
-
Homework 3: Synthetic Data Generation and Classical Machine Learning
HW3 for USC ISE-547 2026 spring
-
Window Functions in SQL and Pandas
A practical guide to window functions—ranking, aggregation, and offset operations computed over a sliding frame—demonstrated side-by-side in SQL and Python's pandas library.
-
LeetCode 1204: Last Person to Fit in the Bus
Solving the 'Last Person to Fit in the Bus' problem using window functions in both SQL and pandas. A perfect application of running totals to real-world scenarios.
-
Cleaner pandas: Beyond Redundant Boolean Indexing
Stop repeating your DataFrame name! A guide to using .query() and lambda functions for more readable, efficient, and 'fluent' pandas code.
-
The Fundamental Theorem of Linear Programming
A quick intuition and justification of why linear programming optima occur at extreme points.
-
Notes: Lagrangian Relaxation and Decomposition
An overview of Lagrangian relaxation, decomposition techniques, subgradient methods, and their applications in large-scale optimization.
-
Paper Review: Convexification of multi-period quadratic programs with indicators
A deep dive into the recent paper by Lee, Gómez, and Atamtürk on constructing tight convex relaxations for multi-period quadratic optimization problems with logical indicators.
-
Summary: Challenges in Experimentation (Lyft)
A summary of the Lyft Engineering blog post 'Challenges in Experimentation' by John Kirn.
-
A/B Testing Metrics
A comprehensive guide to selecting and evaluating metrics in A/B testing and online experimentation.
-
Leetcode 938: Range Sum of BST
Calculating the sum of all nodes in a given range by traversing a Binary Search Tree.
-
Leetcode 202: Happy Number
Determining if a number is a happy number using Hash Set and Two Pointers techniques.
-
Leetcode 160: Intersection of Two Linked Lists
Finding the node at which the intersection of two singly linked lists begins using the Two Pointers technique.
-
Computing CDF by trapezoidal rule
A numerical integration approach to calculating the Cumulative Distribution Function directly from the Probability Density Function.
-
Leetcode 27: Remove Element
A two-pointer approach to remove a specific element in-place from an array
-
Leetcode 26: Remove Duplicates from Sorted Array
A two-pointer approach to remove duplicates in-place from a sorted array
-
Evaluating LLM Hallucination with TruthfulQA
HW2 for USC ISE-547 2026 spring
-
k-means Clustering
Formulating and implementing k-means clustering as a mixed-integer optimization problem.
-
The Illustrated Transformer
A visual explanation of the Transformer model, its components, and how it works.
-
embedding
Understanding embeddings: representing language in vector space.
-
Hyperparameter Tuning for Best Subset Selection
Exploring methods for determining the optimal subset size k in best subset selection problems.
-
JUST WHAT IS A LANGUAGE MODEL?
An introduction to language models: prediction, generation, and probabilities.
-
ML-guided Predict + Search for Mixed-Integer Programming Problems
A hybrid framework combining machine learning with traditional optimization solvers for MIP problems.
-
Facility Location Problem with Outliers and Capacity Constraints
Exploring a variant of the Facility Location Problem incorporating outlier rejection and capacity constraints.
-
Quick and Dirty Sample Size Calculation
-
Potential Outcome Framework and Matching Estimators
An introduction to the Neyman-Rubin causal model and matching methods
-
Case Study: Diagnosing and Addressing a Metric Drop
An end-to-end framework for investigating MAU drops, targeting at-risk users, and making data-driven 'ship' decisions.
-
Paper review: Building Representative Matched Samples With Multi-Valued Treatments in Large Observational Studies
A review of Magdelena Bennett et al. (2020) on using mixed-integer optimization to create representative matched samples for multi-valued treatments.
-
Paper review: Improving randomized controlled trial analysis via data-adaptive borrowing
A deep dive into how machine learning and adaptive lasso can enhance RCTs by selectively borrowing information from external controls.
-
Lecture 16: Canonical Gradient and Efficient Influence Curve
Notes by Rachael Phillips for PB HLTH 290, Spring 2019
-
Vibe Coding Report: Advanced Recursive Maze Solver
A report on generating an Advanced Recursive Maze Solver (BFS with Teleports) using AI prompts.
-
Vibe Coding Report: Recursive Maze Solver
A report on generating a Recursive Maze Solver using AI prompts and iterative refinement.
-
Vibe Coding Report: Group Anagrams
A report on generating a Group Anagrams script using AI prompts and iterative refinement.
-
Vibe Coding Report: Palindrome Checker
A report on generating a Palindrome Checker using AI prompts and iterative refinement.
-
Vibe Coding Report 1: Word Frequency Analyzer
A report on generating a Word Frequency Analyzer using AI prompts and iterative refinement.
-
Prompting for Vibe Coding
Strategies for effective AI-assisted coding: Structure, Iteration, and Meta-Prompting.
-
Retrieval-Augmented Generation (RAG)
Understanding RAG: Connecting frozen LLMs to external dynamic knowledge.
-
Multi-period MILP and Dynamic Lot Sizing Problem
An introduction to the Dynamic Lot Sizing Problem and its key assumptions.
-
Best Subset Selection via a Modern Optimization Lens
Lecture summary for 02-04-2026 on Best Subset Selection
-
Large Neighborhood Search (LNS) for Mixed-Integer Linear Programming (MILP)
An overview of Large Neighborhood Search (LNS) heuristics for solving complex Mixed-Integer Linear Programs (MILP), exploring core concepts, 'destroy and repair' methods, and popular frameworks like RINS and Local Branching.
-
An Overview of Constraint Programming (CP)
Exploring the fundamentals of Constraint Programming (CP), how it differs from MILP, and its powerful constraint propagation mechanisms for solving complex combinatorial problems.
-
Time Series Operations in Pandas
A collection of useful pandas snippets for time series analysis, including date filtering, period conversion, and merging by nearest match.
-
pandas merge and groupby
-
pandas Basic
A practical guide to window functions—ranking, aggregation, and offset operations computed over a sliding frame—demonstrated side-by-side in SQL and Python's pandas library.
-
Augmented IPW and Double Robustness
AIPW estimator, double robustness, and cross-fitting
-
FWL Theorem
Frisch-Waugh-Lovell theorem
-
Deriving the IPW Estimator: From One RCT to Infinite RCTs under Unconfoundedness
An intuitive derivation of the Inverse Probability Weighting (IPW) estimator from a single RCT to multiple RCTs and observational data.
-
Paper review: Statistical Challenges in Online Controlled Experiments
A review of Larsen et al. (2024) on the statistical landscape and challenges of A/B testing in large-scale online environments.
-
Case Study: Causal Effect of ETA Reduction
A practical case study on measuring the causal effect of reducing Estimated Time of Arrival (ETA) in a ridesharing marketplace.
-
Case Study: Causal Effect of ETA Reduction
A practical case study on measuring the causal effect of reducing Estimated Time of Arrival (ETA) in a ridesharing marketplace.
-
Synthetic Control and Experimentation Culture
When standard experiments fail: utilizing Synthetic Controls, managing experimentation culture, and understanding various treatment effects.
-
Switchback Experiments
An overview of switchback (time-split) experiments: what they are, why they are used to solve network interference, and their trade-offs.
-
Violation of SUTVA in A/B Testing: network interference
A summary of the Lyft Engineering blog post 'Interference Across a Network' detailing how naive A/B testing can bias effect estimates in ridesharing.
-
Causal Inference vs Causal Estimation
A deep dive into confidence intervals—what they are, how to interpret them, some caveats, and oft-encountered issues in online experimentation.
-
Causal Assumption: SUTVA and Ignorability
Understanding SUTVA and ignorability, fundamental assumptions in causal inference, what they mean, and what happens when they are violated.
-
Causal Inference Overview
Understanding SUTVA and ignorability, fundamental assumptions in causal inference, what they mean, and what happens when they are violated.
-
Methods of Finding Interval Estimators: Inverting a Test Statistic
A discussion on finding interval estimators by inverting test statistics, exploring the strong correspondence between hypothesis testing and interval estimation.
-
Fundamentals of Diffusion Map Embedding
Principles and practice of nonlinear dimensionality reduction popularly used in neuroscience.
-
Fundamentals of Matching and Weighting Estimator for Causal Inference
Principles and practice of matching and weighting estimator for causal inference.
-
FDR control: Storey's procedure
Review of Storey's procedure for FDR control.
-
Data Analysis Detail: Subsequent Analysis for Biological Interpretation
Principle and practice of mapping the brain's functional architecture into a low-dimensional space.
-
Fundamentals of Functional Connectivity and Gradients
Principle and practice of mapping the brain's functional architecture into a low-dimensional space.
-
Wavelet Basis & Function Spaces: Besov vs. Hölder
Understanding Nonparametric Regression, Haar Wavelets, and Smoothness Norms
-
Data Analysis Detail: Mouse Behavioral Study
Details for the data analysis section of the Nature Communications paper 'In-vivo integration of soft neural probes through high-resolution printing of liquid electronics on the cranium'
-
Fundamentals of Phase Locking
Distinguishing Spike-Field Locking from Inter-Trial Phase Locking
-
Fundamentals of Neural Signal Decomposition
Spikes, LFPs, and frequency bands
-
Nonlinear Mixed-Effects Modeling
An overview of Nonlinear Mixed-Effects Models (NLME), their structure, and workflow using SimBiology.
-
Fundamentals of the Filter-Hilbert Method
Decoupling filtering from the analytic signal for better frequency control
-
Fundamentals of Continuous Wavelet Transform
Time-frequency decomposition using Analytic and Complex Morlet Wavelets
-
Fundamentals of Fourier Transform
From neural oscillations to frequency domain analysis
-
Fundamentals of Convolution
Inner product and convolution in signal processing and statistics
-
Fundamentals of Neural Recording
Non-invasive, invasive, intracellular, extracellular, and single-unit recording methods
-
Data Structure: Stack
An introduction to the Last-In-First-Out (LIFO) stack data structure and its common algorithmic patterns.
-
Two Pointers - inward traversal
A comprehensive guide to the two-pointer algorithmic pattern
-
Introduction to Two Pointers
A comprehensive guide to the two-pointer algorithmic pattern
-
Data Structures: Binary Search Tree
A node-based binary tree data structure with properties that make it highly efficient for searching, inserting, and deleting elements.
-
Leetcode 914: X of a Kind in a Deck of Cards
Grouping elements by checking the Greatest Common Divisor (GCD) of their frequencies.
-
Leetcode 141: Linked List Cycle
Detecting a cycle in a linked list using Floyd's Tortoise and Hare algorithm.
-
Leetcode 1: Two Sum
Finding a pair of numbers that add up to a target dynamically using a one-pass Hash Map.
-
Leetcode 242: Valid Anagram
Checking if two strings are anagrams of each other using a Hash Map.
-
Leetcode 169: Majority Element
Finding the majority element in an array using a Hash Map frequency table.
-
Leetcode 1134: Armstrong Number
Determining if a number is an Armstrong number by extracting its digits.
-
Leetcode 69: Sqrt(x)
Computing the integer square root of a number using Binary Search.
-
Leetcode 13: Roman to Integer
-
Leetcode 283: Move Zeroes
A two-pointer approach to move all non-zero elements to the front of an array
-
Leetcode 125: Valid Palindrome
A two-pointer approach to check if a string is a valid palindrome
-
Leetcode 392: Is Subsequence
A two-pointer approach to check if one string is a subsequence of another
-
Leetcode 704: Binary Search
A foundational $O(\log n)$ search algorithm for sorted arrays.
-
Leetcode 121: Best Time to Buy and Sell Stock
Iteratively updating minimums and maximum profits in a single pass
-
Data Structures: Hash Table
A foundational dictionary data structure allowing for $O(1)$ average associative lookups.