Overfitting&Underfitting Problems
这次根据结合Google的翻译果然速度快上许多,暂时休息,晚上在传一个exm2的随笔。
关于过度拟合下的问题
考虑从x∈R预测y的问题,下面的最左边的图显示了将\(y=\theta_0+\theta_1x\)拟合到数集的结果,我们看到数据不是真的在直线上,所以适合度不是很好。

相反,如果我们添加了一个额外的特征\(x^2\),并且拟合\(y=\theta_0+\theta_1x+\theta_2x^2\),那么我们获得一个稍微更好的拟合数据(见中图)。 哈哈,这时候是不是我们添加的功能越多越好呢?当然不是!当增加太多特征的时候,也会出现很多问题:最右边的图是拟合五阶多项式\(y=\sum_{j=0}^{5}\theta_jx^j\)的结果。图中我们可以看到即使拟合的曲线完美地通过了数据,但我们也不会指望这是对不同生活区(x)的房价(y)很好的预测结果,即当面对新的数据输入(x)时,输出结果(y)是不令人满意的。
没有正式定义这些术语是什么意思,我们会说左边的数字显示了一个不合适的实例,即拟合图形未能清晰捕捉数据集,而右边的数字就是过拟合的例子。
欠拟合(underfitting)或称高偏差,主要由于存在较少的特征集或拟合出的功能函数过于简单导致,此时拟合出的图形对数据的实际趋势的反应能力很差。相反地,过拟合(overfitting)或高方差是由适合可用数据的假设函数引起的,但不能很好地推广到预测新数据。 它通常是由复杂的功能引起的,它产生了与数据无关的大量不必要的曲线和角度。
过拟合与欠拟合这两个术语适用于线性和逻辑回归。
解决过拟合问题有两个主要选择:
1)减少特征数量
- 自己手动选择要保留的特征
- 使用选择算法模型(在以后的课程中引出)
2)正则处理(Regularization)
- 保持所有的特征,但是减小参数\(\theta_j\)的大小。
- 当我们有很多有用的特征集时,正则化后的效果很好。
过拟合下的代价函数(cost function)
如果我们从假设函数中出现过度拟合,我们可以通过增加代价(cost)来减少我们函数中的一些参数的权重。
假设我们想使以下函数:
\(\theta_0+\theta_1x+\theta_2x^2+\theta_3x^3+\theta_4x^4\)
我们试图消除(减弱)\(\theta_3x^3\)与\(\theta_4x^4\)的影响力。实际上并不用删除这些特征或改变我们假设的形式,我们可以这样改变我们的成本函数:

我们在末尾添加了两个额外项,以增加\(\theta_3\)和\(\theta_4\)的成本。 现在,为了使成本函数接近零,我们必须将\(\theta_3\)和\(\theta_4\)的值减小到接近零。 这将大大降低我们假设函数中\(\theta_3x^3\)和\(\theta_4x^4\)的值。 因此,我们看到新假设(由粉红色曲线描绘)看起来像一个二次函数,但是由于额外的小项\(\theta_3x^3\)和\(\theta_4x^4\),更适合数据。

我们可以正则(regularize)所有的参数theta,总结如下:

正则下的线性回归
梯度下降
我们不想消除(减弱)\(\theta_0\)的权重,因此需要先将\(\theta_0\)从所有的参数theta中剔除,同步不断递归:

因式变换后有:

正则方程(Normal Equation)下的regularization
为了增加正则化,方程与我们的原始方法相同,只是我们在括号内添加另一个项:

L是一个矩阵,其左上角为0,对角线为1,其他地方为0。 应该有维数(n + 1)×(n + 1)。 直观地,这是单位矩阵(尽管我们不包括\(x_0\)),乘以单个实数λ。
之前我们提到\(X^TX\)可能存在的不可逆情形,这里经过\(X^TX+\lambda L\)运算之后一定是可逆的!!
正则下的逻辑回归
我们将线性回归正规化,同时也可以类似的方式对逻辑回归进行正则化。 因此,我们可以避免过度拟合。 下图显示了由蓝线显示的正则化函数比由蓝线表示的非正则化函数更容易具有代表性:

代价函数(cost function)
之前的计算公式为:

正则后的结果为(同样需要事先剔除第一个参数theta_0):

同时须保证梯度下降中德参数theta的同步更新:

