(OneNote不太方便的地方在于没法建立目录跳转,于是决定直接写在CSDN上)
数据处理
数据集建立
交叉验证:适合数据量小的数据集
数据处理
- 归一化(normalize)
- 降维
方法
最近邻 (Nearest Neighbors)
取对应格点差的总和最小
K-最近邻 (KNN, K-Nearest Neighbors)
找到最近的K个点进行距离加权投票,使分类决策边界更平滑
超参数 hyperparameters: 如K和L1/L2范数的选择
- K的选择:
- 距离度量方式的选择:
-
L1 Loss 平均绝对误差 Mean Absolute Error (MAE):
依赖于坐标系统,可根据特征向量具有实际意义建立坐标
distances = np.sum(np.abs(self.Xtr - X[i,:]), axis = 1)
L2 Loss 均方差损失 Mean Squared Error, MSE:极大似然估计
不受坐标系的影响,适合不同向量都为通用向量或含义未知时,无法衡量图像的相似性
distances=np.sqrt(np.sum(np.square(self.Xtr-X[i,:]),axis=1))
MSE 假设了误差服从高斯分布,MAE 假设了误差服从拉普拉斯分布。拉普拉斯分布本身对于 outlier 更加 robust。参考下图(来源:Machine Learning: A Probabilistic Perspective 2.4.3 The Laplace distribution Figure 2.8),当右图右侧出现了 outliers 时,拉普拉斯分布相比高斯分布受到的影响要小很多。因此以拉普拉斯分布为假设的 MAE 对 outlier 比高斯分布为假设的 MSE 更加 robust。
线性分类器
- f(x,W)=Wx+b:每个类别只能识别一个单独的模板
- W:参数矩阵
- 损失函数 loss function:通过损失函数最小在训练集中找到最优W
- 合页损失函数 hinge loss(SVM):注重清晰划分正确和错误分类的边界
eg:
*此处表示第i类正确分类的得分,+1为自由参数,可以自由选择
- 交叉熵损失 cross-entropy loss(softmax loss):刻画的是正确值和预测值两个概率分部之间的距离
- 梯度下降
写着写着崩了。。。突然丢了一些东西。。。。回Onenote了。。。。。。。