偏差和方差
- 偏差:
偏差是指所有采样得到大小为m的训练数据集训练出的所有模型的输出平均值和真实模型输出之间的偏差 - 方差:
方差是指所有采样得到大小为m的训练数据集训练出的所有模型的输出的方差 - 公式推导
见西瓜书P45 - 从Boosting和Bagging角度解释偏差和方差
Bagging 是从降低方差的角度,多个弱分类器的模型取平均。Boosting是从降低偏差的角度入手,训练好一个弱分类器后,利用 这个分类器的误差或者残差去拟合下一个分类器 - 过拟合和欠拟合角度解释方差
过拟合:在训练集上表现效果好,在测试集上表现差,说明模型过于复杂,方差过大
欠拟合,训练集上都不能不能很好的表现,偏差过大。
梯度下降
Mini-Batch
每次随机选择固定大小的数据集用来计算梯度,代表整体的梯度。较准确,速度比Batch快
SGD梯度下降
每次随机选一个数据,代表整体的梯度进行梯度下降。速度下降很快,有可能找不到最小点
Batch
使用全部的数据集来计算梯度,最为准确
如果训练样本大小不大,使用Batch梯度下降。如果训练样本过大,选择Mini-Batch梯度下降。为了和计算机的信息存储方式相适应,一般选取2的幂次方
SGD和Mini-Batch代码
待补
交叉验证
交叉验证是将训练集D划分为k个大小相似的互斥子集。每个子集都要尽可能保持数据分布的一致性,用k-1个子集的并集作为训练集,余下的那个子集作为测试集,从而进行k次训练。最终返回的是这k个测试结果的均值。
在超参选择的时候来评估模型的好坏
归一化
- 基本上所有使用梯度下降来优化的算法,都要进行归一化。包括线性回归,逻辑回归、支持向量机、神经网络模型等。
- 为什么要进行归一化
消除数据特征之间的量纲影响,数值范围大的特征要进行多次迭代才能找到最优解。使等值图变为圆形(二维情况下),更新速率变的更为一致,更容易快速地通过梯度下降找到最优解。 - 常用的归一化方法:
1 Min-Max-Scaling 将所有的特征的范围都统一到固定的区间。进行线性的映射
2.零均值归一化
非线性的映射。它会将原始数据映射到均值为0,标准差为1的分布上
线性回归模型评估
MSE
mean squared Error 均方误差,所有样本误差的平方和
RMSE
root mean squared Error 均方根误差 在MSE的基础上取平方根
MAE
mean absolute error 平均绝对误差 所有样本误差绝对值和再平均
R^2
r 2 = 1 − M S E / V A R r^2=1-MSE/VAR r2=1−MSE/VAR= 1 − ∑ i m ( y i − y ~ i ) ∑ i m ( y i − y ‾ i ) 1-\frac{\sum_{i}^{m}(y^i-\widetilde{y}^i)}{\sum_{i}^{m}(y^i-\overline{y}^i)} 1−∑im(yi−yi)∑im(yi−y i)
分母相当于baseline model 用平均值去代表取值。当 r 2 r^2 r2为1的时候分子为0,准确率100%。当 r 2 r^2 r2为0的时候,分子分母相同,模型没有任何改进。当 r 2 r^2 r2小于0的时候此时可能模型没有线性关系