正则化

【吴恩达机器学习】正则化 Regularization

好久不见. 提交于 2020-01-31 21:33:26
正则化 (Regularization) 过拟合问题(The Problem of Overfitting) 左边的算法没有很好地拟合训练集,这个问题称作 欠拟合(underfitting) ,也可以说该算法具有 高偏差(high bias) 中间的算法拟合效果不错,是理想的模型 右边的算法几乎完美地拟合了训练集,它的代价函数也可能接近于0,但是它最后给出的模型并不好。这就是 过拟合(Overfitting) 问题,也称该算法具有 高方差(high variance) 解决过拟合问题的方法 减少选取特征的数量 手动删去部分特征变量 模型选择算法(Model Selection Algorithm) 正则化(Regularization) 保留所有的特征变量,但是减少参数 θ j \theta_j θ j ​ 的量级或数值大小 代价函数(Cost Function) 正则化的思路就是减少参数 θ j \theta_j θ j ​ 的量级或数值大小 理想的情况下,我们选出一些影响较小的特征,并减小它们对应的参数,假设是 θ 3 , θ 4 \theta_3,\theta_4 θ 3 ​ , θ 4 ​ ,我们可以修改代价函数来达到这个效果: J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x i ) − y ( i ) ) + λ 3 θ 3 2 + λ 4 θ 4

L1和L2:损失函数和正则化

a 夏天 提交于 2020-01-29 16:08:52
作为损失函数 L1范数损失函数    L1 范数损失函数 ,也被称之为最小绝对值误差。总的来说,它把目标值$Y_i$与估计值$f(x_i)$的 绝对差值 的总和最小化。 $$S=\sum_{i=1}^n|Y_i-f(x_i)|$$ L2范数损失函数    L2 范数损失函数 ,也被称为最小平方误差,总的来说,它把目标值$Y_i$与估计值$f(x_i)$的 差值的平方和 最小化。 $$S=\sum_{i=1}^n(Y_i-f(x_i))^2$$ L1损失函数 L2损失函数 鲁棒 不是很鲁棒 不稳定性 稳定解 可能多个解 总是一个解    总结一下 :L2范数loss将误差平均化( 如果误差大于1,则误差会放大很多 ),模型的误差会比L1范数来得大,因此模型会对样本更加敏感,这就需要调整模型来最小化误差。如果有个样本是一个异常值,模型就需要调整以适应单个的异常值,这会牺牲许多其他正常的样本,因为这些正常的样本的误差比这单个的异常值的误差小。 作为正则化   我们经常会看见损失函数后面添加一个额外项,一般为 L1-norm , L2-norm ,中文称作 L1正则化 和 L2正则化 ,或者 L1范数 和 L2函数 。   L1正则化和L2正则化可以看做是损失函数的 惩罚项 。所谓『惩罚』是指对损失函数中的某些参数做一些限制。 防止模型过拟合而加在损失函数后面的一项。 L1正规化  

机器学习之正则化

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

论文学习11-Adversarial training for multi-context joint entity and relation extraction(实体关系买抽取模型,对抗学习

青春壹個敷衍的年華 提交于 2020-01-27 20:36:05
文章目录 1. introduction 2.相关工作 3.Model 3.1 Joint learning as head selection 3.2 AT 4.实验设置 5.结果 6.总结 实体关系抽取模型 对抗学习. 论文链接 code Bekoulis, G., et al. (2018). “Adversarial training for multi-context joint entity and relation extraction.” arXiv preprint arXiv:1808.06876. 1. introduction 稳定性差 许多神经网络方法最近被用于各种自然语言处理(NLP)任务,如解析(Zhang et al., 2017)、词性标注(Lample et al., 2016)、关系提取(dos Santos et al., 2015)、翻译(Bahdanau et al., 2015)和联合任务(Miwa and Bansal, 2016)。 然而,Szegedy等人(2014)观察到将小尺度扰动输入这样的模型可能会导致不正确的决策(并且有很高的可信度)。 使用对抗模型 Goodfellow et al.(2015)提出了将对抗训练(AT)(用于图像识别)作为一种正则化方法,该方法使用干净的和对抗的混合实例来增强模型的鲁棒性。

正则化解决过拟合问题

余生颓废 提交于 2020-01-26 20:10:41
目录 应用 线性回归的正则化 logistic回归中的正则化 所谓正则化是在代价函数的基础上进行的 为了使costfunction尽快的取得最小值 当参数过多时,会存在过拟合现象,假如我们在损失函数中加入一项作为惩罚,如加入 \(1000 \theta_{3}^{2}\) ,当参数 \(\theta_{3}\) 过大时,会使得损失函数变大,而我们的目标是损失函数最小化,因此,会迫使参数值变小,当但数值值趋近于0时,近似于新加入的项入 \(1000 \theta_{3}^{2}\) 趋近于0,相当于去掉这一项,此时,模型又近似于二次函数形式。解决了过拟合问题。 感觉确实很不错的 当参数很多时,无法确定那些参数对模型影响大,哪些影响较小。无法对参数进行选择约束。因此,我们就从整体上对参数进行约束,加入上图紫色的正则项,对除\theta _{0} 以外的所有参数进行约束。\lambda 为正则参数。 加入正则项之后的损失函数 \(J(\theta)=\frac{1}{2 m}\left[\sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}+\lambda \sum_{j=1}^{n} \theta_{j}^{2}\right]\) 当正则参数取值较大时,惩罚作用较大,会使得所有参数的取值近似于0,此时

