lasso

正则化线性模型和线性回归的改进—岭回归

僤鯓⒐⒋嵵緔 提交于 2019-12-12 03:14:45
九、正则化线性模型 Ridge Regression 岭回归 Lasso 回归 Elastic Net 弹性网络 Early stopping 1.Ridge Regression(岭回归) 岭回归是线性回归的正则化版本,即在原来的线性回归的cost function中添加正则项: 以达到在拟合数据的同时,使模型权重尽可能小的目的,岭回归代价函数: a=0:岭回归退化为线性回归 2.Lasso Regression(Lasso 回归) Lasso 回归是线性回归的另一种正则化版本,正则项为权值向量 ℓ1范数。 Lasso 回归的代价函数: 【注意】: Lasso Regression的代价函数在 θi=0处是不可导的. 解决方法:在 θi=0处用一个次梯度向量代替梯度,如下 Lasso Regression的次梯度向量 Lasso Regression有一个重要的型值是:倾向于完全消除不重要的权重 例如:当a取值相对较大的时,高阶多项式退化为二次甚至是线性:高阶多项式特征的权重被置为0. 也就是说,Lasso Regression能够自动进行特征选择,并输出一个稀疏模型(只有少数特征的权重是非零的)。 3.Elastic Net(弹性网络) 弹性网络在岭回归和Lasso回归中进行了折中,通过 混合比(mix ratio) r 进行控制: r=0:弹性网络变为岭回归 r=1

sklearn机器学习算法--线性模型

喜欢而已 提交于 2019-12-10 17:11:54
线性模型 用于回归的线性模型 线性回归(普通最小二乘法) 岭回归 lasso 用于分类的线性模型 用于多分类的线性模型 1、线性回归 LinearRegression,模型简单,不同调节参数 #2、导入线性回归模型 from sklearn.linear_model import LinearRegression #3、实例化线性回归模型对象 lr = LinearRegression() #4、对训练集进行训练 lr.fit(X_train,y_train) #“斜率”参数(w,也叫作权重或系数)被保存在coef_ 属性中,而偏移或截距(b)被保存在intercept_ 属性中: print('lr.coef_:{}'.format(lr.coef_)) print('lr.intercept_:{}'.format(lr.intercept_)) View Code 2、岭回归 Ridge,调节参数alpha,默认使用L2正则化,alpha越大模型得到的系数就更接近于0,减少alpha可以让系数受到的约束减小。 #导入岭回归模型 from sklearn.linear_model import Ridge #实例化岭回归模型对象并对训练集进行训练 ridge = Ridge().fit(X_train,y_train) #查看模型在训练集和测试集上的精确度 print(

高维统计学习笔记1——LASSO和Oracle性质

跟風遠走 提交于 2019-12-08 15:51:49
高维统计学习笔记1——LASSO和Oracle性质 主要参考资料:Sara Van De Geer《Estimation and Testing Under Sparsity》 前言 当年Tibshirani提出LASSO的时候,未曾想到LASSO竟然成为了高维统计中一个非常重要的工具,这其中当然有一部分要归功于苏黎世联邦理工大学的美女教授Sara van de geer对LASSO理论的贡献。废话少说,开始学习。 1.高维统计的重要工具——极小化正则风险 当数据特征的数量 p p p 远大于我们所观测的样本量 n n n 时,我们称数据是高维的,如果把总体的特征看作参数 β \beta β ,对参数进行估计和检验的一个有效方法是极小化正则风险。 Notation 损失函数 R : B → R , B ⊂ R p R:\mathcal{B}\rightarrow R, \mathcal{B}\subset\mathbb{R}^p R : B → R , B ⊂ R p . 目标参数 β 0 = arg ⁡ min ⁡ β ∈ B R ( β ) \beta^0=\arg\min_{\beta\in\mathcal{B}}R(\beta) β 0 = ar g min β ∈ B ​ R ( β ) . 经验损失函数 R n : B → R R_n:\mathcal{B}

机器学习之监督学习supervised learning

