About

Currently, I work at Later as a Senior Data Scientist. Previously, I have worked on the development of a new and novel framework for neural networks in which the input is a function as opposed to discrete data. The result is a paper (published to JCGS) and an accompanying R package that is available to download and use from CRAN.

My primary research interests are:
     1. Natural Language Processing
     2. Functional Analysis

I have worked on a number of other projects as well including a financial application called AstroML and an educational website called NLP Begin. You can read more about those (and other work) below. On the side here (or below on mobile), you'll find an older video I worked on in the earlier days of deep dream.

Work

Later

This is where I currently work. My work here has varied quite a bit but a summary is as follows:

- Pioneer member of data team
- Initial development of the data stack (date warehousing, reporting database, ETL, development, productionizing)
- Initial growth of the data team including hiring, mentoring, OKR setting, and software implementation
- Cross-functional work with customer experience, development, and executive teams
- Company wide financial and customer forecasting (ARIMA, Prophet)
- Applications of many NLP methods for brand/creator matching, similarity scores, topic modelling (methods include using    Word2Vec, Doc2Vec, GloVe, various Hugging Face models including BERT, GPT, and OpenAI's API)
- Development of private Python libraries and docker containers for model deployment
- Deployment through Sagemaker & Flask
- RShiny and Flask applications for internal machine learning servicing
- Applications of custom Reforge methods to identify and isolate user behavior (setup, aha, habit moments)
- Primary source for validation on A/B testing and experimental design
- Modelling: NLP (word2vec, LDA, etc.), Supervised (regression, tree methods, neural networks, etc.), Unsupervised (PCA, clustering methods, etc.), Monte Carlo Simulations, etc.
- Programming: R, Python, SQL
- Software: AWS (SageMaker, S3, ECR, EC2, Lambda, etc.), Amplitude, Big Query, Google Compute Engine, Fivetran, Segment, RShiny, Flask, Google Analytics, Notion, Zendesk, Asana

At the moment, I'm working on some new product features.

Deep Learning with Functional Inputs

Abstract: We introduce a methodology for integrating functional data into densely connected feed-forward neural networks. The model is defined for scalar responses with at least one functional covariate and some number of scalar covariates. A by-product of the method is a set of functional parameters that are dynamic to the learning process which leads to interpretability. The model is shown to perform well in a number of contexts including prediction of new data and recovery of the true underlying coefficient function; these results were confirmed through cross-validations and simulation studies. A collection of useful functions are built on top of the Keras/Tensorflow architecture allowing for general use of the approach. Note: previously titled 'Functional Neural Networks'.

Check out the latest version at AMSTAT.

FuncNN: An R Package to Implement FNNs

Abstract: Neural networks have excelled at regression and classification problems when the input space consists of scalar variables. As a result of this proficiency, several popular packages have been developed that allow users to easily fit these kinds of models. However, the methodology has excluded the use of functional covariates and to date, there exists no software that allows users to build deep learning models with this generalized input space. To the best of our knowledge, the functional neural network (FuncNN) library is the first such package in any programming language; the library has been developed for R and is built on top of the keras architecture. Throughout this paper, several functions are introduced that provide users an avenue to easily build models, generate predictions, and run cross-validations. A summary of the underlying methodology is also presented. The ultimate contribution is a package that provides a set of general modelling and diagnostic tools for data problems in which there exist both functional and scalar covariates.

Check out the paper here.

You can also take a look at the website for the package here.

Selected Projects

NLP Begin

This was a mammoth solo effort. I created the website from scratch using a React frontend. The website covers everything from the foundations of NLP (namely Linear Algebra, Calculus, & Statistics) to modern approaches including detailed explanations on much of the math underlying models like GPT and BERT. Many other methods are covered as well including CNNs, RNNs, Seq2Seq structures, Autoencoders, etc. The website stands as a public educational resource.

NLP Begin.

AstroML

Another solo effort. I created a web application using a React frontend paired with a Ruby backend. The backend framework was Sinatra. The ML deployments were done through Flask. The website allowed users to register, login, and use various financial tools to gain insights on securities. The web app was served through AWS and much of the specific ML model APIs were exposed through Elastic Beanstalk. A much more detailed outline is provided in the link below.

AstroML.

FNNs for Functional Responses

An extension of functional neural networks for when the response is infinite dimensional. These types of networks will be useful for when the objective is to predict densities or curves. This extension exists in a form as a part of the FuncNN package but is subject to a full implementation and paper coming soon, maybe.

Gaussian Processes

A gentle introduction to the basics of Gaussian Processes. I introduce the basics from a Bayesian perspective using the canonical example of Bayesian linear regression. Some R code is provided at the end of the paper that shows the readers how to implement this approach without the use of a package.

Project.

Heart Disease and Osteoarthritis

This project won second at the annual case study competition held by the Statistical Society of Canada. We used a unique combination of propensity scores and LASSO regularization to assess the relationship between heart disease and Osteoarthritis.

Project.

Neural Differential Equations

This is an introduction which includes the foundation for this view of neural networks. The authors (Ricky T. Q. Chen, Yulia Rubanova, Jesse Bettencourt, David Duvenaud) had the insight that the usual neural network approach was essentially using Euler's method to work through its layers. They take a step back in this process and move forward in a different direction using more sophisticated approaches that, in some sense, allow for an infinite number of layers. Caveat: this is a bit of an older project.

Project.

Functional Single Index Models

A presentation on an extension to functional single index models that has the added useful property of shrinking down the continuum domain to its relevant subset. The working paper is done by my supervisor Jiguo Cao, and has been submitted for publication.

Project.

Least Angle Regression

Least-Angle Regression (LARS) is an algorithm for fitting linear regression models to high-dimensional data, developed by Bradley Efron, Trevor Hastie, Iain Johnstone and Robert Tibshirani. This project re-presents the mathematical details outlined in the original paper in a more approachable manner.

Project.

Random

On the AWS Machine Learning Specialty Exam

I sat for and passed this exam on April 17, 2022. I had studied for it in random bursts during the couple months leading up to it using a number of resources, most of which I have listed below! In general, I found the exam to be OK; there were a number of questions on there that were not really covered in any of the study material and most of these questions were related to new AWS feature releases. In particular, things like Model Monitor, AWS Data Wrangler, AWS Sagemaker Studio, BERT, Shapley, and some new S3 functionalities showed up that I wasn't really prepared for. Also, it would probably have helped to have a lower level certification that covered the basics of AWS since much of the challenge of this certification is just trying to remember details about the large number of topics it covers -- these being split between generic ML things and specific AWS services. Anyway, here are some resources:

Course(s):
1. https://www.udemy.com/course/aws-machine-learning/
2. https://explore.skillbuilder.aws/learn/course/27/play/54/exam-readiness-aws-certified-machine-learning-specialty
3. https://sudo-code7.github.io/mls-c01/assets/data/AWS-SM-Built-in-Algos-Compared.pdf

Practice Exam(s):
1. https://www.udemy.com/course/aws-certified-machine-learning-specialty-full-practice-exams/
2. https://www.udemy.com/course/aws-machine-learning-practice-exam/
3. https://portal.tutorialsdojo.com/courses/aws-certified-machine-learning-specialty-practice-exams/
4. https://d1.awsstatic.com/training-and-certification/docs-ml/AWS-Certified-Machine-Learning-Specialty_Sample-Questions.pdf
5. https://amazonmr.au1.qualtrics.com/jfe/form/SV_2nt0z0Far6DzAwJ

Good luck!

A Primer on Functional Neural Networks

This is another article that is a more friendly reading of the paper 'Deep Learning with Functional Inputs'. I go over neural networks and the basics of FDA and then consolidate the two. Take a look here: link.

An Introduction to Functional Data Analysis

This is an article I wrote a couple years back on functional data analysis (FDA); it's an introduction that goes over the basics of FDA including basis functions and functional linear regression. You can read the full article over here: link.

Consulting

I also provide a number of consulting services if you were in the need, including the following:

1.  Data analysis of some data set with a report in your format detailing the results
2. Development of an optimized machine learning model ready to be deployed to some endpoint
3. Tutoring for Statistics
4. Tutoring for R
5. General advice/conversation associated with machine learning and the modern data stack

Feel free to contact me below regarding one of these services! If there's something that doesn't fit neatly into any of the above categories, select miscellaneous. You can also message me on LinkedIn.

Contact

Contact me using the form below, particularly about consulting! If you just have some general inquiry, you can reach out to me on LinkedIn.
Thank you for submitting an inquiry! I will get back to you as soon as I can
Oops! Something went wrong while submitting the form.