scala-MLlib官方文档---spark.mllib package--classification and regression

ⅰ亾dé卋堺 提交于 2020-01-26 07:55:42
三、Classification and regression Spark.mllib包为二分类、多分类和回归分析提供了多样的支持工具 linear models(线性模型) 1)Mathematical formulation(数学公式) 很多标准的机器学习方法都可以表述为凸优化问题,例如:找到依赖于变量向量w的凸函数f的极小值的任务(在代码中被称为权重),通常含有d个输入。形式上,我们可以将其写为优化问题minw∈ℝdf(w),,具有如下形式的目标方程 这里的向量 这里向量xi∈ℝd 是训练数据示例, 其中1≤i≤n, 并且 yi∈ℝ是他们相应的标签, 也是我们想要预测的。我们称方法是线性的如果L(w;x,y) 可以被表示称方程 wTx and y。spark.mllib的几种分类和回归算法都属于此类,在此进行讨论。 目标方程f具有两部分: The objective function f has two parts: 控制模型复杂度的正则化器,以及测量训练数据上模型误差的损失。损失函数L(w ;.)通常是w中的凸函数。固定的正则化参数λ≥0(代码中的regParam)定义了两个目标之间的权衡,这两个目标是最小化损失(即训练误差)和最小化模型复杂度(即避免过度拟合)。 (1)损失方程 下表总结了spark.mllib支持的方法的损失函数及其梯度或子梯度: 注意

所谓范数及其在机器学习中的作用

断了今生、忘了曾经 提交于 2020-01-26 03:21:09
本文参考: 1、 https://www.jianshu.com/p/4bad38fe07e6 2、 https://zhuanlan.zhihu.com/p/26884695 3、深度学习入门:基于Python的理论与实现 斋藤康毅(作者) 理解范数 - : 在很多机器学习相关书籍中我们经常看到各种各样的距离及范数,如 、 其中, , 分别表示向量和矩阵。 也有其他的欧氏距离、均方差之类,例如,向量 的欧式范数 (Euclidean norm)为 用于表示向量的大小,这个也被叫 -范数。 为方便统一,一般将任意向量 的 -范数定义为 主要有三类: 、 、 范数的定义: 根据 -范数的定义,当p=0时,我们就有了 -范数 表示向量x中非0元素的个数(0的0次方是0,非零的0次方是1,所以所有的零元素全都没了,只剩下非零元素变成的1了) 大佬是这么说的: 在诸多机器学习模型中,比如压缩感知 (compressive sensing),我们很多时候希望最小化向量的 -范数。一个标准的 -范数优化问题往往可以写成如下形式: 然而,由于 -范数仅仅表示向量中非0元素的个数,因此,这个优化模型在数学上被认为是一个NP-hard问题,即直接求解它很复杂、也不可能找到解。 需要注意的是,正是由于该类优化问题难以求解,因此,压缩感知模型是将 -范数最小化问题转换成 -范数最小化问题。 我就看不懂了

GBDT与XGBOOST

