Baby Projects

Early and smaller projects from my student days.

Optimal Pathfinder with Reinforcement Learning

Software that discovers the optimal (shortest) path to a goal in a simulated maze environment. We implemented a Q learning algorithm that selects moves for the reinforcement learning agent. Exploration strategies include epsilon-greedy and the Boltzmann Stochastic Policy derived from the softmax of Q-values.

code

Microblog

A microblogging web application written in Python and Flask, modified from the app that I originally built for SigmaHacks 3. Microblog has email support, user-following features, and I18n & L10n support.

code

Neural Network for Facial Expression Classification

Fully-connected neural networks trained on a subset of Toronto Faces Dataset. We implemented the neural network from scratch and trained it by tuning a set of hyperparameters, and we modified the model architecture for better generalization. The model achieved an excellent testing accuracy of 71.68%.

code

Agenda

Android calendar app that allows event creation for multiple users. Features include searching events by names, creating events based on given frequencies, and tagging events. I majorly designed and implemented the Android GUI. I also programmed SQLite database helper to query user data. This app was developed in Winter 2020 in my software design course.


Ziyue Yang, Yunlong Chen, Xi Zheng, Juliana Chu, Yeuk Lam Ng, Jiajun Chen

code

ConvNet for Digit Recognition

Sequential Convolutional Neural Network for digit recognition. The network has 5 layers and is trained on the MNIST dataset. We built this ConvNet using the Keras API.

Notebook | code

Predicting Voting Behavior in Canadian Elections

Mohammad Ettouhami, Sanjam Sigdel, Ziyue Yang

Time Series Analysis: Forecasting TSLA Stock Price using Autoregressive Integrated Moving Average Model

We make predictions of Tesla's stock price using ARIMA model. We turned the stock data stationary, performed time series analysis and made forecasting. ARIMA is one of the most popular models to predict linear time series data.

Notebook

§Sentence Classification using Convolutional Neural Networks

code

PIRLS

Model built using parsnip engine that computes the logistic Lasso using coordinate descent on the penalized iteratively reweighted least squares algorithm.

code | vignette

Image Stitcher

I implemented functions in a package that takes image inputs and transform them into cross-stitch patterns. The package uses K-means algorithm to cluster images into a chosen number of groups based on the RGB information. Helper methods on choosing the ideal number of clusters are provided.

code | vignette

UniMart

App to practice Django usage.

code | demo

Ziyue Yang

FPV Navigator

First-person view navigator implemented in C++ inspired by the ray casting algorithm from Wolfenstein 3D. The algorithm takes an input of 2-dimensional maps made up of blocks and spaces, and renders 3D spaces based on the maps. This navigator allows player to "walk around" in the command line-rendered space. This project uses some fundamental knowledge of linear algebra in 3D space.

code

Treemap

code | descriptions

Yizhou Hu, Ziyue Yang

: equal contributions
§: ongoing