Closed ecr23xx closed 5 years ago
When I'm doing another project that based on yolov3.pytorch, I came across a problem in Batch Normalization. My understanding of BN just limits in nn.BatchNorm
, and when I want to do things like computing accumulated gradients, I got stuck in because I'm not familiar with computation of running mean/variance or something like that. This is the motivation of doing CS231n assignments again. I hope it could push me to revise those classical algorithms, and go beyond than just knowing interfaces of PyTorch or TensorFlow.
In general, I will finish every part of this assignments (again), and writing down what I learnt in such a learning process. If you want to catch up with the latest updates, please click "Subscribe" in the right. Updates in this issue will be sent to your GitHub Notification Center.
kNN is not a linear classifier. Decision boundaries of kNN are composed of different pieces of lines like shown below. Stated in a more formal way, different data will fall in different regions, and these regions can't be separated by a hyperplane.
In particular, the L2 distance is much more unforgiving than the L1 distance when it comes to differences between two vectors. That is, the L2 distance prefers many medium disagreements to one big one. L1 and L2 distances (or equivalently the L1/L2 norms of the differences between a pair of images) are the most commonly used special cases of a p-norm
For example, in 5-fold cross-validation, we would split the training data into 5 equal folds, use 4 of them for training, and 1 for validation. We would then iterate over which fold is the validation fold, evaluate the performance, and finally average the performance across the different folds
Moved to wiki page
This issue is used for updating my progress in doing assignments, including problem I met, skills I learnt etc. Pay attention that discussions are not welcomed in this issue. If you have anything to share with me, please open another issue.