过拟合

岭回归与Lasso回归

给你一囗甜甜゛ 提交于 2021-01-08 08:23:48
线性回归的一般形式 过拟合问题及其解决方法 问题:以下面一张图片展示过拟合问题 解决方法:(1):丢弃一些对我们最终预测结果影响不大的特征,具体哪些特征需要丢弃可以通过PCA算法来实现;(2):使用正则化技术,保留所有特征,但是减少特征前面的参数θ的大小,具体就是修改线性回归中的损失函数形式即可,岭回归以及Lasso回归就是这么做的。 岭回归与Lasso回归 岭回归与Lasso回归的出现是为了解决线性回归出现的过拟合以及在通过正规方程方法求解θ的过程中出现的x转置乘以x不可逆这两类问题的,这两种回归均通过在损失函数中引入正则化项来达到目的,具体三者的损失函数对比见下图: 其中λ称为正则化参数,如果λ选取过大,会把所有参数θ均最小化,造成欠拟合,如果λ选取过小,会导致对过拟合问题解决不当,因此λ的选取是一个技术活。 岭回归与Lasso回归最大的区别在于岭回归引入的是L2范数惩罚项,Lasso回归引入的是L1范数惩罚项,Lasso回归能够使得损失函数中的许多θ均变成0,这点要优于岭回归,因为岭回归是要所有的θ均存在的,这样计算量Lasso回归将远远小于岭回归。 可以看到,Lasso回归最终会趋于一条直线,原因就在于好多θ值已经均为0,而岭回归却有一定平滑度,因为所有的θ值均存在。 摘自:https://blog.csdn.net/hzw19920329/article/details

线性回归——lasso回归和岭回归(ridge regression)

戏子无情 提交于 2021-01-08 08:23:24
[toc] 线性回归很简单,用线性函数拟合数据,用 mean square error (mse) 计算损失(cost),然后用梯度下降法找到一组使 mse 最小的权重。 lasso 回归和岭回归(ridge regression)其实就是在标准线性回归的基础上分别加入 L1 和 L2 正则化(regularization)。 本文的重点是解释为什么 L1 正则化会比 L2 正则化让线性回归的权重更加稀疏,即使得线性回归中很多权重为 0,而不是接近 0。或者说,为什么 L1 正则化(lasso)可以进行 feature selection,而 L2 正则化(ridge)不行。 线性回归——最小二乘 线性回归(linear regression),就是用线性函数 $f(\bm x) = \bm w^{\top} \bm x + b$ 去拟合一组数据 $D = {(\bm x_1, y_1), (\bm x_2, y_2), ..., (\bm x_n, y_n)}$ 并使得损失 $J = \frac{1}{n}\sum_{i = 1}^n (f(\bm x_i) - y_i)^2$ 最小。线性回归的目标就是找到一组 $(\bm w^ , b^ )$,使得损失 $J$ 最小。 线性回归的拟合函数(或 hypothesis)为: $$ f(\bm x) = \bm w^{\top}

【机器学习】正则化的线性回归 —— 岭回归与Lasso回归

南笙酒味 提交于 2021-01-08 07:52:18
注 :正则化是用来防止过拟合的方法。在最开始学习机器学习的课程时,只是觉得这个方法就像某种魔法一样非常神奇的改变了模型的参数。但是一直也无法对其基本原理有一个透彻、直观的理解。直到最近再次接触到这个概念,经过一番苦思冥想后终于有了我自己的理解。 0. 正则化(Regularization ) 前面使用多项式回归,如果多项式最高次项比较大,模型就容易出现过拟合。正则化是一种常见的防止过拟合的方法,一般原理是在代价函数后面加上一个对参数的约束项,这个约束项被叫做 正则化项 (regularizer)。在线性回归模型中,通常有两种不同的正则化项: 加上所有参数(不包括$\theta_0$)的绝对值之和,即$l1$范数,此时叫做Lasso回归; 加上所有参数(不包括$\theta_0$)的平方和,即$l2$范数,此时叫做岭回归. 看过不少关于正则化原理的解释,但是都没有获得一个比较直观的理解。下面用代价函数的图像以及正则化项的图像来帮助解释正则化之所以起作用的原因。 0.1 代价函数的图像 为了可视化,选择直线方程进行优化。假设一个直线方程以及代价函数如下: $\hat{h}_{\theta} = \theta_0 + \theta_1 x$,该方程只有一个特征$x$,两个参数$\theta_0$和$\theta_1$ $J(\theta) = \frac{1}{m} \sum_{i=1}

权重衰减(weight decay)与学习率衰减(learning rate decay)

