I'm writing a book! Come check it out:
How to Train Your Robot
Welcome to my library of posts and courses.
Pour yourself a mug of something hot and have a look around.
Career development
Tools
- 131. Data munging in Python
- 133. Matplotlib
- 134. Python concepts and cookbooks I: Foundations
- 135. Python concepts and cookbooks II: Advanced topics
- 137. Signal processing
Tutorials
Machine learning case studies
- 201. Python intro: Time tools
- 211. Decision trees
- 212. Time-series analysis
- 213. Polynomial regression
- 221. k-nearest neighbors
End-to-end machine learning projects
- 311. Neural network visualization
- 312. Build a neural network framework
- 313. Advanced neural network methods
- 314. Neural network optimization
- 321. One dimensional convolutional neural networks
- 322. Two dimensional convolutional neural networks
Research
Foundational Skills
- 011. Python
- 012. NumPy
- 016. C++
- 021. SQL
- 031. Calculus
- 032. Linear Algebra
- 041. Statistics
- 071. Git
- 081. Machine learning
- 091. Mental Focus
- 111. Getting ready to learn Python, Mac edition
- 112. Getting ready to learn Python, Windows edition
101. Data science concepts
- How data science works
- Data science for beginners
- There is more to data science than machine learning
- What is data
- How to get good quality data
- What questions can machine learning answer
121. Navigating a data science career
- Data science archetypes
- How to choose a project
- How to solve a hard problem
- How to choose your tools
- Oversimplify your communication
- Decide and commit
- Choose your professional path
- How to get a job you like
- Up-level your resume
- How to get hired as a data scientist
- Get to know your new company
- Imposter syndrome
- Build a strong data science team
- Build a strong distributed data science team
- What to do when a leader does something wrong
131. Data Munging Tips and Tricks
- How to slice and index pandas DataFrames
- Reading and writing data files
- Play and record sounds
- Make your code run faster
- How to use datetime
- Turn images to videos and back
- Make your own personal Python toolbox
- Use Multiprocessing
133. How to Navigate Matplotlib
- Quick start guide
- Three important ideas
- Lines and curves
- Scatterplots and points
- Colors and colormaps
- Text, axis labels, and annotation
- Patches
- Ticks, tick labels, and grids
- Layout, background, and multiple plots
- Manual animations
134. Python concepts and cookbooks I: Fundamentals
135. Python concepts and cookbooks II: Advanced topics
- Threading
- Multiprocessing for Parallelization
- Multiprocessing for Real-Time Applications
- Make your code run faster
137. Signal Processing Techniques
- How to normalize a signal by its minimum and maximum
- How to normalize a signal by mean and variance
- Rate of change
- Exponential smoothing
- How to turn a picture into numbers
- How to convert RGB color images to grayscale
- One dimensional convolution
- Two dimensional convolution
173. How Optimization for Machine Learning Works
- Optimization methods
- Optimizing a central tendency model
- Optimizing a linear model
- Optimizing complex models
171. How to Choose a Model
- Choosing between models
- Separating signal from noise
- Choosing a loss function
- Splitting the data
- Navigating assumptions
191. How Selected Models and Methods Work
- How decision trees work
- How Bayesian inference works
- How convolution works
- How autocorrelation works
- How support vector machines work
193. How Neural Networks Work
- How fully connected neural networks work
- How convolutional neural networks work
- How convolutional neural networks work, in depth
- How recurrent neural networks and LSTM work
- How transformers work
- How backpropagation works
- What neural networks can learn
- Approaching human intelligence through robotics
201. Python intro: Time tools
A Python course for the absolute beginner. Zero prior knowledge assumed. Learn Python basics while building projects like a clock, a timer, and a stopwatch.
211. Decision Trees
- Code up a decision tree in python from scratch.
- Dynamically construct URL queries for live transit data API.
- Build the model into a command line application.
212. Time-series Prediction
- Build a command line weather prediction tool from a century of data.
- Perform data-driven deseasonalization to remove annual weather patterns.
- Use autocorrelation to extract predicted temperatures.
213. Polynomial Regression
- Code up a robust optimizer from scratch in python.
- Fit high-order polynomials to real data on dog breeds.
- Implement Monte Carlo cross-validation to select the best model.
221. k-nearest neighbors
- Code up the k-nearest neighbors algorithm in Python.
- Use k-NN for categorization, regression, and interpolation on several data sets.
311. Neural Network Visualization
- Create a custom neural network visualization in python.
- Learn Matplotlib tricks for making professional plots.
312. Build a Neural Network Framework
- Code up a fully connected deep neural network from scratch in Python.
- Extend it into a framework through object-oriented design.
313. Advanced Neural Network Methods
- Add regularization, dropout, computation graphs and optimizer options to the framework we built in Course 312.
- Run it on images from Mars.
- How Regularization Works
314. Neural Network Optimization
- Build an autoencoder to extract basis elements of images of the Martian surface.
- Optimize compression performance by tuning hyperparameters.
- Build and use Evolutionary Powell's method, an experimental hyperparameter optimization algorithm.
321. One Dimensional Convolutional Neural Networks
- Build a classification model for detecting unhealthy rhythms in electrocardiography data.
- How one dimensional convolution works
- Electrocardiogram case study
322. Two Dimensional Convolutional Neural Networks
- Build image classification models for benchmark data sets.
- Two dimensional convolution
- Softmax
- Batch normalization
- MNIST digits case study
- CIFAR-10 images case study
Research
- k-nearest neighbors adaptive feature weighting
- k-nearest neightbors data reduction
- k-sparse neural network layer
- Evolutionary Powell's method for hyperparameter tuning
- Pathfinder many-to-many shortest path algorithm
- Publications
Cottonwood machine learning framework
- Video walkthrough ( part 1 and part 2).
- Autoencoder for Norse rune compression
- Autoencoder for Martian image compression
- Convolutional neural network for detecting heartbeats
- Convolutional neural network for classifying MNIST digits
- Convolutional neural network for classfying CIFAR-10 images
- Convolutional encoder-decoder for CIFAR-10 images
- k-nearest neighbor classifier for Palmer penguins
- k-nearest neighbor predictor for diamond prices