HW1

Due on Feb 23 (30 points)

  1. (10 points) Try to build a linear regression model to predict the stock price of MSFT from the prices of several other stocks. You can download the Jupyter notebook of the question from here. Note that we are not predicting future stock price of MSFT. But just “predicting” the current stock price of MSFT from the current prices of other stocks.

  2. Let's repeat the prediction in the last question using a neural networks

    1. (2 points) Split the stock price data into training (1/1/2023-6/30/2024), validation (7/1/2024-10/31/2024), and test (11/1/2024-12/31/2024) datasets.

    2. (10 points) Estimate the MSFT stock price again with a fully connected neural network with 5 hidden layers. Each hidden layers have 20 neurons. And use ReLU as activation function.

    3. (4 point) Try different optimization algorithms, SGD, Momentum, Adam. Plot the training loss/validation loss VS epoch.

    4. (4 points) Set learning rate schedulers using OneCycleLR, CyclicLR, and ReduceLROnPlateau. PyTorch offers learning rate schedulers to change the learning rate over time. Check this tutorial for more instruction. Observe any difference in your training.

Model Design Challenge (Extra credit: Maximum 20 points) 🚀

Try to design a network that uses no more parameters than the one already constructed. Write down the number of parameters for both your network and the previously constructed network.

Scoring Criteria:

  • 🏆 Up to 10 points if your network's test error is less than half of both the earlier network and the linear regression model.

  • 🏅 An additional 10 points for the top-performing model.

Submission Requirements:

  • Please share the training procedure, including logs, as a Jupyter Notebook through a platform like GitHub

  • You must share the model weights through a public platform like Hugging Face Model Hub and GitHub

Important Rules:

  • Do not use test data for training or hyperparameter tuning.

  • Any violation will result in disqualification from the competition.

Good luck! 🚀💡