对着背影说爱祢 提交于 2021-01-03 14:34:49
文章来自Microstrong的知乎专栏,仅做搬运。 原文链接 1. 权重衰减(weight decay) L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减少模型过拟合的问题,所以权重衰减也叫L2正则化。 1.1 L2正则化与权重衰减系数 L2正则化就是在代价函数后面再加上一个正则化项: 其中 代表原始的代价函数,后面那一项就是L2正则化项,它是这样来的:所有参数w的平方的和,除以训练集的样本大小n。λ就是正则项系数,权衡正则项与 项的比重。另外还有一个系数 , 经常会看到,主要是为了后面求导的结果方便,后面那一项求导会产生一个2,与 相乘刚好凑整为1。系数 就是权重衰减系数。 1.2 为什么可以对权重进行衰减 我们对加入L2正则化后的代价函数进行推导,先求导: 可以发现L2正则化项对b的更新没有影响,但是对于w的更新有影响: 在不使用L2正则化时,求导结果中w前系数为1,现在w前面系数为 ,因为η、λ、n都是正的,所以 小于1,它的效果是减小w,这也就是权重衰减(weight decay)的由来。当然考虑到后面的导数项,w最终的值可能增大也可能减小。 另外,需要提一下,对于基于mini-batch的随机梯度下降,w和b更新的公式跟上面给出的有点不同: 对比上面w的更新公式,可以发现后面那一项变了,变成所有导数加和,乘以η再除以m,m是一个mini

在神经网络中weight decay

旧城冷巷雨未停 提交于 2021-01-03 14:16:32
weight decay(权值衰减)的最终目的是防止过拟合。在损失函数中,weight decay是放在正则项(regularization)前面的一个系数,正则项一般指示模型的复杂度,所以weight decay的作用是调节模型复杂度对损失函数的影响,若weight decay很大,则复杂的模型损失函数的值也就大。 momentum是梯度下降法中一种常用的加速技术。对于一般的SGD,其表达式为 , 沿负梯度方向下降。而带momentum项的SGD则写生如下形式: 其中 即momentum系数,通俗的理解上面式子就是,如果上一次的momentum(即 )与这一次的负梯度方向是相同的,那这次下降的幅度就会加大,所以这样做能够达到加速收敛的过程。 三、normalization。如果我没有理解错的话,题主的意思应该是batch normalization吧。batch normalization的是指在神经网络中激活函数的前面,将 按照特征进行normalization,这样做的好处有三点: 1、提高梯度在网络中的流动。Normalization能够使特征全部缩放到[0,1],这样在反向传播时候的梯度都是在1左右,避免了梯度消失现象。 2、提升学习速率。归一化后的数据能够快速的达到收敛。 3、减少模型训练对初始化的依赖。 作者:陈永志 链接:https://www.zhihu.com

21.决策树(ID3/C4.5/CART)

孤街浪徒 提交于 2020-12-27 06:31:10
总览 算法 功能 树结构 特征选择 连续值处理 缺失值处理 剪枝 ID3 分类 多叉树 信息增益 不支持 不支持 不支持 C4.5 分类 多叉树 信息增益比 支持 支持 支持 CART 分类/回归 二叉树 基尼系数,均方差 支持 支持 支持 论文链接: ID3: https://link.springer.com/content/pdf/10.1007%2FBF00116251.pdf    C4.5: https://link.springer.com/content/pdf/10.1007%2FBF00993309.pdf sklearn库: https://www.studyai.cn/modules/tree.html 每个样本的输出概率prob:对于一个叶子节点,该叶子节点预测类别对应的训练样本数占该叶子节点所有训练样本数的比例。 决策树可视化: https://www.cnblogs.com/pinard/p/6056319.html 1.ID3(分类) 信息熵: 随机变量不确定性的度量 $$H(D) = -\sum\limits_{k=1}^{K}\frac{|C_k|}{|D|}log_2\frac{|C_k|}{|D|}$$ 条件信息熵:在特征A给定的条件下对数据集D分类的不确定性 $$H(D|A) = -\sum\limits_{i=1}^{n}\frac{|D

python机器学习:决策树ID3、C4.5

