机器学习--弹性网络(Elastic-Net Regression)
机器学习–Elastic-Net Regression
基本概念
弹性网络 是一种使用 L1, L2 范数作为先验正则项训练的线性回归模型。 这种组合允许拟合到一个只有少量参数是非零稀疏的模型,就像 Lasso 一样,但是它仍然保持了一些类似于 Ridge 的正则性质。
弹性网络在很多特征互相联系的情况下是非常有用的。Lasso 很可能只随机考虑这些特征中的一个,而弹性网络更倾向于选择两个。
最小化的目标函数是:
minw12nsamples∣∣Xw−y∣∣22+αρ∣∣w∣∣1+α(1−ρ)2∣∣w∣∣22\underset{w}{min\,} { \frac{1}{2n_{samples}} ||X w - y||_2 ^ 2 + \alpha \rho ||w||_1 +\frac{\alpha(1-\rho)}{2} ||w||_2 ^ 2}wmin2nsamples1∣∣Xw−y∣∣22+αρ∣∣w∣∣1+2α(1−ρ)∣∣w∣∣22
案例
# coding=utf-8
from sklearn import datasets
from sklearn.linear_model import ElasticNet
from pylab import *
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_scoreif __name__ == '__main__':all_data = datasets.load_boston()x_train, x_test, y_train, y_test = train_test_split(all_data.data, all_data.target, test_size=0.3)# alpha 参数控制估计系数的稀疏度alphas = [0.0001, 0.001, 0.01, 0.1, 1, 10, 100, 1000]scores = []mses = []r2s = []for alpha in alphas:model = ElasticNet(alpha, l1_ratio=0.7)model.fit(x_train, y_train)prediction = model.predict(x_test)scores.append(model.score(x_test, y_test))mses.append(mean_squared_error(y_test, prediction))r2s.append(r2_score(y_test, prediction))plt.plot(alphas, mses, marker="v")plt.title('LassoRegression')plt.xscale('symlog')plt.xlabel(r'$\alpha$')plt.ylabel(r'mean squared error')plt.savefig("./elasticNet.png")plt.show()
机器学习--弹性网络(Elastic-Net Regression)相关推荐
- 高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据...
原文链接:http://tecdat.cn/?p=23378 1 介绍 在本文中,我们将研究以下主题 证明为什么低维预测模型在高维中会失败. 进行主成分回归(PCR). 使用glmnet()进行岭回归 ...
- 机器学习算法系列(六)- 弹性网络回归算法(Elastic Net Regression Algorithm)
阅读本文需要的背景知识点:岭回归.Lasso回归.一点点编程知识 最近笔者做了一个基于人工智能实现音乐转谱和人声分离功能的在线应用--反谱(Serocs),感兴趣的读者欢迎试用与分享,感谢您的支持!s ...
- R语言glmnet交叉验证选择(alpha、lambda)拟合最优elastic回归模型:弹性网络(elasticNet)模型选择最优的alpha值、模型最优的lambda值,最终模型的拟合与评估
R语言glmnet交叉验证选择(alpha参数和lambda参数)拟合最优elastic回归模型:弹性网络(elasticNet)模型选择最优的alpha值.弹性网络(elasticNet)模型最优的 ...
- 4.弹性网络( Elastic Net)
ElasticNet 是一种使用L1和L2先验作为正则化矩阵的线性回归模型.这种组合用于只有很少的权重非零的稀疏模型,比如:class:Lasso, 但是又能保持:class:Ridge 的正则化属性 ...
- 机器学习(七)线性回归与岭回归Lasso回归与弹性网络与正则化
机器学习(七) 线性回归 最小二乘法(Least Squares Method,简记为LSE)是一个比较古老的方法,源于天文学和测地学上的应用需要.在早期数理统计方法的发展中,这两门科学起了很大的作用 ...
- 【机器学习】LASSO算法弹性网络
1.在上一次我们说了Rigde回归.在那之间我们说了对于代价函数有两种正则化的方式:L1正则化和L2正则化.这两种正则化的目的有一个很重要的共同点就是抵抗多重共线性,在岭回归中我们使用的是L2正则化, ...
- 线性回归、lasso回归、岭回归以及弹性网络的系统解释
线性回归.lasso回归.岭回归以及弹性网络的系统解释 声明 背景介绍 概述 线性回归模型函数及损失函数 线性回归算法 多项式回归(线性回归的推广) 广义线性回归(线性回归的推广) 岭回归(Ridge ...
- 岭回归,Lasso回归及弹性网络回归原理及R实现
在线性大型数据集包含的变量数量大于样本数量的情况下,标准线性模型(或普通的最小二乘法)的效果较差. 更好的替代方法是``惩罚回归'',可以通过在方程中添加约束来创建线性惩罚模型,该模型因变量过多而受到 ...
- 正则化的岭回归、套索回归以及弹性网络
文章目录 一.简介 二.岭回归 2.1 简介 2.2 岭回归成本函数 2.3 模型训练方法 三.Lasso回归 3.1 简介 3.2 Lasso回归成本函数 3.2 Lasso回归次梯度向量 3.3 ...
最新文章
- python 快速行进 算法 图像修补
- c语言fread读取错误,【求助】C语言fread读取二进制文件时,读取结果全都是零
- POJ2255Tree Recovery
- [导入]关于复制目录架构
- [css] 你知道的等高布局有多少种?写出来
- 产品人如何在小企业中夹缝生存?
- Source insight 添加注释插件
- Windows Phone 更改datePicker的显示格式
- Android事件模型之interceptTouchEvnet ,onTouchEvent关系正解
- Xshell中文乱码怎么处理?
- uniapp安卓证书在线制作工具
- ubuntu默认播放器缺少解码器
- 金融量化分析【day112】:量化平台的使用-第一个策略
- Install Cypress
- 新型自动站业务用计算机采用,探析新型自动气象站测报业务软件运行故障及解决对策...
- C语言克鲁斯卡尔算法的实现
- MTK 按键驱动流程总结
- 标签上的 title属性与 alt属性的区别
- 首师大附中科创教育平台 我的刷题记录 0325 50212228海岛帝国:LYF的太空运输站...
- 使用telnet远程华为路由器及CRT使用连接