正则化

sklearn逻辑回归(Logistic Regression,LR)调参指南

本秂侑毒 提交于 2019-12-03 06:43:09
python信用评分卡建模(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share sklearn逻辑回归官网调参指南 https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html sklearn.linear_model .LogisticRegression class sklearn.linear_model. LogisticRegression ( penalty=’l2’ , dual=False , tol=0.0001 , C=1.0 , fit_intercept=True , intercept_scaling=1 , class_weight=None , random_state=None , solver=’warn’ , max_iter=100 , multi_class=’warn’ , verbose=0 , warm_start=False , n_jobs=None , l1

半监督学习(五)——半监督支持向量机

本秂侑毒 提交于 2019-12-03 03:41:59
半监督支持向量机( S3VMs)   今天我们主要介绍SVM分类器以及它的半监督形式S3VM,到这里我们关于半监督学习基础算法的介绍暂时告一段落了。之后小编还会以论文分享的形式介绍一些比较新的半监督学习算法。让我们开始今天的学习吧~ 引入   支持向量机( SVM)相信大家并不陌生吧?但是如果数据集中有大量无标签数据(如下图b),那么决策边界应该如何去确定呢?仅使用有标签数据学得的决策边界(如下图a)将穿过密集的无标签数据,如果我们假定两个类是完全分开的,那么该决策边界并不是我们想要的,我们希望的决策边界是下图(b)中的黑色实线。   新的决策边界可以很好地将无标签数据分成两类,而且也正确地分类了有标签数据(虽然它到最近的有标签数据的距离比 SVM小)。 支持向量机 SVM   首先我们来讨论 SVMs,为我们接下来要介绍的S3VMs算法做铺垫。为了简单起见,我们讨论二分类问题,即y{-1,1},特征空间为 并定义决策边界如下 其中 w是决定决策边界方向和尺度的参数向量,b是偏移量。举个例子, ,b=-1,决策边界就如下图蓝色线所示,决策边界总是垂直于w向量。   我们的模型为 , 决策边界是 f(x)=0,我们通过sign(f(x))来预测x的标签,我们感兴趣的是实例x到决策边界的距离,该距离的绝对值为, 比如原点 x=(0,0)到决策边界的距离为 ,如上图中的绿色实线

L0、L1、L2范数正则化

微笑、不失礼 提交于 2019-12-03 02:27:54
一、范数的概念 向量范数是定义了向量的类似于长度的性质,满足正定,齐次,三角不等式的关系就称作范数。 一般分为L0、L1、L2与L_infinity范数。 二、范数正则化背景 1. 监督机器学习问题无非就是“minimizeyour error while regularizing your parameters”,也就是在规则化参数的同时最小化误差。最小化误差是为了让我们的模型拟合我们的训练数据,而规则化参数是防止我们的模型过分拟合我们的训练数据。 2 .  因为参数太多,会导致我们的模型复杂度上升,容易过拟合,也就是我们的训练误差会很小。但训练误差小并不是我们的最终目标,我们的目标是希望模型的测试误差小,也就是能准确的预测新的样本。所以,我们需要保证模型“简单”的基础上最小化训练误差,这样得到的参数才具有好的泛化性能(也就是测试误差也小),而模型“简单”就是通过规则函数来实现的。另外,规则项的使用还可以约束我们的模型的特性 。 这样就可以将人对这个模型的先验知识融入到模型的学习当中,强行地让学习到的模型具有人想要的特性,例如稀疏、低秩、平滑等等。要知道,有时候人的先验是非常重要的。前人的经验会让你少走很多弯路,这就是为什么我们平时学习最好找个大牛带带的原因。一句点拨可以为我们拨开眼前乌云,还我们一片晴空万里,醍醐灌顶。对机器学习也是一样,如果被我们人稍微点拨一下

半监督学习(四)——基于图的半监督学习

浪子不回头ぞ 提交于 2019-12-03 01:33:49
基于图的半监督学习 以一个无标签数据的例子作为垫脚石 Alice 正在翻阅一本《 Sky and Earth 》的杂志,里面是关于天文学和旅行的文章。 Alice 不会英文,她只能通过文章中的图片来猜测文章的类别。比如第一个故事是“ Bridge Asteroid ”有一张多坑的小行星图片,那么它很明显是天文学类别的。第二个故事是“ Yellowstone Camping ”有张灰熊的图片,那么将它分类到旅行类别。但是其它文章没有图片, Alice 不能给它们分类。 Alice 是一个聪明的人,她注意到其他文章的标题 “Asteroid and Comet,” “Comet Light Curve,” “Camping in Denali,” and “Denali Airport.”她猜测如果两个文章的标题中有相同的单词,它们可能是一个类的,然后他就画出这样一幅图: 这其实就是基于图的半监督学习的一个例子。 图的概念 我们首先来看看如何从训练数据中构建出图,给定半监督数据集 , 每个数据样本(有标签 & 无标签)是图上的一个顶点,显然,图会非常大,因为无标签数据很多,一旦图构建完成,学习的过程就包括给图中的每一个定点设置标签 y 值。在图中可以通过边将有标签和无标签数据点相连,边通常是无向的,表示的是两个节点(样本)之间的相似性。将边权重记作 wij , wij 越大, xi 和

xgboost 参数调优指南

匿名 (未验证) 提交于 2019-12-03 00:39:02
XGBoost算法可以给预测模型带来能力的提升。当我对它的表现有更多了解的时候,当我对它的高准确率背后的原理有更多了解的时候,我发现它具有很多优势: 标准GBDT 的实现没有像XGBoost这样的正则化步骤。正则化对减少过拟合也是有帮助的。 实际上,XGBoost以“正则化提升(regularized boosting)”技术而闻名。 XGBoost可以实现并行处理,相比GBDT有了速度的飞跃。 不过,众所周知,Boosting算法是顺序处理的,它怎么可能并行呢?每一课树的构造都依赖于前一棵树,那具体是什么让我们能用多核处理器去构造一个树呢?其实 XGBoost并行指代的是更低粒度的并行,是在特征层面的并行。 XGBoost 也支持Hadoop实现。 XGBoost 允许用户定义自定义优化目标和评价标准 它对模型增加了一个全新的维度,所以我们的处理不会受到任何限制。 XGBoost内置处理缺失值的规则。 用户需要提供一个和其它样本不同的值,然后把它作为一个参数传进去,以此来作为缺失值的取值。XGBoost在不同节点遇到缺失值时采用不同的处理方法,并且会学习未来遇到缺失值时的处理方法。 当分裂时遇到一个负损失时,GBM会停止分裂。因此GBM实际上是一个贪心算法。 XGBoost会一直分裂到指定的最大深度(max_depth),然后回过头来剪枝。如果某个节点之后不再有正值

吴恩达:深度学习作业2相关

匿名 (未验证) 提交于 2019-12-03 00:39:02
深度学习小知识点:( 欠拟合与过拟合 ) 1.出现欠拟合应该怎样解决:(欠拟合就是模型没能很好的捕捉到数据的特征,不能很好地拟合数据) 欠拟合的情况如图所示: a.增加特征项,出现欠拟合的原因一般是特征项不够造成的,只有增加更多的特征,网络才能学习到数据中更多的信息,一般的可以描述特征的包括“上下文特征”,“位置特征”等一些其它的特征。在日常的工作中,可以从其它的任务那得到灵感,模仿其它的工作中所用的特征项,然后把这个特征项用在自己的任务中,说不定会有提升。 b.添加多项式特征。例如上图,此时拟合的函数是一个一次的函数,我们可以添加一个二次项和一个三次项,使拟合曲线变为下图所示的这样,提升模型的泛化能力。 c.减少正则化参数。因为一般防止过拟合就会增加正则化参数。所以现在欠拟合就应该减少正则化参数。 2.出现过拟合应该怎样解决:(过拟合是指模型为了把训练集中的数据每个都划分正确,学习到了噪声数据的特征。) 过拟合的情况如图所示: a.清洗数据。造成过拟合的原因有可能是训练数据中混入了噪声数据,所以对数据进行重新清洗,可能会缓解过拟合的现象。 b.增大数据的训练量。过拟合很可能是由于数据数量过少造成的,难以学到有用的特征,反而学到了噪声数据的特征,所以可能增大数据量。 c.采用正则化。正则化方法包括L0,L1,L2正则化,L2正则化又被称为权值衰减(weight_decay)

ML(附录3)――过拟合与欠拟合

匿名 (未验证) 提交于 2019-12-03 00:37:01
过拟合与欠拟合   我们希望机器学习得到好的模型,该模型能够从训练样本中找到一个能够适应潜在样本的普遍规律。然而,如果机器学习学的“太好”了,以至把样本的自身特点当作潜在样本的一般特性,这就使得模型的泛化能力(潜在样本的预测能力)下降,从而导致过拟合。反之,欠拟合就是学习的“太差”,连训练样本都没有学好。   欠拟合容易处理,比如在决策树中扩展分支,在神经网络中增加训练轮数,需要重点关注的是麻烦的过拟合。   当训练数据很少时,如果使用了过多的特征,将会导致过拟合:   图三是一个明显的过拟合,它使用了高阶多项式增加一些特新特征,得到的复杂曲线将样本学些的“太好”了,以至失去了泛化性。 正则化   如果发生了过拟合问题,可以通过作图来观察,但是当遇到很多变量时,画图将变得困难,此时我们应该如何处理?   一种常用的办法是减少变量的选取,比如对于房价的预测,影响房价的特征可能有上百个,但其中的某些特征对结果的影响很小,例如邻居的收入,此时就可以去掉这些影响较小的变量。这类做法非常有效,但是其缺点是当你舍弃一部分特征变量时,你也舍弃了问题中的一些信息。也许所有的特征对于预测房价都是有用的,我们实际上并不想舍弃一些特征。   另一种方法就是正则化,特允许我们保留所有的特征变量。   当我们有很多特征变量时,其中每一个变量都能对预测产生一点影响,在下图中,如果用一个二次函数来拟合这些数据

深度学习剖根问底:梯度消失以及爆炸

匿名 (未验证) 提交于 2019-12-03 00:36:02
转载自:https://blog.csdn.net/qq_25737169/article/details/78847691 前言 其中,梯度消失爆炸的解决方案主要包括以下几个部分。 - 预训练加微调 - 梯度剪切、权重正则(针对梯度爆炸) - 使用不同的激活函数 - 使用batchnorm - 使用残差结构 - 使用LSTM网络 第一部分:为什么要使用梯度更新规则 我们最终的目的是希望这个多元函数可以很好的完成输入到输出之间的映射,假设不同的输入,输出的最优解是 取得极小值点,比如最简单的损失函数 第二部分:梯度消失、爆炸 梯度消失与梯度爆炸其实是一种情况,看接下来的文章就知道了。两种情况下梯度消失经常出现,一是在 深层网络 中,二是采用了 不合适的损失函数 ,比如sigmoid。梯度爆炸一般出现在深层网络和 权值初始化值太大 的情况下,下面分别从这两个角度分析梯度消失和爆炸的原因。 1.深层网络角度 图中的曲线表示权值更新的速度,对于下图两个隐层的网络来说,已经可以发现隐藏层2的权值更新速度要比隐藏层1更新的速度慢 那么对于四个隐层的网络来说,就更明显了,第四隐藏层比第一隐藏层的更新速度慢了两个数量级: 总结: 从深层网络角度来讲,不同的层学习的速度差异很大,表现为网络中靠近输出的层学习的情况很好,靠近输入的层学习的很慢,有时甚至训练了很久

机器学习实战(用Scikit-learn和TensorFlow进行机器学习)(五)

匿名 (未验证) 提交于 2019-12-03 00:30:01
上几节讲述了真实数据集在回归问题以及分类问题上的总流程,但是对于模型的选择及参数的选择仍然一知半解,因此本节开始讲述关于模型的一些知识,本节会略过一些比较基础的知识,将一些较为深入的知识。如果在哪个方面没有看懂,可以在网上查询,网上基础资料也比较多,也可以在下方评论。 五、训练模型 1、线性模型 线性模型形如: y = θ 0 + θ 1 x 1 + θ 2 x 2 + θ n x n 为了得到使均方误差最小的 θ θ ,一般采用两种方法: Normal Equation 使用数学方法推导能直接求得参数 θ θ 的方法为Normal Equation。而对于线性模型,数学方法为:最小二乘法。 通过最小二乘法能直接得到线性模型: θ ^ = ( X T X ) 1 X T y 对应的Scikit-learn中的函数为LinearRegression,下面是一个例子y=4*x+3 import numpy as np X = 2 * np .random .rand ( 100 , 1 ) y = 4 + 3 * X + np .random .randn ( 100 , 1 ) from sklearn .linear _model import LinearRegression lin_reg = LinearRegression() lin_reg .fit ( X , y )

深度学习理论――目标函数&正则化

匿名 (未验证) 提交于 2019-12-03 00:26:01
大家好,继续理论学习,网络的设置接近了尾声,本次学习目标函数和正则化。 1.目标函数 (1)分类问题中的目标函数 这类问题中最常用的就是交叉熵函数了,也即softmax。假设共有N个训练样本,针对网络最后分类层第i个样本的输入特征为xi,其对应的真实标记为yi,hi为其网络对应的最终输出,C为分类任务的类别数。有了如上定义,其形式可写为: (2)回归问题中的目标函数 在分类任务中,最后的样本真实标记实际上是一条一维向量,仅在yi处标记为1其余地方均为0。但回归问题的输出就不一样了,也是一条一维向量,但其每一个元素都为实数,而不是仅为二值。 首先介绍残差的概念:即xi真实值和预测值的差 则回归常用的l1,l2目标函数定义如下:(M为标记向量总维度) 2.正则化 我们通常使用正则化来减小过拟合。 (1)l2正则化 l2正则化在深度学习中也叫权重衰减,就是通过对网络中权重w的正则来控制拟合程度。假设待正则的网络参数为w,则其表达式为: 其中λ用于控制正则项大小,λ越大对模型复杂度的约束就越大。 (2)l1正则化 l1除了和l2一样约束参数量级以外,还可以使参数更加稀疏,能够更好地去噪。 (3)dropout dropout可以使网络中节点随机失活,降低参数对网络的依赖,有效抑制过拟合。 简单介绍就是这样,我们下期见! 文章来源: 深度学习理论――目标函数&正则化