- 数据集:训练集+验证集+测试集
- 交叉验证:当训练数据太小时,为了更好地利用数据,那么将训练数据集划分成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激活函数的缺陷:
- 梯度 在两头几近于零,导致后期梯度消失