文章目录
做的匆忙,我后面日子还要继续改
理解偏差和方差
学习误差为什么是偏差和方差而产生的(数学公式推导)
bias 偏差 :模型的期望(或平均)预测和正确值之间的差别;
variance 方差 :模型之间的多个拟合预测之间的偏离程度。
过拟合,欠拟合,分别对应bias和variance什么情况
过拟合对应的是bias很小,variance很大
欠拟合对应的是bias很大,viraiance很小
学习鞍点,复习上次任务学习的全局最优和局部最优
解决办法有哪些
动量(Momentum),动量法不仅使用当前的梯度,同时还利用之前的梯度提供的信息。
梯度下降
学习Mini-Batch与SGD
Mini-Batch是部分数据参与参数的更新,SGD是一个数据参与参数的更新,都是梯度下降算法。
学习Batch与Mini-Batch,SGD梯度下降的区别
数据的不同,Batch是全部的数据,Mini-Batch是部分数据,SGD梯度下降是单个数据
如何根据样本大小选择哪个梯度下降(批量梯度下降,Mini-Batch)
如果训练样本的大小,比如
m
⩽
200
m\leqslant200
m⩽200时,选择batch梯度下降法
如果训练样本的大小比较大,选择Mini-batch梯度下降法
写出SGD和Mini-Batch的代码
n_epochs = 50
t0, t1 = 5, 50
def learning_schedule(t):
return t0 / (t + t1)
theta = np.random.randn(2,1)
for epoch in range(n_epochs):
for i in range(m):
random_index = np.random.randint(m)
xi = X_b[random_index:random_index+1]
yi = y[random_index:random_index+1]
gradients = 2 * xi.T.dot(xi.dot(theta) - yi)
eta = learning_schedule(epoch * m + i)
theta = theta - eta * gradients
学习交叉验证
数据不够的时候,我们会按照划分为n份,随机选出(n-1)份来做训练集,一份作为验证集,重复n次。以此得到评估指标
学习归一化
每个特征的的量纲不一样,如果不进行归一化,会出现量纲大影响大,量纲小影响小。
学习回归模型评价指标
有准确率,召回率、精准率、f1_score,auc。