1.在上一次我们说了Rigde回归。在那之间我们说了对于代价函数有两种正则化的方式:L1正则化和L2正则化。这两种正则化的目的有一个很重要的共同点就是抵抗多重共线性,在岭回归中我们使用的是L2正则化,那么今天就简单的说一下L1正则化。

上边的函数就是Lasso算法的代价函数,也是L1正则化之后的代价函数。在这种方法下,对于代价函数最小值的求解其实是一样的,就不再仔细的说明了,但是我们来看一下Lasso算法和岭回归的关系。说到二者的关系,就要说一个很重要的图:

红色是求最小值区域,而蓝色是约束条件区域。由此可见,由于Lasso的约束条件是以绝对值形式呈现,约束条件更加尖锐,回归的估计参数更加容易为零。所以在Lasso算法中,对于一下对答案贡献比较小的系数很容易被压缩成0.我们采用上节的数据,在Py中实现一下算法。

import numpy as np
from sklearn import linear_model
data=np.genfromtxt("D:/ML/data.csv",delimiter=',')
x_data=data[1:,2:]
y_data=data[1:,1]
model=linear_model.LassoCV()
model.fit(x_data,y_data)
print(model.alpha_)
print(model.coef_)

比较简洁,得到的效果是这样的:

可以看到,后边三个相关系数就被压缩成了0.Lasso算法在抵抗多重共线性并且数据稀疏时,具有很好的效果。

2.这一节和上一节我们说到了两种基于代价代价函数正则化的算法:Ridge和Lasso。他们各有利弊,所有在05年,一种新的代价函数附加惩罚的方法被提出来了:弹性网络。

弹性网络结合了Ridge和Lasso算法,是的二者在代价函数中各自占有一定的贡献值。其中ra是一个很重要的参数,它决定了到底哪种正则方法占据主导地位,在实际的应用过程中,这种回归算法使用的更加广泛。我们依然可以用Py中sklearn的库函数实现。

import numpy as np
from sklearn import linear_model
data=np.genfromtxt("D:/ML/data.csv",delimiter=',')
x_data=data[1:,2:]
y_data=data[1:,1]
model=linear_model.ElasticNet()
model.fit(x_data,y_data)
print(model.alpha)
print(model.coef_)

得到的输出是:

可以看出来,后边对于相关系数,后三个变化不大,但是对于前三个,弹性网络得到的更加符合实际。回归到此告一段落。下一阶段是:分类。

【机器学习】LASSO算法弹性网络相关推荐

  1. 高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据...

    原文链接:http://tecdat.cn/?p=23378 1 介绍 在本文中,我们将研究以下主题 证明为什么低维预测模型在高维中会失败. 进行主成分回归(PCR). 使用glmnet()进行岭回归 ...

  2. 岭回归,Lasso回归及弹性网络回归原理及R实现

    在线性大型数据集包含的变量数量大于样本数量的情况下,标准线性模型(或普通的最小二乘法)的效果较差. 更好的替代方法是``惩罚回归'',可以通过在方程中添加约束来创建线性惩罚模型,该模型因变量过多而受到 ...

  3. 算法的优缺点_一文总结机器学习各算法优缺点

    关注上方"数据挖掘工程师",选择星标, 关键时间,第一时间送达! 转自Datawhale本期主题是详细总结一下机器学习各大常用算法的优缺点,十分值得收藏目录 正则化算法(Regul ...

  4. 机器学习之算法部分(算法篇1)

    目录 0.Introduction 1.K近邻算法--[分类算法] 1.1 K-近邻算法简介 1.1.1 K-近邻算法(KNN)概念 1.1.2 举例-电影类型分析 1.2 k近邻算法api初步使用 ...

  5. 机器学习(七)线性回归与岭回归Lasso回归与弹性网络与正则化

    机器学习(七) 线性回归 最小二乘法(Least Squares Method,简记为LSE)是一个比较古老的方法,源于天文学和测地学上的应用需要.在早期数理统计方法的发展中,这两门科学起了很大的作用 ...

  6. 机器学习算法系列(六)- 弹性网络回归算法(Elastic Net Regression Algorithm)

    阅读本文需要的背景知识点:岭回归.Lasso回归.一点点编程知识 最近笔者做了一个基于人工智能实现音乐转谱和人声分离功能的在线应用--反谱(Serocs),感兴趣的读者欢迎试用与分享,感谢您的支持!s ...

  7. 线性回归、lasso回归、岭回归以及弹性网络的系统解释

    线性回归.lasso回归.岭回归以及弹性网络的系统解释 声明 背景介绍 概述 线性回归模型函数及损失函数 线性回归算法 多项式回归(线性回归的推广) 广义线性回归(线性回归的推广) 岭回归(Ridge ...

  8. 机器学习--弹性网络(Elastic-Net Regression)

    机器学习–Elastic-Net Regression 基本概念 弹性网络 是一种使用 L1, L2 范数作为先验正则项训练的线性回归模型. 这种组合允许拟合到一个只有少量参数是非零稀疏的模型,就像 ...

  9. 机器学习--线性回归2(共线性问题、岭回归、lasso算法)

    上一节我们讲了线性回归的一元线性回归和多元线性回归,其中多元线性回归在求解的过程中又分为满秩和非满秩的情况,进而引出了的最大释然估计进行处理,后面详细的对回归误差进行了分析,最后误差来源于平方偏置.方 ...

最新文章

  1. 初一下计算机课教案,川教版信息技术七下第1课《计算机资源管理》word教案1
  2. layer.open 模态弹窗, 隐藏关闭按钮, 隐藏按钮组
  3. pandas pivot 计算占比_数据分析Pandas 基础(二)
  4. 总结出来的一些ASP.NET程序性能优化的注意事项[不断补充]
  5. IDEA 生成时序图、类图
  6. cn.cw.gps.domain.VisitReport.setVisitID([Ljava.lang.String;)]
  7. 对象tostring后怎么转成对象_和女生相亲后怎么联系对方?和相亲对象该如何聊天...
  8. isnan 函数 -javascript1.1
  9. Milne格式MATLAB,matlab考试题
  10. 深度学习教程(1) | 深度学习概论(吴恩达·完整版)
  11. protoc 编译工具
  12. CAN总线负载率原理及计算【转】
  13. 第三方支付机构是什么意思_什么是支付牌照 在哪查看
  14. c语言用函数写大小写转换,C语言实现大小写转换的三种方法
  15. BZOJ2794[Poi2012]Cloakroom——离线+背包
  16. Apple Pay 究竟是什么
  17. U盘git仓库快速拷贝
  18. 企业数字化最核心的数据智能,它的价值到底在哪?
  19. 孩子握笔姿势错误也易致近视
  20. js中exec()函数的使用

热门文章

  1. 【结构思考力】02——明确理念打基础
  2. 你是谁的无价之宝?(真正懂得你价值的人在哪里?)
  3. matlab结果中有虚数,Matlab数值积分结果是虚数
  4. Unifier培训: 系列讲解13:公司级的BP--供应商评估
  5. 2021-11-20 任务一:健康评估功能的展示
  6. 关于自带微软拼音输入法简体和繁体转换
  7. 反掩码/掩码/通配符详解
  8. C# ushort(UInt16)转为int
  9. 2023年转行IT互联网:盘点高薪职业岗位!
  10. html5css3选择题,web前端技术(HTML5+CSS3)答案试题题目及答案,期末考试题库,章节测验答案...