Ece490 C5 HW
Ece490 C5 HW
Ece490 C5 HW
Introduction
This assignment consists of two parts: Part A focuses on theoretical explo-
ration of neural networks, while Part B involves the implementation of a neural
network using TensorFlow and Keras to solve a classification problem.
Instructions: Ensure that you complete both parts before submitting your
final solution. The final deliverable should consist of:
• A Google Docs file (for Part A) with link shared in the Colab notebook.
• A completed Jupyter Notebook (for Part B).
Expected Work
• Research the following topics:
– What are neural networks and how do they function?
– Differences between traditional machine learning algorithms and neu-
ral networks.
– The role of activation functions in neural networks.
– Explanation of backpropagation and how neural networks learn.
– The significance of hyperparameters in neural network training.
• Answer the following questions:
1. What are the main differences between shallow neural networks and
deep learning networks?
1
2. How do activation functions contribute to the success of a neural
network?
3. What are the challenges in optimizing a neural network?
4. What is the backpropagation process, and how does it work in neural
network training?
5. Explain how dropout helps in preventing overfitting in deep learning
models.
Submission Requirements
• Write your answers in a Google Docs file.
• Submit the link to the Google Docs file in your Colab notebook.
Dataset
Use the provided dataset (ensure it is properly preprocessed) to predict the
target label.
Steps
1. Import the dataset and perform data preprocessing (handle missing
data, normalization).
2. Build a neural network using TensorFlow and Keras.
• Define the input layer with the correct number of features.
• Add at least two hidden layers with ReLU activation functions.
• Define the output layer with an appropriate activation function for
the task (e.g., Sigmoid for binary classification).
3. Train the neural network:
• Use an optimizer such as Adam and a suitable loss function (e.g.,
binary crossentropy).
• Split the data into training and testing sets.
• Use the fit() method to train the model and monitor performance.
2
4. Evaluate the model:
• Evaluate the model on the test data.
• Report the accuracy, loss, and confusion matrix.
5. Optimize the model:
Submission Requirements
• Complete the provided notebook with your solution.
• Submit the final Jupyter notebook as your deliverable.