Student Corner:
[Submit Sec2]
[Grades Sec2]

[Lecture Notes]
[Discussion Board]

Course Info:
[Texts & Links]
[Description]
[Course Outcomes]
[Outcomes Matrix]
[Course Schedule]
[Grading]
[Requirements/HW/Quizzes]
[Class Protocols]
[Exam Info]
[Regrades]
[University Policies]
[Announcements]

HW Assignments:
[Hw1] [Hw2] [Hw3]
[Hw4] [Hw5] [Quizzes]

Practice Exams:
[Midterm] [Final]

# CS256 Fall 2021Practice Final

To study for the final I would suggest you:

1. Know how to do (by heart) all the practice problems.
2. Go over your notes at least three times. Second and third time try to see how much you can remember from the first time.
3. Go over the homework problems.
4. Try to create your own problems similar to the ones I have given and solve them.
5. Skim the relevant sections from the book.
6. If you want to study in groups, at this point you are ready to quiz each other.

Here are some facts about the actual final:

1. It is comprehensive.
2. It is closed book, closed notes. Nothing will be permitted on your desk except your pen (pencil) and test.
3. You should bring photo ID.
4. There will be more than one version of the test. Each version will be of comparable difficulty.
5. It is 10 problems (3pts each), 6 problems will be on materials since the second midterm, 4 problems will be from the topics of the midterm.
6. Two problems will be exactly (less typos) off of the practice final, and one will be off of the practice midterm.

The practice final is below. Please post your solutions to your assigned problem to the Practice Final Thread.

1. Prove the range of each output of a softmax layer is between 0 and 1 and that the sum of the outputs will be 1.
2. Briefly explain each of the following algorithms: (a) batch gradient descent, (b) stochastic gradient descent, (c) online gradient descent.
3. Suppose we wanted to build a neural net to play tic-tac-toe. (a) What would be good representations for the inputs to and outputs from the network the network? (b) Propose an NN model using Keras code (give layer types, number of neurons per layer, loss function for training, etc) with justification that should be able to learn to play tic-tac-toe. (c) How much data and what kind would be needed to train your model?
4. Explain how cross-validation can be done for a neural net model implemented in Python. Define regularization in NNs, give the formulas for L_1 and L_2 parameter regularization and say how we could specify them in Keras.
5. Describe how generative and discriminative models can be used to extend a limited amount of labeled data to a larger amount of non-labeled data for training.
6. Define the following concepts from statistics and neural nets and give an example of each: (a) excess error, (b) estimator efficiency, (c) Nesterov Momentum in SGD.
7. Give one adaptive learning rate algorithm for neural nets that we considered in class and motivate how it works.
8. Give a code example with explanation of how to create a custom layer in Keras. Give a code example of how to create a custom network topology using Keras' functinal API.
9. Give the back-propagation through time algorithm. Explain the teaching-forcing algorithm. Explain the long term dependency problem and why LSTMs might help to solve this problem.
10. Give the steps in Ng's neural net design methodology. Pick one step and describe it with examples in detail.