线性拟合

动手学:深度学习Task3

时间秒杀一切 提交于 2020-02-18 23:25:41
过拟合、欠拟合及其解决方案 过拟合、欠拟合的概念 权重衰减 丢弃法 模型选择、过拟合和欠拟合 训练误差和泛化误差 在解释上述现象之前,我们需要区分训练误差(training error)和泛化误差(generalization error)。通俗来讲,前者指模型在训练数据集上表现出的误差,后者指模型在任意一个测试数据样本上表现出的误差的期望,并常常通过测试数据集上的误差来近似。计算训练误差和泛化误差可以使用之前介绍过的损失函数,例如线性回归用到的平方损失函数和softmax回归用到的交叉熵损失函数。 机器学习模型应关注降低泛化误差。 模型选择 验证数据集 从严格意义上讲,测试集只能在所有超参数和模型参数选定后使用一次。不可以使用测试数据选择模型,如调参。由于无法从训练误差估计泛化误差,因此也不应只依赖训练数据选择模型。鉴于此,我们可以预留一部分在训练数据集和测试数据集以外的数据来进行模型选择。这部分数据被称为验证数据集,简称验证集(validation set)。例如,我们可以从给定的训练集中随机选取一小部分作为验证集,而将剩余部分作为真正的训练集。 K折交叉验证 由于验证数据集不参与模型训练,当训练数据不够用时,预留大量的验证数据显得太奢侈。一种改善的方法是K折交叉验证(K-fold cross-validation)。在K折交叉验证中

DL notes 02: ML/DL模型训练的Tips

ε祈祈猫儿з 提交于 2020-02-16 21:55:11
文章目录 一、基本概念 二、应对欠拟合和过拟合的解决方法 2.1 欠拟合的解决办法 2.2 过拟合的解决办法 2.2.1 权重衰减 / L 2 L_{2} L 2 ​ 范数正则化 2.2.2 dropout 三、梯度消失和梯度爆炸 四、随机初始化模型参数 PyTorch的默认随机初始化 Xavier随机初始化(这里需要检查) 五、考虑环境因素 协变量偏移 标签偏移 概念偏移 Q&A 一、基本概念 训练误差(training error) :指模型在训练数据集(train dataset)上表现出的误差。 泛化误差(generalization error) :指模型在任意一个测试数据样本上表现出的误差的期望,并常常通过测试数据集(test dataset)上的误差来近似。 损失函数(loss function) :计算训练误差和泛化误差可以使用之前介绍过的损失函数,例如线性回归(linear regression)用到的平方损失(squared loss)函数和softmax回归用到的交叉熵(cross entropy)损失函数。 训练数据集(train dataset) :【模型】(Model)训练的过程其实就是在求【参数】的过程,我们先假定某类【模型】(比如决策树模型),然后用【训练集】来训练,学习到对应的最优的【参数】。但是问题在于,我们没有办法保证我们假设的那个【模型

欠拟合、过拟合

拈花ヽ惹草 提交于 2020-02-15 23:52:33
过拟合、欠拟合以及解决方法 训练误差和泛化误差 在机器学习中,我们将数据分为训练数据、测试数据(或者训练数据、验证数据、测试数据,验证数据也是训练数据的一部分。)训练误差是模型在训练数据集上表现出来的误差,泛化误差(也可称为测试误差)是在测试数据集上表现出来的误差的期望。,例如线性回归用到的平方损失函数和softmax回归的交叉熵损失函数。 测试数据集只能在所有超参数和模型参数选定之后使用一次,不可以用来选择模型,如调参。 验证数据集是预留一部分在训练集和测试集以外的数据以外的数据进行模型的选择。但是由于数据集有限,一般采用K折交叉验证的方法。 训练集:用于模型的构建 验证数据集:可选,用于辅助模型构建,可以重复使用。 测试数据集:用于检测模型,评估模型的准确率。 模型训练过程中会出现两种问题:欠拟合和过拟合 欠拟合:模型无法得到较低的训练误差。 过拟合:模型的训练误差远小于它在测试数据集熵的误差。 导致这两种拟合问题的因素有很多,模型复杂度和训练数据集的大小是主要因素。 给定数据集,模型复杂度和误差之间的关系: 训练数据集过少时,比模型参数数量更少时会,更容易出现过拟合。 解决方法 欠拟合常见的解决方法: 1、增加新特征,可以加入特征组合、高次特征,来增大假设空间。 2、添加多项式特征。例如线性模型通过添加二次项或者三次项使模型泛化能力更强。 3、减少正则化参数

TASK02-深度学习