Overfitting&Underfitting Problems的更多相关文章
- overfitting &&underfitting
1.过拟合 然能完美的拟合模型,但是拟合出来的模型会含有大量的参数,将会是一个含有大量参数的非常庞大的模型,因此不利于实现 1.1解决过拟合的方法 1.1.1 特征选择,通过选取特征变量来减少模型参数 ...
- Machine Learning for Developers
Machine Learning for Developers Most developers these days have heard of machine learning, but when ...
- Course Machine Learning Note
Machine Learning Note Introduction Introduction What is Machine Learning? Two definitions of Machine ...
- [C2P2] Andrew Ng - Machine Learning
##Linear Regression with One Variable Linear regression predicts a real-valued output based on an in ...
- 一起啃PRML - 1.1 Example: Polynomial Curve Fitting 多项式曲线拟合
一起啃PRML - 1.1 Example: Polynomial Curve Fitting @copyright 转载请注明出处 http://www.cnblogs.com/chxer/ 前言: ...
- Reading | 《机器学习》(周志华)(未完待续)
目录 I. 大师对人工智能和机器学习的看法 II. Introduction A. What is Machine Learning 什么是机器学习 B. Basic terms 基础术语 C. In ...
- 机器学习之step by step实战及知识积累笔记
数据工作者工作时间划分 据crowdflower数据科学研究报告,数据科学工作者的时间分配主要在以下几个领域: 首先是数据收集要占20%左右的时间和精力,接着就是数据清洗和再组织需要占用60%的时间. ...
- stochastic noise and deterministic noise
在机器学习中,导致overfitting的原因之一是noise,这个noise可以分为两种,即stochastic noise,随机噪声来自数据产生过程,比如测量误差等,和deterministic ...
- 局部加权回归、欠拟合、过拟合(Locally Weighted Linear Regression、Underfitting、Overfitting)
欠拟合.过拟合 如下图中三个拟合模型.第一个是一个线性模型,对训练数据拟合不够好,损失函数取值较大.如图中第二个模型,如果我们在线性模型上加一个新特征项,拟合结果就会好一些.图中第三个是一个包含5阶多 ...
随机推荐
- web安全色
web安全色产生的原因 不同的平台(Mac.PC等)有不同的调色板,不同的浏览器也有自己的调色板.这就意味着对于一幅图,显示在Mac上的Web浏览器中的图像,与它在PC上相同浏览器中显示的效果可能差别 ...
- codeforce vk cup2017
D. k-Interesting Pairs Of Integers time limit per test 2 seconds memory limit per test 256 megabytes ...
- 浅谈Web的流量控制
想聊一聊流量控制,谈谈的重要性,解决了哪些业务问题,那我们问题来进入正题. 1.WEB容器如何流量控制? 一个Tomcat的容器,这个容器呢,部署在一台服务器上面,同时这台服务器的资源非常非常 ...
- Spring Cloud 学习笔记(一)——入门、特征、配置
[TOC] 0 放在前面 0.1 参考文档 http://cloud.spring.io/spring-cloud-static/Brixton.SR7/ https://springcloud.cc ...
- iOS 自动构建套件 - flow.ci + fir.im + Coding
编者按:本文转载自 flow.ci 用户 GitHub@mzying2013 的实践分享,原文链接这里. 前言 相信很多最开始接触自动构建都是从 Jenkins 开始的.都是纯手工搭建,本地代码创库也 ...
- spring boot无法启动,或者正常启动之后无法访问报404的解决办法
以前用spring boot都是用idea的自动创建,或者是用的Jhipster创建的,就没有深究怎么去搭建.但是今天晚上心血来潮,想自己搭一个demo来整合一些技术,于是就花一点时间来手动搭.因为今 ...
- 文本主题模型之LDA(二) LDA求解之Gibbs采样算法
文本主题模型之LDA(一) LDA基础 文本主题模型之LDA(二) LDA求解之Gibbs采样算法 文本主题模型之LDA(三) LDA求解之变分推断EM算法(TODO) 本文是LDA主题模型的第二篇, ...
- MyBatis之TypeHandler
在大学写web应用的时候经常会遇到这么个问题,当我要插入一条数据,某个数据是Date类型,数据库中却是VARCHAR类型,这个时候可能会傻乎乎的先把这个数据自己手动转换成String类型再插入到数据库 ...
- PHP简单分页省略中间页码
<?php /** * @desc created by sublime text3 * @author jxl <[57953279@qq.com>]> * @since 2 ...
- Log4net日志记录、详细配置(自己使用)
[来自百度百科的一句介绍]log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具. 1.首先添 ...