前提是你 提交于 2019-12-06 16:36:06
分类与回归 监督学习的问题主要有两种,分别是分类classification和回归regression。 分类: 分类问题的目的是预测类别标签class label,这些标签来自预定义的可选列表。 回归: 回归任务的目的是预测一个连续值,也叫作浮点数floating-point number,即预测值不是一个类别而是一个数字值。打个比方,假如要根据一个人的年龄学历等feature来预测这个人的收入,那么预测值为一个金额,可以在给定范围内任意取值。 区分分类与回归: 最好的办法就是看输出是否具有某种连续性,如果在可能的结果之间具有连续性,那么它就是一个回归问题。 泛化 generalize: 如果一个模型能对没有见过的数据做出准确的预测,那么就表明这个模型能从训练集generalize到测试集。 过拟合 overfitting 欠拟合 underfitting: 如果我们总想找到最简单的模型,构建与一个对于现有信息量过于复杂的模型,即在拟合模型的时候过分关注训练集的细节,得到了一个与训练集上表现很好但是不能泛化到新数据上的模型,那么就是overfitting过拟合。 反之 ,如果模型过于简单,无法抓住数据的全部内容以及数据中的变化,甚至在训练集上表现就很差,那么就是underfitting欠拟合。 所以 ,在二者之间存在一个最佳位置,找到这个位置就是我们最想要的模型。 监督学习算法

高维数据Lasso思路

蓝咒 提交于 2019-12-05 16:34:52
海量数据的特征工程中, 如果数据特征维度达到几千乃至上万 常规的lasso很容易失效 这里介绍几种泛义lasso,是在实际数据处理中常用的 迭代与分块思路/分组的使用(有兴趣的同学可自行实践一下) 1. 迭代lasso 2. 分组/聚类lasso 3. 分组与降维结合lasso 另外在<<高维数据统计方法、理论与应用>> 一书中介绍了很多lasso方法,其中有广义group lasso的方法也很值得借鉴 来源: https://www.cnblogs.com/kdyi/p/11933483.html

Lasso error in glmnet NA/NaN/Inf

匿名 (未验证) 提交于 2019-12-03 00:46:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm having an issue with glmnet in that I keep getting the error message "Error in elnet(x, is.sparse, ix, jx, y, weights, offset, type.gaussian, : NA/NaN/Inf in foreign function call (arg 5) In addition: Warning message: In elnet(x, is.sparse, ix, jx, y, weights, offset, type.gaussian, : NAs introduced by coercion" Below I can replicate the error with the 'iris' data set, but here is the simplified code for my particular data: vars <- as.matrix(ind.vars) lasso <- glmnet(vars, y=cup98$TARGET_D, alpha=1) Here is something you can easily

图Lasso求逆协方差矩阵(Graphical Lasso for inverse covariance matrix)

丶灬走出姿态 提交于 2019-12-01 13:17:10
图Lasso求逆协方差矩阵(Graphical Lasso for inverse covariance matrix) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. 图Lasso方法的基本理论 2. 坐标下降算法 3. 图Lasso算法 4. MATLAB程序 数据见参考文献 [2] 4.1 demo.m load SP500 data = normlization(data); S = cov(data); %数据协方差 [X, W] = glasso_1(double(S), 0.5); %X:sigma^(-1), W:sigma [~, idx] = sort(info(:,3)); colormap gray imagesc(X(idx, idx) == 0) axis off %% Data Normalization function data = normlization(data) data = bsxfun(@minus, data, mean(data)); data = bsxfun(@rdivide, data, std(data)); end 4.2 glasso_1.m function [X, W] = glasso_1(S, lambda) %% Graphical Lasso -

论文笔记·优化:Regression Shrinkage and Selection via the Lasso