扶醉桌前 提交于 2020-02-15 00:51:44
过拟合和欠拟合及其解决方案 模型选择,过拟合和欠拟合 训练误差和泛化误差 模型选择 概念 验证数据集 K折交叉验证 过拟合和欠拟合 模型复杂度 训练数据集大小 梯度消失和梯度爆炸 随机初始化模型参数 Pytorch的默认随机初始化 Xavier随机初始化 模型选择,过拟合和欠拟合 训练误差和泛化误差 在解释上述现象之前,我们需要区分训练误差(training error)和泛化误差(generalization error)。通俗来讲,前者指模型在训练数据集上表现出的误差,后者指模型在任意一个测试数据样本上表现出的误差的期望,并常常通过测试数据集上的误差来近似。计算训练误差和泛化误差可以使用之前介绍过的损失函数,例如线性回归用到的平方损失函数和softmax回归用到的交叉熵损失函数。 模型选择 概念 验证数据集 从严格意义上讲,测试集只能在所有超参数和模型参数选定后使用一次。不可以使用测试数据选择模型,如调参。由于无法从训练误差估计泛化误差,因此也不应只依赖训练数据选择模型。鉴于此,我们可以预留一部分在训练数据集和测试数据集以外的数据来进行模型选择。这部分数据被称为验证数据集,简称验证集(validation set)。例如,我们可以从给定的训练集中随机选取一小部分作为验证集,而将剩余部分作为真正的训练集。 K折交叉验证 由于验证数据集不参与模型训练,当训练数据不够用时

【Machine Learning in Action --5】逻辑回归(LogisticRegression)

邮差的信 提交于 2020-02-13 20:49:53
1、概述   Logistic regression(逻辑回归)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性。   在经典之作《数学之美》中也看到了它用于广告预测,也就是根据某广告被用 户点击的可能性,把最可能被用户点击的广告摆在用户能看到的地方,然后叫他“你点我啊!”用户点了,你就有钱收了。这就是为什么我们的电脑现在广告泛滥的 原因。还有类似的某用户购买某商品的可能性,某病人患有某种疾病的可能性啊等等。这个世界是随机的(当然了,人为的确定性系统除外,但也有可能有噪声或产生错误的结果,只是这个错误发生的可能性太小了,小到千万年不遇,小到忽略不计而已),所以万物的发生都可以用可能性或者几率(Odds)来表达。“几率”指的是某事物发生的可能性与不发生的可能性的比值。 Logistic regression可以用来回归,也可以用来分类,主要是二分类。 2、基本理论 2.1Logistic regression和Sigmoid函数   回归:假设现在有一些数据点,我们用一条直线对这些点进行拟合(该条称为最佳拟合直线),这个拟合过程就称作回归。利用Logistic回归进行分类的思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。这里的“回归”一词源于最佳拟合,表示找到最佳拟合参数,使用的是最优化算法。   Sigmoid函数具体的计算公式如下:         z=w

【cs229-Lecture11】贝叶斯统计正则化

这一生的挚爱 提交于 2020-02-10 07:53:58
本节知识点: 贝叶斯统计及规范化 在线学习 如何使用机器学习算法解决具体问题:设定诊断方法,迅速发现问题 贝叶斯统计及规范化(防止过拟合的方法) 就是要找更好的估计方法来减少过度拟合情况的发生。 回顾一下,线性回归中使用的估计方法是最小二乘法,logistic 回归是条件概率的最大 似然估计,朴素贝叶斯是联合概率的最大似然估计,SVM 是二次规划。 一下转自: http://52opencourse.com/133/coursera 斯坦福大学机器学习第七课"正则化“学习笔记,本次课程主要包括4部分: 1) The Problem of Overfitting(过拟合问题) 2) Cost Function(成本函数) 3) Regularized Linear Regression(线性回归的正则化) 4) Regularized Logistic Regression(逻辑回归的正则化) 以下是每一部分的详细解读。 1) The Problem of Overfitting(过拟合问题) 拟合问题举例-线性回归之房价问题: a) 欠拟合(underfit, 也称High-bias) b) 合适的拟合: c) 过拟合(overfit,也称High variance) 什么是过拟合(Overfitting): 如果我们有非常多的特征

机器学习基石14-Regularization

