CS231N学习记录

  • 数据集:训练集+验证集+测试集
  • 交叉验证:当训练数据太小时,为了更好地利用数据,那么将训练数据集划分成n份,其中n-1份作为训练集,用剩下的一份做验证,这样可以通过改变不同的训练集和验证集来得到最好的训练效果
  • 近邻法:传统的knn, ANN, kd树,见文章《高维数据的快速最近邻算法》(search with baidu)
  • 训练技巧:正则化,如果knn训练太慢则考虑使用ann, 维度太高可以用pca降维

线性函数做图像的分类:

  • knn的缺陷:测试的时候需要让测试数据与所有的训练数据进行距离的计算,这样影响测试效率同时由于要存储训练数据,因此对内存的压力很大
    ![](http://latex.codecogs.com/svg.latex?f=\omega x + b)
    只要训练出W便可以用W去做分类了。常用的线性分类器有两种SVM和softmax

SVM-support vecter machine

SVM的损失函数
![](http://latex.codecogs.com/svg.latex?L_i = C max(0, 1-y_i \omega^T x_i) +R(\omega))

softmax

softmax损失函数
![](http://latex.codecogs.com/svg.latex?L_i = -log(\frac{e^{f_{y_i}}}{\Sigma_j e^{f_j}}))

sigmoid 激活函数的缺陷::

  • 梯度 在两头几近于零,导致后期梯度消失
  • 得到的梯度都是正的

tanh激活函数的缺陷:

  • 梯度 在两头几近于零,导致后期梯度消失

你可能感兴趣的:(CS231N学习记录)