Machine Learning Projects

Adversarial Audio Patches

Spectrogram of the spoken digit 2 without adversarial patch
This work extrapolates from research into Adversarial Patches on images, a technique which fools a neural network into misclassifying a seemingly unadulterated image by changing a small area of pixel values. When our patches are applied to the spectrogram of a sound file and converted back to audio, the files sound almost identical to the original, but are misclassified by a well trained neural network. The adversarial sounds in the files with the patches applied range from undetectable to minor static behind the spoken digit. 

Robot Prediction of Objects by Touch

First robot making contact with desired object
Second robot doing tapping motion to collect datapoints
This work uses reinforcement learning to train a robot to encounter a box using only a touch sensor on the front of the arm. The robot collects data-points about where the object is in space and, in my ongoing work, it will be able to use a neural network to classify which object it encountered entirely by touch. 

Body Part Detection - Protect3D

Target point in mesh pointcloud 2D
In Progress

When given a pointcloud of a human body, I have designed a version of PointNet++ to detect certain features on the human body. 

Criminal Recidivism Prediction

Male criminal data pairwise comparison chart
By reviewing criminals' previous history, this work uses various machine learning algorithms to effectively determine whether a criminal is likely to recommit a crime. I used a variety of algorithms with the aim of determining whether a more simple algorithm could predict recidivism just as well as a more complex model.  

Modelling Brain Interfaces - Action Prediction

Section with highest weight for predicting left vs right movement
The model outlined in this work uses the outputs of electrodes in a person who is told to move their right or left arm and is able to predict which direction the patient is intending on moving based solely off brain waves. 

Decompressing Corrupted Images - Filter Smoothing

Various levels of corruption on a boat image
This work reconstructs images that have been corrupted with the goal of regaining as much information as possible based off the superposition of waves within the image.

Recognising Spoken Digits - Natural Language Processing

Phonemes for various Mel Frequency Cepstral Coefficients of the Arabic digit "three"
By separating and analysing the phonemes in spoken Arabic digits, the algorithm is able to recognise spoken digits.

Determining Handwritten Digits

Weights for handwritten digit "0"
This algorithm detects and determines which digits have been handwritten in an image. 

Algorithms I have Experience with

  • Adversarial Patches
  • Neural Networks
  • PointNet++
  • Reinforcement Learning
  • Convolutional NN
  • Ridge Regression
  • Random Forests
  • General Additive Models
  • Decision Trees
  • Singular Value Decomposition
  • SVM
  • RVM
  • KMeans Clustering
  • Bayes Classifiers - GMM
  • k-Nearest Neighbours
  • Logistic Regression
  • Linear Regression

Skills

  • PyBullet
  • VC Dimension
  • Boosting
  • Bootstrapping
  • Entropy/ Information Loss
  • Cross Validation
  • Bias Variance Tradeoff
  • Kernels
  • ROC
  • Data Exploration
  • Pairwise Scatterplots