目录

CV_3线性分类器(下)


线性分类器(下)

1.正则项与超参数

含义:对模型的偏好设置

情景:如果有多个$W$均可得到最优的损失函数,该如何选择?

定义: $$ L(w)=\frac{1}{N}\sum_{i}L_i(f(x_i,W),y_i)+\lambda R(W) $$

  • $\frac{1}{N}\sum_{i}L_i(f(x_i,W),y_i)$为数据损失:预测和训练集匹配
  • $\lambda R(W)$为正则损失:防止模型训练的太好(防止过拟合)

$\lambda$为超参数:正则项所占比重——学习前设置

$W$参数——通过学习得到

多种正则项:

  1. $L_2$正则项——喜欢对于大数值权值惩罚,喜欢分散权值,鼓励分类器使用全部特征 $$ R(W)=\sum_k\sum_lW_{kl}^2\quad\quad(每项平方后求和) $$

  2. $L_1$正则项

  3. 弹性网络:$\alpha L_1 + \beta L_2$

2.优化算法

梯度下降算法

利用所有/部分(小批量梯度下降)/单个(随机梯度下降)计算损失并更新梯度

伪代码:

while True:
	权值梯度 <- 计算梯度(损失, 样本, 权重)
	权值 <- 权值 - 学习率 * 梯度

方法:

  • 数值法 :利用导数定义(一般用于检查梯度,速度慢) $$ \frac{dL(W)}{dW} = \lim_{h \to 0}\frac{L(W+h)-L(W)}{h} $$

  • 解析法:利用求导,速度快易出错

术语介绍:

  • itreation:表示一次迭代,每次迭代更新一次参数
  • batch_size:一次迭代使用的样本量
  • epoch:表示使用了全部样本,即$1\ epoch\ =\ \frac{N}{batch\ size}$

3.数据集划分

  • 训练集:用于给定的超参数是分类器参数学习
  • 验证集:用于选择超参数
  • 测试集:评估泛化能力

划分手段:

K折交叉验证/带打乱的K折交叉验证

4.数据预处理

  1. 去均值:去除范围影响
  2. 归一化:去除量纲影响
  3. 去相关:降维
  4. 白化:去相关后归一化

tips:3,4不常用于神经网络分类器