爱⌒轻易说出口 提交于 2020-12-27 03:46:58
向AI转型的程序员都关注了这个号 👇👇👇 大数据挖掘DT机器学习 公众号: datayx 决策树又称为判定树,是运用于分类的一种树结构,其中的每个内部节点代表对某一属性的一次测试,每条边代表一个测试结果,叶节点代表某个类或类的分布。 决策树的决策过程需要从决策树的根节点开始,待测数据与决策树中的特征节点进行比较,并按照比较结果选择选择下一比较分支,直到叶子节点作为最终的决策结果。 决策树的学习过程 特征选择:从训练数据的特征中选择一个特征作为当前节点的分裂标准(特征选择的标准不同产生了不同的特征决策树算法)。 决策树生成:根据所选特征评估标准,从上至下递归地生成子节点,直到数据集不可分则停止决策树停止声场。 剪枝:决策树容易过拟合,需要剪枝来缩小树的结构和规模(包括预剪枝和后剪枝)。 实现决策树的算法包括ID3、C4.5算法等。 ID3算法 ID3算法是由Ross Quinlan提出的决策树的一种算法实现,以信息论为基础,以信息熵和信息增益为衡量标准,从而实现对数据的归纳分类。 ID3算法是建立在奥卡姆剃刀的基础上:越是小型的决策树越优于大的决策树(be simple简单理论)。 奥卡姆剃刀(Occam's Razor, Ockham's Razor),又称“奥坎的剃刀”,是由14世纪逻辑学家、圣方济各会修士奥卡姆的威廉(William of Occam,约1285年至1349年

tensorflow框架基础之优化(二)

北慕城南 提交于 2020-12-26 14:58:57
防止过拟合 当神经网络得到的是一个过拟合模型时,这个模型基本是没什么应用价值的,因为它的泛化性能非常不好( 泛化即是,机器学习模型学习到的概念在它处于学习的过程中时模型没有遇见过的样本时候的表现,简单理解为预测能力 ),对一些”异常”数据过分的估计,而忽视了问题的整体规律。 为避免过拟合,常采用的方式是添加正则化项,正则化 通过限制权重大小,使得模型不能任意拟合训练数据中的随机噪声 。一般有两种正则化方式: L1正则化 R ( w ) = ∥ w ∥ 1 = ∑ i | w i | L2正则化 R ( w ) = ∥ w ∥ 2 2 = ∑ i | w i | 2 两种方式的区别参考 L1、L2范数的比较 当然,正则化也可以是多种方式的组合,如 R ( w ) = ∑ i α | w i | + ( 1 − α ) w 2 i 所以,损失函数转换成 J ( θ ) + λ R ( w ) ,在tensorflow中实现正则项 weights = tf.constant([[ 1 , 2 ],[ 3 , 4 ]]) lambda = 0.2 # L1范数,regu=(|1|+|2|+|3|+|4|)*0.2 regu1 = tf.contrib.layers.l1_regularizer( lambda )(weights) # L2范数(TF会将L2的结果除2,使得求导的结果更简洁

最新元学习综述:《A Survey of Deep Meta-Learning》

孤街浪徒 提交于 2020-12-23 10:45:07
本篇文章针对最新元学习综述《A Survey of Deep Meta-Learning》中的模型进行简单汇总 ,并提炼出三种元学习方法:基于度量的元学习、基于模型的元学习、基于优化的元学习的优缺点,以及元学习发展至今仍存在的问题,论文链接如下。 A Survey of Deep Meta-Learning ​ arxiv.org 同时欢迎点赞+关注小样本学习方法专栏,不定期更新小样本学习最新资料以及个人理解。欢迎各种形式交流讨论小样本领域相关内容。 小样本学习方法(FSL) ​ www.zhihu.com 一:元学习方法优缺点及待解决问题 1:基于度量的元学习 训练模型不需要针对测试任务进行调整; 当测试与训练任务距离远时,效果不好; 任务变得更大时,逐对比较导致计算上成本昂贵; 2:基于模型的元学习: 由于其系统内部动力学的灵活性,相比大多数基于度量的元学习有更广泛适用性; 在很多监督任务上表现不如度量学习; 当数据量增大时,效果变差; 任务间距离大时,效果不如基于优化的元学习方法; 3:基于优化的元学习: 与基于模型的元学习相比,它们可以在任务分布更广泛的情况获得较优性能; 基于优化的技术需为每个任务优化base learner,导致计算成本昂贵; 4:元学习方法待解决问题: 在训练上过拟合,泛化在新任务上的表现不好; cross domain跨域问题; 训练速度和计算成本;

卷积神经网络

元气小坏坏 提交于 2020-12-19 10:36:06
先简单理解一下卷积这个东西。 (以下转自https://blog.csdn.net/bitcarmanlee/article/details/54729807 知乎是个好东西) 1.知乎上排名最高的解释 首先选取知乎上对卷积物理意义解答排名最靠前的回答。 不推荐用“反转/翻转/反褶/对称”等解释卷积。好好的信号为什么要翻转?导致学生难以理解卷积的物理意义。 这个其实非常简单的概念,国内的大多数教材却没有讲透。 直接看图,不信看不懂。以离散信号为例,连续信号同理。 已知x[0] = a, x[1] = b, x[2]=c 已知y[0] = i, y[1] = j, y[2]=k 下面通过演示求x[n] * y[n]的过程,揭示卷积的物理意义。 第一步,x[n]乘以y[0]并平移到位置0: 第二步,x[n]乘以y[1]并平移到位置1 第三步,x[n]乘以y[2]并平移到位置2: 最后,把上面三个图叠加,就得到了x[n] * y[n]: 简单吧?无非是平移(没有反褶!)、叠加。 从这里,可以看到卷积的重要的物理意义是:一个函数(如:单位响应)在另一个函数(如:输入信号)上的加权叠加。 重复一遍,这就是卷积的意义:加权叠加。 对于线性时不变系统,如果知道该系统的单位响应,那么将单位响应和输入信号求卷积,就相当于把输入信号的各个时间点的单位响应 加权叠加,就直接得到了输出信号。 通俗的说: