温馨提示: 豌豆仅提供国内节点,不提供境外节点,不能用于任何非法用途,不能访问境外网站及跨境联网。

免费领取1万IP!

李宏毅机器学习2(P4-P7)

发布时间:


做的匆忙,我后面日子还要继续改

理解偏差和方差

学习误差为什么是偏差和方差而产生的(数学公式推导)

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)

如果训练样本的大小,比如m200m\leqslant200时,选择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。

以上内容来自于网络,如有侵权联系即删除

相关文章


LCD products prices why OLED products are greatly Pytorch--Conv2d卷积运算 Python-cross_validation纠错 MySQL中的几个重要概念事务、索引和慢优化 C#设计模式学习(沙盒模式) RLP 转换流、文件拷贝案例和字符编码 LeetCode--栈专题

上一篇:运行IOBIT Uninstaller 和 geek 卸载软件报错咋办
下一篇:Bone Collector HDU - 2602(裸01背包dp)

咨询·合作