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$参数——通过学习得到
多种正则项:
-
$L_2$正则项——喜欢对于大数值权值惩罚,喜欢分散权值,鼓励分类器使用全部特征 $$ R(W)=\sum_k\sum_lW_{kl}^2\quad\quad(每项平方后求和) $$
-
$L_1$正则项
-
弹性网络:$\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.数据预处理
- 去均值:去除范围影响
- 归一化:去除量纲影响
- 去相关:降维
- 白化:去相关后归一化
tips:3,4不常用于神经网络分类器