回归分析(线性回归、逻辑回归、多项式回归、岭回归、Lasso回归).pdf_第1页
回归分析(线性回归、逻辑回归、多项式回归、岭回归、Lasso回归).pdf_第2页
回归分析(线性回归、逻辑回归、多项式回归、岭回归、Lasso回归).pdf_第3页
回归分析(线性回归、逻辑回归、多项式回归、岭回归、Lasso回归).pdf_第4页
回归分析(线性回归、逻辑回归、多项式回归、岭回归、Lasso回归).pdf_第5页
已阅读5页,还剩102页未读 继续免费阅读

回归分析(线性回归、逻辑回归、多项式回归、岭回归、Lasso回归).pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

School of Information and Mathematics 回归学习回归学习 2 of 36 内容概要 1 线性回归 2 多元线性回归 3 代价函数 4 逻辑回归 3 of 36 回归学习 回归属于有监督学习中的一种方法 该方法 的核心思想是从连续型统计数据中得到数学 模型 然后将该数学模型用于预测或者分类 该方法处理的数据可以是多维的 回归是由达尔文的表兄弟Francis Galton发明的 Galton于1877年完成了第一 次回归预测 目的是根据上一代豌豆的种子 双亲 的尺寸来预测下一代豌豆 种子 孩子 的尺寸 身高 Galton在大量对象上应用了回归分析 甚至包 括人的身高 他得到的结论是 如果双亲的高度比平均高度高 他们的子女也 倾向于平均身高但尚不及双亲 这里就可以表述为 孩子的身高向着平均身高 回归 Galton在多项研究上都注意到了这一点 并将此研究方法称为回归 4 of 36 线性回归介绍 例子 假如你刚刚搬到学校 需要知道在你学校周围的房价 设计 一个数据回归程序 距 离 学 校 的 距距 离 学 校 的 距 离离 卧 室 数 目卧 室 数 目 房 租房 租 2 30km 1 1600 5 06km 2 2000 4 33km 2 2100 1 09km 1 1500 1 50km 1 2 70km 1 5 5 of 36 例子 假如你刚刚搬到学校 需要知道在你学校周围的房价 设 计一个数据回归程序 距离距离 房房 租租 1 0 距离距离 房间房间 房房 租租 线性回归介绍 6 of 36 回归学习 问题引入问题引入 面积 m 2 销售价钱 万元 123 250 150 320 87 160 102 220 假设有一个房屋销售的数据如下 如果来了一个新的面积 假设在销售价钱的 记录中没有的 怎么处理 解决方法 用一条曲线去尽量准的拟合这些 数据 然后如果有新的输入过来 我们可以 在将曲线上这个点对应的值返回 如果用一 条直线去拟合 可能是下面的样子 7 of 36 回归学习 常用概念和符号 房屋销售记录表 房屋销售记录表 训练集 training set 或者训练数据 training data 是我们流程中的输入数据 一般称为x 房屋销售价钱房屋销售价钱 输出数据 一般称为y 拟合的函数 或者称为假设或者模型 拟合的函数 或者称为假设或者模型 一般写做 y h x 训练数据的条目数训练数据的条目数 training set training set 一条训练数据是 由一对输入数据和输出数据组成的输入数据的维度n 特征的个 数 features 这个例子的特征是两维的 结果是一维的 然而回归方法能 够解决特征多维 结果是一维多离散值或一维连续值的问题 8 of 36 回归学习 学习过程学习过程 首先给出一个输入数据 算法通过一系列的过程得到一个估计的函数函数 这个函数 有能力对没有见过的新数据给出一个新的估计 也被称为构建一个模型 就如同上 面的线性回归函数 一个典型的机器学习的过程 9 of 36 回归学习 线性回归 Linear regression 是利用称为线性 回归方程的最小平方函数对一个或多个自变量和因 变量之间关系进行建模的一种回归分析 线性回归属于监督学习监督学习 因此方法和监督学习应 该是一样的 先给定一个训练集 根据这个训练集 学习出一个线性函数线性函数 然后测试这个函数训练的 好不好 即此函数是否足够拟合训练集数据 挑 选出最好的函数 cost function最小 即可 10 of 36 线性回归 注意 1 因为是线性回归 所以学习到的函数为线性函数 即直线函数 2 因为是单变量 因此只有一个x 单变量线性回归模型 X feature h x hypothesis 问题 线性函数拟合的好不好 11 of 36 简单线性回归 Simple Linear Regression 1 很多做决定的过程通常是根据两个或者多个变量之间的关系 2 回归分析 regression analysis 用来建立方程模拟两个或者 多个变量之间如何关联 3 被预测的变量叫做 因变量 dependent variable y 输出 output 4 被用来进行预测的变量叫做 自变量 independent variable x 输入 input 12 of 36 正向线性关系 13 of 36 负向线性关系 14 of 36 无关系 15 of 36 估估计计的的简单线简单线性回性回归归方程方程 y b0 b1x 这个方程叫做估计线性方程 estimated regression line 其中 b0是估计线性方程的纵截距 b1是估计线性方程的斜率 y 是在自变量x等于一个给定值的时候 y的估计值 使用场景 一般来说 只要觉得数据有线性关系 首先选择 LinearRegression类 如果发现拟合或者预测的不好 再考虑 用其他的线性回归库 如果是学习线性回归 推荐先从这个类开 始第一步的研究 16 of 36 线线性回性回归归分析流程 分析流程 17 of 36 关于偏差 的假定 1 是一个随机的变量 均值为0 2 的方差 variance 对于所有的自变量x是一样的 3 的值是独立的 4 满足正态分布 18 of 36 简单线性回归模型举例 汽车卖家做电视广告数量与卖出的汽车数量 19 of 36 如何画出适合简单线性回归模型的最佳回归线 20 of 36 使sum of squares最小 计算过程 21 of 36 预测预测 假设有一周广告数量为6 预测的汽车销售量是多少 x given 6 Y hat 5 6 10 40 22 of 36 多元线性回归 1 与简单线性回归区别 simple linear regression 多个自变量 x 2 多元回归模型 y 0 x1 2x2 pxp 其中 0 2 p是参数值 是误差值 3 多元回归方程 E y 0 x1 2x2 pxp 4 估计多元回归方程 y hat b0 b x1 b2x2 bpxp 一个样本用来计算 0 2 p的点估计b0 b1 b2 bp 23 of 36 5 估计流程 与简单线性回归类似 24 of 36 6 估计方法 使sum of squares最小 运算与简单线性回归类似 涉及到线性代数和矩阵代数的运算 25 of 36 7 例子 一家快递公司送货 X1 运输里程 X2 运输次数 Y 总运输时间 Time b0 b1 Miles b2 Deliveries Time 0 869 0 0611 Miles 0 923 Deliveries 26 of 36 线性回归 代价函数 代价函数 有的地方也叫损失函数 Loss Function 在机 器学习中的每一种算法中都很重要 因为训练模型的过程就是优 化代价函数的过程 代价函数对每个参数的偏导数就是梯度下降 中提到的梯度 防止过拟合时添加的正则化项也是加在代价函数 后面的 一个好的代价函数需要满足两个最基本的要求 能够评价模型的 准确性 对参数 可微 27 of 36 假设有训练样本 x y 模型为h 参数为 h Tx T表示 的转置 1 概况来讲 任何能够衡量模型预测出来的值h 与真实值y 之间的差异的函数都可以叫做代价函数C 如果有多个样本 则可以将所有代价函数的取值求均值 记做J 2 首先确定模型h 然后训练模型的参数 训练参数的过程 就是不断改变 从而得到更小的J 的过程 理想情况下 当我 们取到代价函数J的最小值时 就得到了最优的参数 记为 当J 0 表示模型完美的拟合了观察的数据 没有任何误差 28 of 36 3 在优化参数 的过程中 最常用的方法是梯度下降 这里的 梯度就是代价函数J 对 1 2 n的偏导数 通过以上内容 可以总结得出以下关于代价函数的性质 对于每种算法来说 代价函数不是唯一的 代价函数是参数 的函数 总的代价函数J 可以用来评价模型的好坏 代价函数越小说 明模型和参数越符合训练样本 x y J 是一个标量 选择代价函数时 最好挑选对参数 可微的函数 全微分存在 偏导数一定存在 29 of 36 线性回归 代价函数 Cost Function 对假设的函数进行评价 cost function越小的函数 说明拟合训练数据拟合的越好 30 of 36 线性回归 在线性回归中 最常用的代价函数 Cost Function 是均方误差 Mean squared error 具体形式为 其中 表示向量x中的第i个元素 表示向量y中的第i个元素 用参数 和x预测出来的y值 m为训练集的数量 例 给定数据集 1 1 2 2 3 3 则x 1 2 3 y 1 2 3 此处的语法为Octave语言的语法 表示3 1的矩阵 如果我们预测theta0 0 theta1 1 则h x x 则cost function J 0 1 1 2 3 h 1 1 2 h 2 2 2 h 3 3 2 0 如果我们预测theta0 0 theta1 0 5 则h x 0 5x 则cost function J 0 0 5 1 2 3 h 1 1 2 h 2 2 2 h 3 3 2 0 58 31 of 36 代价函数与参数 代价函数与参数 总的代价函数J是h 和y的函数 即J f h y 又因为y都是 训练样本中给定的 h 由 决定 所以 最终还是模型参数 的 改变导致了J的改变 对于不同的 对应不同的预测值h 也 就对应着不同的代价函数J的取值 变化过程为 引起了h 的改变 进而改变了J 的取值 32 of 36 为了更直观的看到参数对代价函数的影响 举个简单的例子 有训练样本 0 0 1 1 2 2 4 4 即4对训练样本 每个样 本对中第1个数表示x的值 第2个数表示y的值 这几个点很明显 都是y x这条直线上的点 如下图 图 不同参数可以拟合出不同的直线 代价函数与参数 33 of 36 常数项为0 所以可以取 0 0 然后取不同的 1 可以得到不同的 拟合直线 当 1 0时 拟合的直线是y 0 即蓝色线段 此时距 离样本点最远 代价函数的值 误差 也最大 当 1 1时 拟合 的直线是y x 即绿色线段 此时拟合的直线经过每一个样本点 代价函数的值为0 代价函数与参数 34 of 36 通过下图可以查看随着 1的变化 J 的变化情况 当 1 1时 代 价函数J 取到最小值 因为线性回归模型的代价函数 均方误 差 的性质非常好 因此也可以直接使用代数的方法 求J 的 一阶导数为0的点 就可以直接求出最优的 值 正规方程法 图 代价函数J 随参数的变化而变化 代价函数与参数 35 of 36 代价函数与参数 下图可以看做是代价函数J 与参数 做出的图 曲面上的一个点 0 1 J 有无数条切线 在这些切线中与x y平面 底面 相当于 0 1 夹角最大的那条切 线就是该点梯度的方向 沿该方向移动 会产生最大的高度变化 相对于z轴 这里的z轴相当于代价函数J 36 of 36 线性回归 一般情况 in xR 001n n h xxxX 求解 最小二乘法 是一个直接的数学求解公式 不过它要求X是列满秩的 梯度下降法 最小二乘损失函数最小二乘损失函数 37 of 36 线性回归 Gradient DescentGradient Descent 梯度下降 梯度下降 找出cost function函数的最小值 梯度下降原理 将函数比作一座山 我们站在某个山坡上 往四周看 从哪个方向 向下走一小步 能够下降的最快 方法方法 1 先确定向下一步的步伐大小 我们称为Learning rate 2 任意给定一个初始值 3 确定一个向下的方向 并向下走预先规定的步伐 并更新 4 当下降的高度小于某个定义的值 则停止下降 38 of 36 线性回归 梯度下降算法 梯度下降算法 特点特点 1 初始点不同 获得的最小值也不同 因此梯度下降求得的只是局部最小值 2 越接近最小值时 下降速度越慢 39 of 36 线性回归 梯度下降算法 梯度下降算法 问题 问题 如果如果 初始值就在初始值就在local minimumlocal minimum的位置 则的位置 则 会如何变化 会如何变化 答 因为 已经在local minimum位置 所以derivative 肯定是0 因此 不会变化 如果取到一个正确的如果取到一个正确的 值 则值 则cost functioncost function应该越来越小 应该越来越小 问题 怎么取 值 答 随时观察 值 如果cost function变小了 则ok 反之 则再取一个更小的值 从上面的图可以看出 初始点不同 获得的最小值也不同初始点不同 获得的最小值也不同 因此梯度下降求得的只是局部最小值 40 of 36 线性回归 注意 下降的步伐大小非常重要 因为如果太小 则找到函数最小值的速度就很慢 如果太大 则可能会出现overshoot the minimum的现象 overshoot minimum现象 如果Learning rate取值后发现J function 增长了 则需要减小Learning rate的值 41 of 36 线性回归 Gradient Descent for Linear RegressionGradient Descent for Linear Regression 梯度下降能够求出一个函数的最小值 线性回归需要求出 使得cost function的最小 因此我们能够对cost function运用梯度下降 即将梯度下降和线性回归进行整合 如 下图所示 42 of 36 def gradientDescent x y theta alpha m numIterations xTrans x transpose for i in range 0 numIterations hypothesis np dot x theta loss hypothesis y cost np sum loss 2 2 m print Iteration d Cost f i cost gradient np dot xTrans loss m theta theta alpha gradient return theta 43 of 36 多项式回归 原理 前面提到 根据样本的趋势来决定假设函数 当趋势较为复杂 时 线性模型就不适用了 下图是房子的价格与尺寸的关系图 从图中可以看出 符合样本趋势的数学模型应该是非线性的 在这里采用的是二次曲线 怎么去求该数学模型的代价函数极小值呢 可以简化求解的复杂度 只需要把符合趋势的假设函数转换为 等价的线性模型即可 44 of 36 多项式回归 假设函数 转换函数 通过以下转换 得到 45 of 36 多项式回归 from sklearn preprocessing import PolynomialFeatures 将曲线的多项式的次数的初始值设置为3 polynomial PolynomialFeatures degree 3 下面用数据点来计算多项式的参数 X train transformed polynomial fit transform X train 其中 X train transformed表示多项式形式的输入 与线性回归模型是一 样大的 46 of 36 逻辑回归 Logistic Regression 例子 47 of 36 逻辑回归 逻辑回归 Logistic Regression 逻辑回归的模型是一个非线性模型 sigmoid函数 又称逻辑回归函数逻辑回归函数 但是它本质上又是一个线性回归模型 因为除去sigmoid映射函数关系 其他的步骤 算法都是线性回归的 可以说 逻辑回归 都是以线性回归为理论支持的 只不过 线性模型 无法做到sigmoid的非线性形式 sigmoid可以轻松处 理0 1分类问题 48 of 36 逻辑回归 逻辑回归 Logistic Regression 1 找一个合适的预测函数 一般表示为h函数 该函数就是需要找的分 类函数 它用来预测输入数据的判断结果 2 构造一个Cost函数 损失函数 该函数表示预测的输出 h 与训 练数据类别 y 之间的偏差 可以是二者之间的差 h y 或者是其他的 形式 综合考虑所有训练数据的 损失 将Cost求和或者求平均 记为 J 函数 表示所有训练数据预测值与实际类别的偏差 3 显然 J 函数的值越小表示预测函数越准确 即h函数越准确 所以这一步需要做的是找到J 函数的最小值 找函数的最小值有不同的 方法 Logistic Regression实现时有的是梯度下降法 Gradient Descent 49 of 36 逻辑回归 二分类问题 二分类问题是指预测的y值只有两个取值 0或1 二分类问题可以扩展到多 分类问题 例如 我们要做一个垃圾邮件过滤系统 是邮件的特征 预测的y值就 是邮件的类别 是垃圾邮件还是正常邮件 对于类别我们通常称为正类 positive class 和负类 negative class 垃圾邮件的例子中 正类就是正 常邮件 负类就是垃圾邮件 应用举例 是否垃圾邮件分类 是否肿瘤 癌症诊断 是否金融欺诈 50 of 36 逻辑回归 Logistic函数 如果忽略二分类问题中y的取值是一个离散的取值 0或1 我们继续使用线性 回归来预测y的取值 这样做会导致y的取值并不为0或1 逻辑回归使用一个函数来归 一化y值 使y的取值在区间 0 1 内 这个函数称为Logistic函数 logistic function 也称为Sigmoid函数 sigmoid function 函数公式如下 Logistic函数当z趋近于无穷大时 g z 趋近于1 当z趋近于无穷小时 g z 趋近 于0 Logistic函数的图形如下 51 of 36 逻辑回归 Sigmoid函数 sigmoid function 的性质 52 of 36 分类问题 线性决策边界 53 of 36 对于线性边界的情况 边界形式如下 构造预测函数为 54 of 36 分类问题 非线性决策边界 非线性边界的边界形式可表示为 55 of 36 逻辑回归 对于线性边界的情况 边界形式如下 构造预测函数为 函数 的值有特殊的含义 它表示结果 取1的概率 因此对于输入x分类结果为类别1 和类别0的概率分别为 正例 y 1 负例 y 0 56 of 36 逻辑回归 构造损失函数构造损失函数J J Cost函数和J函数如下 它们是基于最 大似然估计推导得到的 求J 的最小值可以使用梯度下降法 根据梯度下降法可得 的更新过程 57 of 36 58 of 36 逻辑回归 梯度下降算法 梯度下降算法 更新过程 梯度下降法求J 的最小值 59 of 36 梯度上升法 对于输出值为y 0 1 的两类分类问题 做出一个假设 根据这个函数 可以得到对于一个样本的概率分布为 综合起来就是 可以将问题转化为求Logistic回归的最佳系数 因为logistic回归可 以被看做一种概率模型 且y发生的概率与回归参数 有关 因此可以对 进行最大似然估计 使得y发生的概率最大 此时的 便是最优回归系 数 60 of 36 梯度上升法 对数据集求似然函数 并取对数计算 要使得最大化 则运用梯度上升法 求出最高点 61 of 36 梯度上升法 计算结果为 此公式便是梯度上升算法的更新规则 是学习率 决定了 梯度上升的快慢 可以看到与线性回归类似 只是增加了特 征到结果的映射函数 62 of 36 梯度上升法 梯度上升 主要是采用了最大似然的推导 def gradAscent dataMatIn classLabels dataMatrix mat dataMatIn labelMat mat classLabels transpose m n shape dataMatrix n 3 alpha 0 001 学习率 maxCycles 500 循环轮数 theta ones n 1 for k in range maxCycles h sigmoid dataMatrix theta error labelMat h theta theta alpha dataMatrix transpose error return theta 63 of 36 梯度下降法向量化Vectorization Vectorization是使用矩阵计算来代替for循环 以简化计算 过程 提高效率 如上式 是一个求和的过程 显然需要一个for语句循 环m次 所以根本没有完全的实现vectorization 下面介绍向量化的过程 约定训练数据的矩阵形式如下 x的每一行为一条训练样本 而每一列为不同的特称取值 64 of 36 65 of 36 向量化Vectorization g A 的参数A为一列向量 所以实现g函数时要支持列向量作为 参数 并返回列向量 由上式 可知 可由一次 计算求得 更新过程可以改为 综上所述 Vectorization后 更新的步骤如下 1 求 2 求 3 求 66 of 36 m n X shape 矩阵大小 alpha 0 0065 设定学习速率 theta g np zeros n 1 初始化参数 maxCycles 3000 迭代次数 J pd Series np arange maxCycles dtype float 损失函数 for i in range maxCycles h logit dot X theta g 估计值 J i 1 100 np sum Y np log h 1 Y np log 1 h 计算损失函数值 error h Y 误差 grad dot X T error 梯度 theta g alpha grad print theta g 67 of 36 正则化Regularization 过拟合问题过拟合问题 对于线性回归或逻辑回归的损失函数构成的模型 可能会有些权重很大 有些权 重很小 导致过拟合 就是过分拟合了训练数据 使得模型的复杂度提高 泛 化能力较差 对未知数据的预测能力 欠拟合 合适拟合 过拟合 68 of 36 正则化Regularization 问题的主因 过拟合问题往往源自过多的特征 解决方法 1 减少特征数量 减少特征会失去一些信息 即使特征选的很好 可用人工选择要保留的特征 模型选择算法 2 正则化 特征较多时比较有效 保留所有特征 但减少 的大小 69 of 36 正则化Regularization 正则化方法 正则化是结构风险最小化策略的实现 是在经验风险上加一个正则化项或惩罚项 正 则化项一般是模型复杂度的单调递增函数 模型越复杂 正则化项就越大 房价预测问题 多项式回归 70 of 36 正则化Regularization 正则化方法 正则化是结构风险最小化策略的实现 是在经验风险上加一个正则化项或惩罚项 正 则化项一般是模型复杂度的单调递增函数 模型越复杂 正则化项就越大 房价预测问题 多项式回归 71 of 36 正则化Regularization 72 of 36 正则化Regularization 正则项可以取不同的形式 在回归问题中取平方损失 就是参数的L2范数 也可 以取L1范数 取平方损失时 模型的损失函数变为 lambda是正则项系数 如果它的值很大 说明对模型的复杂度惩罚大 对拟合数据的损失惩罚小 这样 它就不会过分拟合数据 在训练数据上的偏差较大 在未知数据上的方差较小 但 是可能出现欠拟合的现象 如果它的值很小 说明比较注重对训练数据的拟合 在训练数据上的偏差会小 但是可能会导致过拟合 73 of 36 正则化后的梯度下降算法 的更新变为 正则化后的线性回归的Normal Equation的公式为 正则化Regularization 74 of 36 范数 L0范数是指向量中非0的元素的个数 L1范数 W 1是指向量中各个元素绝对值之和 也叫 稀疏规则 算子 Lasso regularization L1范数和L0范数可以实现稀 疏 L1因具有比L0更好的优化求解特性而被广泛应用 L2范数 W 2范数是指向量各元素的平方和然后求平方根 它也 不逊于L1范数 在回归里面 叫 岭回归 Ridge Regression 也叫 权值衰减weight decay 强大功效是改善机器学习 里面一个非常重要的问题 过拟合 75 of 36 岭回归 Ridge Regression 使用最小二乘法拟合的普通线性回归是数据建模的基本方法 其建模要点在于误差项一般要求独立同分布 常假定为正态 零均值 t检验用来检验拟合的模型系数的显著性 F检验用来检 验模型的显著性 方差分析 如果正态性不成立 t检验和F检 验就没有意义 对较复杂的数据建模 比如文本分类 图像去噪或者基因组研 究 的时候 普通线性回归会有一些问题 76 of 36 岭回归 Ridge Regression 1 预测精度的问题 如果响应变量和预测变量之间有比较明显 的线性关系 最小二乘回归会有很小的偏倚 特别是如果观测数 量n远大于预测变量p时 最小二乘回归也会有较小的方差 但是 如果n和p比较接近 则容易产生过拟合 如果n p 最小二乘回 归得不到有意义的结果 2 模型解释能力的问题 包括在一个多元线性回归模型里的很 多变量可能是和响应变量无关的 也有可能产生多重共线性的现 象 即多个预测变量之间明显相关 这些情况都会增加模型的复 杂程度 削弱模型的解释能力 这时候需要进行变量选择 特征 选择 77 of 36 岭回归 Ridge Regression 以上的这些问题 主要就是表现在模型的方差和偏差问题上 方差指的是模型之间的差异 而偏差指的是模型预测值和 数据之间的差异 我们需要找到方差和偏差的折中 这样的 关系可以通过下图说明 低方差高偏差 高方差低偏差 测试误差曲线 训练误差曲线 78 of 36 岭回归 Ridge Regression 针对OLS的问题 在变量选择方面有三种扩展的方法 1 子集选择 这是传统的方法 包括逐步回归和最优子集法等 对可 能的部分子集拟合线性模型 利用判别准则 如AIC BIC Cp 调整R2 等 决定最优的模型 2 收缩方法 shrinkage method 收缩方法又称为正则化 regularization 主要是岭回归 ridge regression 和lasso回归 通过对最小二乘估计加入罚约束 使某些系数的估计为0 3 维数缩减 主成分回归 PCR 和偏最小二乘回归 PLS 的方法 把p个预测变量投影到m维空间 m from sklearn import linear model clf linear model Lasso alpha 0 1 导入模型传入参数alpha 0 1 clf fit 0 0 1 1 0 1 训练数据 Lasso alpha 0 1 copy X True fit intercept True max iter 1000 normalize False positive False precompute False random state None selection cyclic tol 0 0001 warm start False max iter 迭代次数 tol 收敛精度 clf predict 1 1 模型预测 array 0 8 98 of 36 最小角回归法 LARS算法是一个适用于高维数据的回归算法 其主要的优点如下 对于特征维度n 远高于样本点数m 的情况 n m 该算法有极高的数 值计算效率 该算法的最坏计算复杂度和最小二乘法 OLS 类似 但是其计算速度几乎 和前向选择算法一样 它可以产生分段线性结果的完整路径 这在模型的交叉验证中极为有用 其主要的缺点为 由于LARS的迭代方向是根据目标的残差yres定的 所以该算法对样本的噪声 是极为敏感的 99 of 36 import numpy as np import matplotlib pyplot as plt from sklearn import linear model from sklearn import datasets 导入数据集 这个数据集 总的样本个数为442个 特征维度为10 diabetes datasets load diabetes X diabetes data y diabetes target print X shape 100 of 36 所谓参数正则化路径 其实就是LARS算法每次迭代的时候 每个参数的数值所组成的曲线 其横轴对应着迭代的程度 纵轴是每个特征参数对应的数值 这里一共有10个特征 所以有10条特征正则化曲线 print 基于LARS算法计算正则化路径 alphas coefs linear model lars path X y method lasso verbose True 这里讲迭代程度归一化到 0 1 直间 xx np sum np abs coefs T axis 1 xx xx 1 101 of 36 plt plot xx coefs T ymin ymax plt ylim plt vlines xx ymin ymax linestyle dashed plt xlabel coef max coef plt ylabel Coefficients plt title LASSO Path plt axis tight plt show 102 of 36 使用场景 一般来说 对于高维的特征数据 尤其线性关系是稀疏的 会采用Lasso回 归 或者是要在一堆特征里面找出主要的特征 那么Lasso回归更是首选了 但是Lasso类需要自己对 调优 所以不是Lasso回归的首选 一般用到的是 下一节要讲的LassoCV类 LassoCV类的损失函数和损失函数的优化方法完全与Lasso类相同 区别在于 验证方法 验证方法 LassoCV类对超参数 使用了交叉验证 来帮忙选择一个合适的 在初始化 Lasso

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论