霸气de小男生 提交于 2019-11-30 18:15:25
SUMMARY • LASSO在系数绝对值之和小于某个常数的情况下,使残差平方和最小。往往使一些系数精确的等于0,所以给出了具有解释力的模型; • LASSO具有一些子集选择和岭回归的优点。像子集选择一样,它可以得到具有解释力的模型;想岭回归一样,它具有稳定性。 INTRODUCTION • 普通最小二乘(OLS)估计通过最小化残差平方和获得。OLS估计的局限性是: (1)预测精度:OLS估计具有低偏差(拟合训练集的误差低)和高方差(模型的泛化能力弱),通过收缩(shrinking)方法或令某些系数为0可使预测能力提高,即牺牲一些偏差来降低方差; (2)解释能力:当解释变量非常多时,往往选出其中一小部分对响应值进行最有效的解释。 • 岭回归(Ridge Regression): 避免 不可逆的情况,并且相对于OLS,w向原点压缩,但不会出现某一系数为0的稀疏解的情况。 • OLS估计的两种改进: (1)子集选择 Cons:通过筛选变量增加了模型的解释能力; Pron:模型不稳健。因为选择变量是一个离散的过程,变量要么保留要么舍弃,数据的微小变动会导致模型很大的不同,降低预测的准确性。 (2)岭回归 Cons:是一个连续的、收缩系数的过程,因此较为稳定; Pron:不能精确地把系数收缩到0,所以不容易给出解释力强的模型。 • LASSO( Least Absolute

数据挖掘相关算法

人走茶凉 提交于 2019-11-29 20:54:29
数据挖掘算法总结 1.分类算法 所谓分类,简单来说,就是根据文本的特征或属性,划分到已有的类别中。常用的分类算法包括:决策树分类法,朴素的贝叶斯分类算法(native Bayesian classifier)、基于支持向量机(SVM)的分类器,神经网络法,k-最近邻法(k-nearest neighbor,kNN),模糊分类法等等 决策树分类法 机器学习中决策树是一个预测模型,它表示对象属性和对象值之间的一种映射,树中的每一个节点表示对象属性的判断条件,其分支表示符合节点条件的对象。树的叶子节点表示对象所属的预测结果。 朴素的贝叶斯分类算法(native Bayesian classifier) 举例说明,我们想计算含有单词drugs的邮件为垃圾邮件的概率。 在这里,A为“这是封垃圾邮件”。我们先来计算P(A),它也被称为先验概率,计算方法是,统计训练中的垃圾邮件的比例,如果我们的数据集每100封邮件有30封垃圾邮件,P(A)为30/100=0.3。 B表示“该封邮件含有单词drugs”。类似地,我们可以通过计算数据集中含有单词drugs的邮件数P(B)。如果每100封邮件有10封包含有drugs,那么P(B)就为10/100=0.1。 P(B|A)指的是垃圾邮件中含有的单词drugs的概率,计算起来也很容易,如果30封邮件中有6封含有drugs,那么P(B|A)的概率为6/30

热门数据挖掘模型应用入门(一): LASSO回归

喜夏-厌秋 提交于 2019-11-28 11:46:52
热门数据挖掘模型应用入门(一): LASSO回归 2016-10-10 20:46 作者简介: 侯澄钧,毕业于俄亥俄州立大学运筹学博士项目, 目前在美国从事个人保险产品(Personal Line)相关的数据分析,统计建模,产品算法优化方面的工作。 目录: 模型简介 线性回归 Logistic回归 Elstic Net模型家族简介 学习资料 1.模型简介 Kaggle网站 (https://www.kaggle.com/ )成立于2010年,是当下最流行的进行数据发掘和预测模型竞赛的在线平台。 与Kaggle合作的公司可以在网站上提出一个问题或者目标,同时提供相关数据,来自世界各地的计算机科学家、统计学家和建模爱好者,将受领任务,通过比较模型的某些性能参数,角逐出优胜者。 通过大量的比赛,一系列优秀的数据挖掘模型脱颖而出,受到广大建模者的认同,被普遍应用在各个领域。 在保险行业中用于拟合广义线性模型的LASSO回归就是其中之一。 LASSO回归的特点是在拟合广义线性模型的同时进行变量筛选(Variable Selection)和复杂度调整(Regularization)。 因此,不论目标因变量(dependent/response varaible)是连续的(continuous),还是二元或者多元离散的(discrete), 都可以用LASSO回归建模然后预测。