理解偏差和方差
- 学习误差为什么是偏差和方差而产生的,并且推导数学公式
- 过拟合,欠拟合,分别对应 bias 和 variance 什么情况
学习鞍点,复习上次任务学习的全局最优和局部最优
解决办法有哪些
梯度下降
学习 Mini-Batch 与 SGD
学习 Batch 与 Mini-Batch,SGD梯度下降的区别
如何根据样本大小选择哪个梯度下降(批量梯度下降,Mini-Batch)
写出 SGD 和 Mini-Batch 的代码
学习交叉验证
学习归一化
学习回归模型评价指标
Error 的来源:Bias 和 Variance
理解偏差与方差
在有监督学习中,模型的泛化误差来源于两个方面:「偏差」 和 「方差」。
偏差(bias):偏差衡量了模型的预测值与实际值之间的偏离关系。通常在深度学习中,我们每一次训练迭代出来的新模型,都会拿训练数据进行预测,偏差就反应在预测值与实际值匹配度上,比如通常在 keras 运行中看到的准确度为96%,则说明是低偏差;反之,如果准确度只有70%,则说明是高偏差。
方差(variance):方差描述的是训练数据在不同迭代阶段的训练模型中,预测值的变化波动情况(或称之为离散情况)。从数学角度看,可以理解为每个预测值与预测均值差的平方和的再求平均数。通常在深度学习训练中,初始阶段模型复杂度不高,为低方差;随着训练量加大,模型逐步拟合训练数据,复杂度开始变高,此时方差会逐渐变高。
这是一张常见的靶心图。可以想象红色靶心表示为实际值,蓝色点集为预测值。在模型不断地训练迭代过程中,我们能碰到四种情况:
bias 大? variance 大?
欠拟合 bias 大
过拟合 variance大
Gradient Descend
交叉验证 Cross Validation
N-Fold Cross Validation
Normalization 归一化
回归模型评价指标
1.均方误差:MSE(Mean Squared Error)
2.均方根误差:RMSE(Root Mean Squard Error)
3.平均绝对误差:MAE(Mean Absolute Error)
- (R-Square)
其中,分子部分表示真实值与预测值的平方差之和,类似于均方差 MSE;分母部分表示真实值与均值的平方差之和,类似于方差 Var。
根据 R-Squared 的取值,来判断模型的好坏,其取值范围为[0,1]:
如果结果是 0,说明模型拟合效果很差;
如果结果是 1,说明模型无错误。
一般来说,R-Squared 越大,表示模型拟合效果越好。R-Squared 反映的是大概有多准,因为,随着样本数量的增加,R-Square必然增加,无法真正定量说明准确程度,只能大概定量。
- Adjusted R-Square
其中,n 是样本数量,p 是特征数量。Adjusted R-Square 抵消样本数量对 R-Square 的影响,做到了真正的 0~1,越大越好
#均方误差
from sklearn.metrics import mean_squared_error
#平方绝对误差
from sklearn.metrics import mean_absolute_error
# R square
from sklearn.metrics import r2_score
# 调用
MSE:mean_squared_error(y_test,y_predict)
RMSE:np.sqrt(mean_squared_error(y_test,y_predict))
MAE:mean_absolute_error(y_test,y_predict)
R2:r2_score(y_test,y_predict)
Adjusted_R2::1-((1-r2_score(y_test,y_predict))*(n-1))/(n-p-1)
参考文献
https://www.cnblogs.com/hutao722/p/9921788.html
https://blog.csdn.net/u012735708/article/details/84337262
网友评论