# Assignment #3 - Image Sentiment Classification
### 重要事項宣佈
* 投影片連結
* Kaggle 連結
* Deadline: 2017/05/04 11:59 P.M. (GMT+8)
* TA會於4/20釋出範例程式碼,亦為超過 Kaggle simple baseline 的加分截止期限
* 在做 P4及P5時,請大家先看過這個關於 visualization 的 tutorial
In this assignment, you will practice using Deep Learning libraries to experience the power of Neural Net.
The requirements of this assignment are as follows:
## P1: Build Convolution Neural Network (1%)
*[Accuracy]* Build CNN model, and tune it to the best formance as possible as you can.
Record your model structure and training procedure.
## P2: Build Deep Neural Network (1%)
*[Accuracy]* Using the same number of parameters as above CNN, build a DNN model to do this task.
Record your model structure and training procedure. Explain what you observed.
## P3: Analyze the Model by Confusion Matrix (1%)
*[Analysis]* Observe the prediction of your validation data( 10% ~ 20% of training data is OK ).
Plot the prediction into confusion matrix and describe what you observed.
## P4: Analyze the Model by Plotting the Saliency Map (1%)
*[Analysis]* Plot the saliency map of original image to see which part is important when classifying
## P5: Analyze the Model by Visualizing Filters (1%)
*[Analysis]* Use Gradient Ascent method mentioned in class to find the image that activates the selected filter the most and plot them.
## Bonus: Semi-supervised Learning (1%)
You can split part of training data and remove their label.
Then try semi-supervised learning techniques (self-training, clustering...) taught in class, and record its performance.