I am a software engineer with strong interest and experience in developing machine learning focused products.
In particular, I am intrigued by probabilistic approaches such as the Bayesian framework for tackling modelling problems, as its inherent ability to capture and represent the uncertainties of the world around us makes it a fascinating and powerful choice to address the challenges in applications ranging from geoscience and ecology to robotics and finance.
Machine Learning Engineer
June 2022 - Ongoing
Improving a privacy-preserving synthetic data generation platform for conducting enterprise data analytics while ensuring compliance with modern data regulation.
September 2021 - May 2022
Understanding user negotiation styles and strengthening data use for driving decisions on a conversational AI product enabling e-commerce retailers to deliver personalized discounts to customers via an engaging negotiation agent.
Junior Developer (Intern)
May 2021 - August 2021
Adding new features to support the growth of the start-up, as well as improving the core negotiation algorithm and providing foundations for advancing the use of machine learning within the company.
I have extensive practice in using the common Python data stack for data analysis, visualization and modelling.
This includes packages such as
I am equally experienced in the use of
tensorflow for developing more complex machine learning models.
Recently I have been experimenting with probabilistic modelling via general purpose packages including
pymc3, as well as specialized packages such as
gpflow for Gaussian processes.
Besides Python, I can also use R for analysis and statistical modelling, and SQL for relational database management.
Lately I have also been focusing on learning about model deployment via services offered by AWS.
In terms of model development, I am familiar with common practices such as dataset splitting, k-fold cross validation, regularization, hyper-parameter optimization and evaluation metric selection.
I am also very familiar with traditional machine learning approaches such as:
- decision trees, random forests, k-NN and logistic regression for classification,
- generalized linear models for regression,
- mixture models, k-means and DBSCAN for clustering,
- (hidden) Markov models for sequence modelling.
In addition, I have strong knowledge in the implementation of neural networks, including recurrent neural networks for sequences and convolutional neural networks for images.
I also enjoy building custom architectures and trying to keep up with the latest advancements in deep learning.
While deep learning is fascinating and has its applications, I also spend a lot of time exploring alternative techniques such as hidden Markov models and Gaussian processes.