[DL]机器学习算法之岭回归
2017-10-19 08:00
141 查看
上篇文章介绍了线性回归,但是一般线性回归模型在处理复杂的数据的回归问题时会遇到一些问题,主要表现在:
1.预测精度:要处理好样本的数量n和特征的数量p之间的关系。
当n>>p时,最小二乘回归会有较小的方差;
当n≈p时,容易产生过拟合;
当n< p时,最小二乘回归得不到有意义的结果。
2.模型的解释能力:如果模型中的特征之间有相互关系,这样会增加模型的复杂程度,并且对整个模型的解释能力并没有提高,这时,我们就要进行特征选择。
以上的这些问题,主要就是表现在模型的方差和偏差问题上,这样的关系可以通过下图说明:
方差指的是模型之间的差异,而偏差指的是模型预测值和数据之间的差异。我们需要找到方差和偏差的折中。这就引入了岭回归。
在进行特征选择时,一般有三种方式:
子集选择
收缩方式(Shrinkage method),又称为正则化(Regularization)。主要包括岭回归和lasso回归。
维数缩减
岭回归(Ridge Regression)是在平方误差的基础上增加正则项
∑ni=1(yi−∑pj=0wjxij)2+λ∑pj=0w2j,λ>0
通过确定\lambda的值可以使得在方差和偏差之间达到平衡:随着\lambda的增大,模型方差减小而偏差增大。
对w求导,结果为:2XT(Y−XW)−2λW
令其为0,可求得w的值:w^=(XTX+λI)−1XTY
实验:
我们去探讨一下取不同的\lambda对整个模型的影响。
从上图我们可以看到偏差的权重对模型的影响很大,但是都将会在某一个范围趋同。
最后附上实验的代码:
1.预测精度:要处理好样本的数量n和特征的数量p之间的关系。
当n>>p时,最小二乘回归会有较小的方差;
当n≈p时,容易产生过拟合;
当n< p时,最小二乘回归得不到有意义的结果。
2.模型的解释能力:如果模型中的特征之间有相互关系,这样会增加模型的复杂程度,并且对整个模型的解释能力并没有提高,这时,我们就要进行特征选择。
以上的这些问题,主要就是表现在模型的方差和偏差问题上,这样的关系可以通过下图说明:
方差指的是模型之间的差异,而偏差指的是模型预测值和数据之间的差异。我们需要找到方差和偏差的折中。这就引入了岭回归。
在进行特征选择时,一般有三种方式:
子集选择
收缩方式(Shrinkage method),又称为正则化(Regularization)。主要包括岭回归和lasso回归。
维数缩减
岭回归(Ridge Regression)是在平方误差的基础上增加正则项
∑ni=1(yi−∑pj=0wjxij)2+λ∑pj=0w2j,λ>0
通过确定\lambda的值可以使得在方差和偏差之间达到平衡:随着\lambda的增大,模型方差减小而偏差增大。
对w求导,结果为:2XT(Y−XW)−2λW
令其为0,可求得w的值:w^=(XTX+λI)−1XTY
实验:
我们去探讨一下取不同的\lambda对整个模型的影响。
从上图我们可以看到偏差的权重对模型的影响很大,但是都将会在某一个范围趋同。
最后附上实验的代码:
import numpy as np import matplotlib.pyplot as plt from sklearn import linear_model # X is the 10x10 Hilbert matrix X = 1. / (np.arange(1, 11) + np.arange(0, 10)[:, np.newaxis]) y = np.ones(10) # Compute paths n_alphas = 200 alphas = 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 results ax = plt.gca() ax.plot(alphas, coefs) ax.set_xscale('log') ax.set_xlim(ax.get_xlim()[::-1]) # reverse axis plt.xlabel('alpha') plt.ylabel('weights') plt.title('Ridge coefficients as a function of the regularization') plt.axis('tight') plt.show()
相关文章推荐
- [DL]机器学习算法之逻辑回归
- [DL]机器学习算法之之线性回归(Linear Regression)
- 数学之路(3)-机器学习(3)-机器学习算法-最小二乘法与回归[3]
- 机器学习算法之CART(分类回归树)概要
- 机器学习算法(回归算法)—线性回归(1)
- 【机器学习算法笔记】1. 回归器模型
- 机器学习算法实现02-非线性逻辑回归正则化
- 机器学习算法——岭回归
- 机器学习算法之: 逻辑回归 logistic regression (LR)
- 二,机器学习算法之逻辑回归(python实现)
- 机器学习算法之逻辑回归
- 机器学习算法与Python实践(2) - 逻辑回归
- 数学之路(3)-机器学习(3)-机器学习算法-最小二乘法与回归[3]
- 机器学习算法之CART(分类回归树)概要
- 机器学习算法原理解析——回归
- 机器学习算法面试—口述(5):回归
- 回归、分类与聚类:三大方向剖解机器学习算法的优缺点
- 简单易学的机器学习算法——岭回归(Ridge Regression)
- 机器学习算法——LR(逻辑回归)
- 回归、分类与聚类:三大方向剖解机器学习算法的优缺点