[DL]机器学习算法之岭回归
来源:互联网 发布:淘宝户外用品 编辑:程序博客网 时间:2024/05/01 15:41
上篇文章介绍了线性回归,但是一般线性回归模型在处理复杂的数据的回归问题时会遇到一些问题,主要表现在:
- 1.预测精度:要处理好样本的数量n和特征的数量p之间的关系。
当n>>p时,最小二乘回归会有较小的方差;
当n≈p 时,容易产生过拟合;
当n< p时,最小二乘回归得不到有意义的结果。 - 2.模型的解释能力:如果模型中的特征之间有相互关系,这样会增加模型的复杂程度,并且对整个模型的解释能力并没有提高,这时,我们就要进行特征选择。
以上的这些问题,主要就是表现在模型的方差和偏差问题上,这样的关系可以通过下图说明:
方差指的是模型之间的差异,而偏差指的是模型预测值和数据之间的差异。我们需要找到方差和偏差的折中。这就引入了岭回归。
在进行特征选择时,一般有三种方式:
- 子集选择
- 收缩方式(Shrinkage method),又称为正则化(Regularization)。主要包括岭回归和lasso回归。
- 维数缩减
岭回归(Ridge Regression)是在平方误差的基础上增加正则项
通过确定\lambda的值可以使得在方差和偏差之间达到平衡:随着\lambda的增大,模型方差减小而偏差增大。
对w求导,结果为:
令其为0,可求得w的值:
实验:
我们去探讨一下取不同的\lambda对整个模型的影响。
从上图我们可以看到偏差的权重对模型的影响很大,但是都将会在某一个范围趋同。
最后附上实验的代码:
import numpy as npimport matplotlib.pyplot as pltfrom sklearn import linear_model# X is the 10x10 Hilbert matrixX = 1. / (np.arange(1, 11) + np.arange(0, 10)[:, np.newaxis])y = np.ones(10)# Compute pathsn_alphas = 200alphas = np.logspace(-10, -2, n_alphas)coefs = []for a in alphas: ridge = linear_model.Ridge(alpha=a, fit_intercept=False) ridge.fit(X, y) coefs.append(ridge.coef_)# Display resultsax = plt.gca()ax.plot(alphas, coefs)ax.set_xscale('log')ax.set_xlim(ax.get_xlim()[::-1]) # reverse axisplt.xlabel('alpha')plt.ylabel('weights')plt.title('Ridge coefficients as a function of the regularization')plt.axis('tight')plt.show()
阅读全文
0 0
- [DL]机器学习算法之岭回归
- [DL]机器学习算法之逻辑回归
- [DL]机器学习算法之之线性回归(Linear Regression)
- 机器学习之岭回归
- Logistic回归---机器学习算法之四
- 【机器学习算法】之logistic回归
- 【机器学习算法】之线性回归分析
- 【机器学习算法】之回归树
- 【机器学习算法】之logistic回归
- 机器学习笔记之Logistic回归算法
- 机器学习 之 逻辑回归算法
- 机器学习之逻辑回归算法
- 机器学习笔记之逻辑回归算法
- 机器学习算法之逻辑回归
- 机器学习算法之逻辑回归
- 常用机器学习算法之线性回归
- 机器学习算法之线性回归
- 机器学习:回归算法
- HDU
- bzoj1414
- 【洛谷 P1709】[USACO5.5]隐藏口令Hidden Password
- 通过putty和xshell登录虚拟机linux
- mysql在cmd命令下执行数据库操作
- [DL]机器学习算法之岭回归
- [P2312][NOIP2014]解方程
- 将两个数以十六进制,十进制,八进制输出
- 谷歌 AI 自动编程效率超研发工程师,作为工程师的我感到了森森的压力
- [复习]高精度 高精度加/减/乘/除法
- bzoj 1296: [SCOI2009]粉刷匠 动态规划
- 浅析未来大数据的发展趋势
- 科普丨深度学习 vs 概率图模型 vs 逻辑学
- 人机智能融合--人工智能的未来发展方向