When dealing with large matrices, it helps to have an algorithm to break multiplication into operations on matrix subblocks. Tens of thousands of indices add up to gigabytes, and you’re going to have trouble calling X.matmul on a matrix library backend. Here’s a simple implementation that plays to the tune of Major->Minor->Major to reassemble the… Continue reading Block Matrix Multiplication
Year: 2022
Multi-process Bootstrapping for Pandas DataFrames Statistics
I should mention that there’s a subtle bit of legwork needed to enable random seeding in sampling from pandas DataFrames across Python PoolWorker instances. But besides this, the below bootstrapping code is simple and follows pretty much directly from the definition. See Wasserman’s text All of Statistics for concise pseudocode and explanation. Here’s a Python… Continue reading Multi-process Bootstrapping for Pandas DataFrames Statistics
Bootstrapping Estimates for Comment Likelihood, Hacker News: EDA II
In my previous Hacker News EDA we looked at how words could be embedded in two dimensions. This time we implement a bootstrapping simulator for seeing the impact of posting time on number of comments received. Examining the dataset To get an idea of what keywords are popular at different times of the day, we… Continue reading Bootstrapping Estimates for Comment Likelihood, Hacker News: EDA II
Training a Neural Network for Word Separation
The Hacker News Posts dataset from Kaggle contains an entry for each post made on Hacker News around the year 2016. Hacker News is a social media site where, like on Reddit, users share URLs, write posts, give likes, and leave comments. In this EDA we examine the words used in post titles, identifying embeddings… Continue reading Training a Neural Network for Word Separation
RRQR Factorization and Spanning Boxes
The famous QR factorization algorithm can be BLAS-3 optimized. Using the Woodbury matrix identity, we implement a block-based Rank-Revealing QR and point out a connection between pivot selection and object detection.
Searching for a switch: the Circuit Breaker Panel problem
You want to identify the breaker switch for a particular outlet. This problem inspired me to write an article on Medium one day as I was thinking about the electric wiring at home. As you’ll see, there are commonalities between decidely challenging tasks in Machine Learning and the problems you might encounter day to day.… Continue reading Searching for a switch: the Circuit Breaker Panel problem
Solution Space Techniques for Faster Convergence, an introduction
Many strategies in Machine Learning involve the iterative search of a solution space Ω. We begin with an initial solution ω₀ and update ωₙ to minimize an objective function f(x)