情到浓时终转凉″ 提交于 2020-01-25 19:56:59
Boosting方法实际上是采用加法模型与前向分布算法。在上一篇提到的Adaboost算法也可以用加法模型和前向分布算法来表示。以决策树为基学习器的提升方法称为提升树(Boosting Tree)。对分类问题决策树是CART分类树,对回归问题决策树是CART回归树。 1、前向分布算法   引入加法模型      在给定了训练数据和损失函数L(y,f(x))L(y,f(x)) 的条件下,可以通过损失函数最小化来学习加法模型      然而对于这个问题是个很复杂的优化问题,而且要训练的参数非常的多,前向分布算法的提出就是为了解决模型的优化问题,其核心思想是因为加法模型是由多各模型相加在一起的,而且在Boosting中模型之间又是有先后顺序的,因此可以在执行每一步加法的时候对模型进行优化,那么每一步只需要学习一个模型和一个参数,通过这种方式来逐步逼近全局最优,每一步优化的损失函数:      具体算法流程如下:   1)初始化f0(x)=0f0(x)=0;   2)第m次迭代时,极小化损失函数      3)更新模型,则$f_m (x)$:      4)得到最终的加法模型       Adaboost算法也可以用前向分布算法来描述,在这里输入的数据集是带有权重分布的数据集,损失函数是指数损失函数。 2、GBDT算法   GBDT是梯度提升决策树(Gradient Boosting

线性模型正则化

寵の児 提交于 2020-01-25 19:56:07
一、正则线性模型 减少过度拟合的一个好办法就是对模型 正则化 (即约束它):它拥有的自由度越低,就越不容易过度拟合数据。比如,将多项式模型正则化的简单方法就是降低多项式的阶数。 对线性模型来说,正则化通常通过约束模型的权重来实现。常见的对权重进行约束的方法有:岭回归(Ridge Regression)、套索回归(lasso Regression)及弹性网络(Elastic Regression)。 二、岭回归 岭回归 (也叫作吉洪诺夫正则化)是线性回归的正则化版:在成本函数中添加一个等于 α ∑ i = 1 n θ i 2 \alpha\sum_{i=1}^n\theta_i^2 α ∑ i = 1 n ​ θ i 2 ​ 的正则项。这使得学习中的算法不仅需要拟合数据,同时还要让模型权重保持最小。 正则项只能在训练的时候添加到成本函数中,一旦训练完成,我们需要使用未经正则化的性能指标来评估模型性能。 超参数 α \alpha α 控制的是对模型进行正则化的程度。如果 α = 0 \alpha=0 α = 0 ,则岭回归就是线性模型。如果 α \alpha α 非常大,那么所有的权重都将非常接近于零,结果是一条穿过数据平均值的水平线。 岭回归的成本函数: J ( θ ) = M S E ( θ ) + α 1 2 ∑ i = 1 n θ i 2 J(\theta)=MSE(

sklearn中的线性回归模型

泄露秘密 提交于 2020-01-25 01:53:57
sklearn中拥有有非常庞大的线性回归模型家族,采用各种算法用以解决各类线性回归问题。不同的线性回归模型的参数设置、模型方法和调参策略并不一样,本文并不具体介绍每个模型的具体接口和使用事项,仅简单梳理下sklearn中的部分线性回归模型。 线性回归模型按照 正则化策略 :可分为普通回归问题(无正则化项)、L1正则(Lasso问题)、L2正则(Ridge问题)和弹性网ElasticNet(L1正则+L2正则)。 线性回归模型按照 计算策略 :可分为 最小二乘法 、 坐标轴轴下降法 、 最小角回归法 、 梯度下降法 ,同时对于Ridge回归可以利用 核机巧 将其推广到高维非线性空间。相关算法的细节可参考对应博文。值得强调的是,这里的 梯度下降法 是变形后的梯度下降法(如在 Logsitic回归 中介绍的各种优化器),因为原始的梯度下降法并不能解决L1正则项不可导的问题。 从 正则化策略 和 计算策略 这两个问题,对sklearn中的线性回归模型进行大概的梳理,可以得到不同的sklearn中不同模型的适用条件(见下图)。 来源: CSDN 作者: guofei_fly 链接: https://blog.csdn.net/guofei_fly/article/details/103889406