自作多情 提交于 2020-02-09 06:25:42
注: 文章中所有的图片均来自台湾大学林轩田《机器学习基石》课程。 笔记原作者:红色石头 微信公众号:AI有道 上节课介绍了过拟合发生的原因:excessive power, stochastic/deterministic noise 和limited data。并介绍了解决overfitting的简单方法。本节课,我们将介绍解决overfitting的另一种非常重要的方法:Regularization规则化。 一、Regularized Hypothesis Set 先来看一个典型的overfitting的例子: 如图所示,在数据量不够大的情况下,如果我们使用一个高阶多项式(图中红色曲线所示),例如10阶,对目标函数(蓝色曲线)进行拟合。拟合曲线波动很大,虽然 \(E_{in}\) 很小,但是 \(E_{out}\) 很大,也就造成了过拟合现象。 那么如何对过拟合现象进行修正,使hypothesis更接近于target function呢?一种方法就是regularized fit。 这种方法得到的红色fit曲线,要比overfit的红色曲线平滑很多,更接近与目标函数,它的阶数要更低一些。那么问题就变成了我们要把高阶(10阶)的hypothesis sets转换为低阶(2阶)的hypothesis sets。通过下图我们发现,不同阶数的hypothesis存在如下包含关系:

非线性回归结果分析

眉间皱痕 提交于 2020-02-08 18:42:02
最近发现一个特别好用的统计软件——minitab 在他的帮助文档中,很好的总结了如何比较拟合结果的好坏 以下为具体网址: https://support.minitab.com/zh-cn/minitab/18/help-and-how-to/modeling-statistics/regression/how-to/nonlinear-regression/interpret-the-results/key-results/#step-3-determine-how-well-the-model-fits-your-data 我们在非线性和线性拟合后,会得到残差平方和、决定系数R方等等,之前我一直用前两个来比较拟合优度,但是对于不同的拟合方程,他们的残差平方和也不同。当我们确定一个线性模型与数据的吻合程度时,几乎会将所有注意力集中在R-squared上。但是,以前我曾经说过R-squared被高估了。下面会提供一些其他的方法。 简单概述概述一下。 在此之前需要明白几个术语: 其他参数见网址:( https://support.minitab.com/zh-cn/minitab/18/help-and-how-to/modeling-statistics/regression/how-to/fitted-line-plot/methods-and-formulas/methods

数学建模模型8——回归1 cftool工具箱

半城伤御伤魂 提交于 2020-02-02 17:28:47
启动方法: 命令行窗口输入cftool 拟合数据 示例 1 假设我们要拟合的函数形式是 y=A x^2 + B x, 且 A>0, B>0。 数据: x=[110.3323 148.7328 178.064 202.8258033 224.7105 244.5711 262.908 280.0447 296.204 311.5475]; y=[5 10 15 20 25 30 35 40 45 50]; 进入曲线拟合工具箱界面“Curve Fitting tool”: 1)利用 X data 和 Y data 的下拉菜单读入数据 x,y,这时会自动画出数据集的曲线图,注意右侧的 Auto fit 选项; 2)通过下拉菜单“Type of fit”选择拟合曲线的类型,工具箱提供的拟合类型有: Custom Equations:用户自定义的函数类型 Exponential:指数逼近,有 2 种类型, a e b x ae^{bx} a e b x 、 a e b x + c e d x ae^{bx}+ce^dx a e b x + c e d x Fourier:傅立叶逼近,有 7 种类型,基础型是 a 0 + a 1 c o s ( x w ) + b 1 s i n ( x w ) a_0+a_1cos(xw)+b_1sin(xw) a 0 ​ + a 1 ​ c o s ( x

机器学习之正则化

假装没事ソ 提交于 2020-01-28 21:16:15
一、防止过度拟合 过度拟合问题: 例如:那个用线性回归来预测房价的例子,我们通过建立以住房面积为自变量的函数来预测房价,我们可以对该数据做线性回归,以下为三组数据做线性拟合的结果: ①第一个图我们用直线去拟合,这不是一个很好的模型。 我们看看这些数据,很明显,随着房子面积增大,住房价格的变化应趋于稳定,或者越往右越平缓。 因此该算法没有很好拟合训练数据,我们把这个问题称为欠拟合(underfitting),这个问题的另一个术语叫做高偏差(bias) 。 ②第二个图我们用二次函数来拟合它,这个拟合效果很好 。 ③第三个图我们拟合一个四次多项式,因此在这里我们有五个参数 θ0到θ4 这样我们可以拟合一条曲线,通过我们的五个训练样本,你可以得到看上去如此的一条曲线。 这条回归直线似乎对训练数据做了一个很好的拟合,因为这条曲线通过了所有的训练实例。但是这仍然是一条扭曲的曲线。事实上,我们并不认为它是一个预测房价的好模型。 所以 这个问题我们把他叫做过度拟合或过拟合(overfitting),另一个描述该问题的术语是高方差(variance)。 高方差是另一个历史上的叫法,但是从第一印象上来说,如果我们拟合一个高阶多项式,那么这个函数能很好的拟合训练集,能拟合几乎所有的训练数据。这就面临可能函数太过庞大的问题、变量太多。 如果我们没有足够的数据去约束这个变量过多的模型 那么这就是过度拟合。