TODO:
- Assignment #1 (Finished 2020/9/12)
- Assignment #2 (Finished 2020/9/27)
- Assignment #3 (Finished 2020/10/8)
- Notes
- HyperQuest (try it HERE)
- DO NOT use
%%timeit
when use CUDA in pytorch!!! If you use it, the program will run for several times uselessly. - For numpy axis: Axis or axes along which an operation is performed. eg:
np.sum([[0, 1], [0, 5]], axis=1)
will getarray([1, 5])
. (To sum up, axis on which means which axis will disappear)
HyperQuest mimics the hyper parameter tuning app from Stanford University, CS231n. HyperQuest is a web-app designed for beginners in Machine Learning to easily get a proper intuition for choosing the right hyper parameters. This is initially an extremely daunting task because not having proper hyper parameters leads to the models breaking down.
Try HyperQuest HERE!
Visualize the distance matrix: each row is a single test example and its distances to training examples:
Explain:
As you can see above, the background of those images which is similar to many other images is black. Because there are many other images that have a black color on its margin, while the white part of those images is rarely seen in other images, which will cause a large difference, so will generate the white bar.
Find best
k
for kNN:
SVM
Softmax
It can be found that softmax is much smoother than SVM, which means it’s more generalized.
With dtype
np.single
, visualize the weights of the first layer:
With dtype
np.float64
, visualize the weights of the first layer:
As you can see, there is no difference.
By watching the first iteration we can find that there is no difference between starting with a random image or starting with the original image.