岭回归

机器学习小白学习笔记---day3---线性模型(岭回归、lasso、线性模型【svm、logistic回归】)

ⅰ亾dé卋堺 提交于 2020-02-05 23:49:22
机器学习小白学习笔记之scikit-learn 最近刚把西瓜书啃完,一大堆理论让脑子真的是一团浆糊,说实话看的基本只有一个概念哈哈哈,效果不高,但是让我对与机器学习真的是整体有了一个大的了解,但是并没能将每个课后作业都完成,甚至很多公式推导也没实现,太难了,让我着手于实践,古人云实践出真知,又拿起了另一本书《Introduce to Mashine Learning with python》 昨天上一节,学习完了knn分类回归,这一节继续往下学,自然而然地学到线性模型,线性模型在实际运用中还是相当广泛的。 用于回归的线性模型: 单一特征的预测结果是一条直线,双特征是一个平面,而高维度的则是一个超平面。 我们继续来看最常见的线性回归模型: 线性回归(普通最小二乘法) 线性回归寻找最佳的参数w(斜率、权重、系数),和b(截距),使得对训练集的预测值与真hide回归目标值y之间的均方误差最小。 在高位数据集中,线性模型将体现的更加强大,但同时会产生过拟合风险,根据书本,通过波士顿房价数据集进行预测。 我们会发现一个情况: 测试集的分数远远低于训练集的分数,显而易见就是产生了过拟合,所以我们应该找到一个可以控制复杂度的模型,标准线性回归最常用的替代方法之一就是 岭回归 。 岭回归 其实预测方法和最小二乘法相同,但是做了一下正则化(附带上拟合约束,希望系数尽可能小

【机器学习 线性模型】10分钟了解下6种常见的线性模型

拈花ヽ惹草 提交于 2020-02-05 06:39:10
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。 人工智能教程 在目前的机器学习领域中,最常见的三种任务就是:回归分析、分类分析、聚类分析。那么什么是回归呢?回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。回归分析在机器学习领域应用非常广泛,例如,商品的销量预测问题,交通流量预测问题。下面介绍几种常见的线性回归模型。 常用的线性回归算法 1、线性回归 线性回归拟合一个带系数的线性模型,以最小化数据中的观测值与线性预测值之间的残差平方和。 #加载线性模型算法库 from sklearn import linear_model # 创建线性回归模型的对象 regr = linear_model . LinearRegression ( ) # 利用训练集训练线性模型 regr . fit ( X_train , y_train ) # 使用测试集做预测 y_pred = regr . predict ( X_test ) 2、岭回归 上述的线性回归算法使用最小二乘法优化各个系数,对于岭回归来说,岭回归通过对系数进行惩罚(L2范式)来解决普通最小二乘法的一些问题,例如,当特征之间完全共线性(有解)或者说特征之间高度相关

线性模型正则化

寵の児 提交于 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(

岭回归算法

笑着哭i 提交于 2019-12-21 09:51:55
岭回归算法简介 回归算法的本质上就是为了解决一个线性方程: Ax = b 标准估计方法是普通的最小二法的线性回归,然而如果x是一个病态的矩阵,在这种情况下使用普通最小二法估计会导致过拟合或者欠拟合的情况。此外,岭回归还可以处理矩阵阵列的多重共线性问题。 通常最小二乘法寻求的是最小花平方残差的综合,公式: 在岭回归中,在这种最小化中加入正则化项: 其中Г是Tikhonov matrix矩阵,在许多情况下,这个矩阵被选为单位矩阵的倍数,Г=αI(注意:此处考虑的是具有较小范数的解决方案,不是较小系数,这里的系数指的是“回归系数”) 岭回归性质 1)岭回归与OLS的关系: 由于岭回归与OLS相差无几,这里就不在详细赘述了,直接上代码。 #实现岭回归的函数 def ridge_regression(array_x,array_y,lambda_1): #创建设计矩阵 X = np.column_stack((np.ones(array_x[0]),array_x)) #计算上面公式中A.TA+lambda 单位矩阵I alpha_vector = np.dot(X.T,X)+lambda_1 np.identity(X.shape[0]) #行列式判断A.TA是否可逆 if np.abs(linalg.det(alpha_vector))-0.0 < 10*-14: #如果不可逆

r语言中对LASSO,Ridge岭回归和Elastic Net模型实现

微笑、不失礼 提交于 2019-12-14 22:21:54
原文链接: http://tecdat.cn/?p=3795 介绍 Glmnet是一个通过惩罚最大似然来拟合广义线性模型的包。正则化路径是针对正则化参数λ的值网格处的套索或弹性网络罚值计算的。该算法速度极快,可以利用输入矩阵中的稀疏性x。它符合线性,逻辑和多项式,泊松和Cox回归模型。可以从拟合模型中做出各种预测。它也可以适合多响应线性回归。 glmnet算法采用循环坐标下降法,它连续优化每个参数上的目标函数并与其他参数固定,并反复循环直至收敛。该软件包还利用强大的规则来有效地限制活动集。由于高效的更新和技术,如热启动和主动集合收敛,我们的算法可以非常快地计算解决方案路径。 该代码可以处理稀疏的输入矩阵格式,以及系数的范围约束。其核心glmnet是一组Fortran子程序,它们使执行速度非常快。 该软件包还包括用于预测和绘图的方法以及执行K倍交叉验证的功能。 首先,我们加载glmnet包: library(glmnet) ## Loading required package: Matrix## Loaded glmnet 1.9-9 包中使用的默认模型是高斯线性模型或“最小二乘”,我们将在本节中演示。我们加载一组预先创建的数据用于说明。用户可以加载自己的数据,也可以使用保存在工作区中的数据。 load("QuickStartExample.RData")

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

僤鯓⒐⒋嵵緔 提交于 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

A-岭回归的python'实现

送分小仙女□ 提交于 2019-12-05 05:31:59
虽然在线性回归的求解过程中,通过借助最⼩⼆乘法能够迅速找到全域最优解,但最⼩⼆乘法本身的使⽤条件较为苛刻,必须要求当 为满秩矩阵或正定阵时才可进⾏逆矩阵或⼴义逆矩阵的求解, 在实际应⽤中经常会遇⻅矩阵不存在逆矩阵或⼴义逆矩阵的情况,并且当X的各列存在线性相关关系 (即多重共线性)的时候,最⼩⼆乘法的求解结果不为⼀,这⾥需要注意的是,在进⾏数据采集过程 中,数据集各列是对同⼀个客观事物进⾏描述,很难避免多重共线性的存在,因此存在共线性是很多 数据集的⼀般情况。当然更为极端的情况则是数据集的列⽐⾏多,此时最⼩⼆乘法⽆法对其进⾏求 解。 总的来说,解决共线性的问题的⽅法主要有以下几种: 其⼀是在建模之前对各特征进⾏相关性检验,若存在多重共线性,则可考虑进⼀步对数据集进⾏ SVD分解或PCA主成分分析,在SVD或PCA执⾏的过程中会对数据集进⾏正交变换,最终所得数 据集各列将不存在任何相关性。当然此举会对数据集的结构进⾏改变,且各列特征变得不可解 释。 其⼆则是采⽤逐步回归的⽅法,以此选取对因变量解释⼒度最强的⾃变量,同时对于存在相关性 的⾃变量加上⼀个惩罚因⼦,削弱其对因变量的解释⼒度,当然该⽅法不能完全避免多重共线性 的存在,但能够绕过最⼩⼆乘法对公线性较为敏感的缺陷,构建线性回归模型; 其三则是在原有的算法基础上进⾏修改,放弃对线性⽅程参数⽆偏估计的苛刻条件,使其能够容

sklearn之岭回归

匿名 (未验证) 提交于 2019-12-02 23:48:02
''' 岭回归: 普通线性回归模型使用基于梯度下降的最小二乘法,在最小化损失函数的前提下,寻找最优模型参数, 在此过程中,包括少数异常样本在内的全部训练数据都会对最终模型参数造成程度相等的影响, 异常值对模型所带来影响无法在训练过程中被识别出来。为此,岭回归在模型迭代过程所依据的损失函数中增加了正则项, 以限制模型参数对异常样本的匹配程度,进而提高模型面对多数正常样本的拟合精度。 岭回归的目的: 1>普通线性回归无法识别或者避免异常样本对模型参数的影响,导致在预测时效果查(预测结果偏向于异常样本),岭回归可以通过正则强度的设置 来减少异常样本对模型参数的影响,从而使得预测结果更偏向于正常样本,提高了模型拟合精度。 2>加入正则项后,其R2得分肯定会低于普通线性回归,原因:普通线性回归考虑的是全部样本损失函数最小值,而岭回归就是为了避免异常值对预测的影响 从而刻意减少异常样本在计算中的权重,进而导致其损失函数最小值是大于普通线性回归的损失函数最小值。 相关API: import sklearn.linear_model as lm # 创建模型 model = lm.Ridge(正则强度,fit_intercept=是否训练截距, max_iter=最大迭代次数) # 训练模型 # 输入:为一个二维数组表示的样本矩阵 # 输出:为每个样本最终的结果 model.fit(输入, 输出)

论文笔记·优化: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

岭回归、lasso

夙愿已清 提交于 2019-11-28 11:45:50
参考:https://blog.csdn.net/Byron309/article/details/77716127 ---- https://blog.csdn.net/xbinworld/article/details/44276389 参考:https://blog.csdn.net/bitcarmanlee/article/details/51589143 1、首先介绍线性回归模型(多元)原理,模型可以表示为: 损失函数可以表示为: 这里的 1/2m 主要还是出于方便计算的考虑,在求解最小二乘的时并不考虑在内; 最小二乘法可得到最优解: 监督学习 有2大基本策略,经验风险最小化和结构风险最小化; 经验风险最小化策略为求解最优化问题, 线性回归中的求解损失函数最小化 问题即经验风险最小化,经验风险最小化定义: 求解最优化问题可以转化为: 结构化风险最小化是为了防止过拟合现象提出的策略;结构风险最小化等价于正则化,在经验风险上加上表示模型复杂度的正则化项,定义如下: 这里讨论的岭回归和Lasso,也就是结构风险最小化的思想,在线性回归的基础上,加上模型复杂度的约束。 其中几种范数(norm)的定义如下: 岭回归的损失函数表示: 观察这条式子很容易的可以联想到正则化项为L2范数,也即L2范数+损失函数其实也可以称为岭回归; 最小二乘求解参数: Lasso的损失函数表示: