线性回归正则化regularized linear regression

在前几篇博客中介绍了一元线性回归http://blog.csdn.net/u012328159/article/details/50994095和多元线性回归http://blog.csdn.net/u012328159/article/details/51029695等线性回归的知识,具体请参见本人其他博客。但是线性回归存在一个很重要的问题就是过拟合(overfitting)问题,所谓过拟合简单直白的说就是模型的训练误差极小,而检验误差很大。一个好的学习器不仅能够很好的拟合训练数据,而且能够对未知样本有很强的泛化能力,即低泛化误差。先来看看线性回归中的过拟合现象(自己不想画图了,直接盗用Andrew Ng大神的图吧):
图中左边的图表示的线性回归模型存在欠拟合现象(underfitting),欠拟合顾名思义就是对训练数据的拟合程度不够好,训练误差大。中间的线性回归模型是个拟合程度很好的模型。右边图表示的就是过拟合现象,能够看出它对训练数据拟合的非常好,但是预测能力很差,泛化能力很差。
因此,处理过拟合问题常用的方法有:
  • 减少特征数量  主要方法有:人工的挑选重要的特征,去除不重要的特征。采用特征选择算法(在后面的博客中会介绍,在这不细说了)  但是这个方法在去除特征的同时,也去除了这部分特征所提供的信息。
  • 正则化(regularization) 保留所有特征,但是减少参数的值。
线性回归正则化通过缩小参数的值,可以使多项式模型更加简单,直接举个例子吧(图片来源:ng machine learning课)
上图左边的二次曲线是我们希望的,右边的更高次的线性回归模型显然是过拟合的,但是如果在它的代价函数后面添加两项 ,如果想让最小,那么的值几乎要接近0,因此,右边的多项式几乎等价于左边的,又能够得到一个正确的线性回归模型。
先来说说为什么增加正则项就能够有效避免过拟合(或者说是引入正则项的动机): 假如对于一个多项式函数,
我们来看看随着多项式阶数的增加系数M是如何剧增的,见下表(来自PRML):
看完这个表应该一目了然,正则项为什么能够惩罚系数了。
因此,正则化线性回归(regularized linear regression)的代价函数(cost function)为:
其中为正则项,为正则系数。如果设置的非常大,会使 ,将会产生欠拟合问题。因此应该选择合适的正则系数
我们的目标是即求得使最小的参数。因此对正则化线性回归使用梯度下降(gradient descent),为:
之所以把单独写出来,是因为我们正则化的时候,不对 进行惩罚。如果上面的的公式中的同类项合并下,则为:
因为  始终为正,因此  一般来说其值比1小一点点,因此相当于把缩小了一点点。
对于线性回归来说,除了通过梯度下降来求解参数,还可以通过正规方程(normal equation)用矩阵运算来直接求解参数。对于样本X和label Y而言,可以如下表达:
那么正则化线性回归的正规方程为:
其中,上式中的对角矩阵维度是(n+1)*(n+1)。在以前的博客讲正规方程的时候讲过当 时, 不存在,幸运的是正规化帮助我们解决了这个问题,即在正则化线性回归中,如果 ,则  
是存在的,也即里面的矩阵是可逆的。

线性回归正则化 regularized linear regression相关推荐

  1. 局部加权线性回归(Local Weighted Linear Regression)+局部加权回归+局部线性回归

    局部加权线性回归(Local Weighted Linear Regression)+局部加权回归+局部线性回归 locally weighted scatterplot smoothing,LOWE ...

  2. 简单线性回归(Simple Linear Regression)和多元线性回归(Multiple Regression)学习笔记

    简单线性回归(Simple Linear Regression) 0.前提介绍: 为什么需要统计量? 统计量:描述数据特征 0.1集中趋势衡量 0.1.1均值(平均数,平均值) (mean):(求和除 ...

  3. 机器学习:局部加权线性回归(Locally Weighted Linear Regression)

    线性回归 先复习一下线性回归的损失函数: 我们的目标是使该函数最小,用矩阵表示为: 对参数w求导得: 令上式等于0可估计出回归系数w得最优解: 但线性回归往往容易欠拟合,除了使用更复杂得函数拟合,还可 ...

  4. 吴恩达机器学习笔记(2)——单变量线性回归(Univariate linear regression)

    一.模型描述 上一章已经通过卖房价格的模型简单介绍了什么是回归:我们尝试将变量映射到某一个连续函数上. 这章我们将这个问题简单地量化为单变量线性回归模型(Univariate linear regre ...

  5. python实现贝叶斯回归_贝叶斯线性回归(Bayesian Linear Regression)

    贝叶斯线性回归(Bayesian Linear Regression) 标签(空格分隔): 监督学习 @ author : duanxxnj@163.com @ time : 2015-06-19 本 ...

  6. 吴恩达机器学习笔记21-正则化线性回归(Regularized Linear Regression)

    对于线性回归的求解,我们之前推导了两种学习算法:一种基于梯度下降,一种基于正 规方程. 正则化线性回归的代价函数为: 如果我们要使用梯度下降法令这个代价函数最小化,因为我们未对theta0进行正则化, ...

  7. 机器学习-多元线性回归(multiple linear regression)

    先甩几个典型的线性回归的模型,帮助大家捡起那些年被忘记的数学. ● 单变量线性回归: h(x)=theta0 + theta1* x 1 ● 多变量线性回归: h(x)=theta0 + theta1 ...

  8. 局部加权线性回归(Locally weighted linear regression)

    这里有现成的,引用一下.http://www.cnblogs.com/czdbest/p/5767138.html 转载于:https://www.cnblogs.com/imageSet/p/757 ...

  9. 机器学习代码实战——线性回归(多变量)(Linear Regression)

    文章目录 1.实验目的 2.导入必要模块并读取数据 3.对数据进行处理 3.1.experience字段数字化 3.2.test_score(out of 10)字段NaN替换为平均数 4.训练+预测 ...

最新文章

  1. ios开发中,User Defined Runtime Attributes的应用
  2. 【洛谷】选数---深度优先搜索+单调不降去重
  3. Qt学习笔记之网络相关概念
  4. 2064: 分裂 - BZOJ
  5. 第五季2:STA模式USB-WIFI网卡移植与测试
  6. 华为服务器存储系列,华为 服务器 存储相关资料(示例代码)
  7. keychron k8 连接切换蓝牙方案
  8. rabbitmq docker
  9. 杭电5620 KK's Steel
  10. 电脑能开机但进不去系统,电脑只能进安全模式怎么处理?
  11. sql server 开源_开源工具SQL Server安全注意事项
  12. JDBC 获取 Oracle 数据库连接(使用 Driver)
  13. 电脑 运行中 主板喇叭 警报声_网络资讯:电脑电源线是什么
  14. PHP中文分词扩展 SCWS
  15. pythonATM,购物车项目实战_补充7-start.py
  16. Turnserver服务器搭建
  17. 《东周列国志》第八十回 夫差违谏释越 勾践竭力事吴
  18. 微观经济学第七周作业(生产函数,规模报酬,投入产出)
  19. 西湖大学张岳老师NLP课程笔记1 Introduction
  20. HEG安装教程(windows平台)

热门文章

  1. 一心多用多线程-Thread的interrupt机制
  2. 基于Smart200 PLC的运动控制组态说明
  3. MQTT+ActiveMQ实现消息推送(移动端)
  4. Qt之标签和单行文本编辑框(QLabel、QLineEdit)
  5. 怎么修改PDF文字,PDF修改文字用什么方法
  6. 既然不能独自养家糊口,的确就不应该去抱怨发牢骚
  7. 最短路——最短路计数(spfa)
  8. rua噗实验(rip实验)
  9. Java IO模型:BIO、NIO、AIO讲解
  10. Java行业薪资待遇一般都多少钱?