前言

       这一章还是紧接着上一章的,在上一章我们讨论了logistic regrsssion(逻辑回归),在更早我们还讨论了linear regression(线性回归),对于这两种问题,我们在进行用函数去预测结果时,我们根据已知的数据集去推测一个函数关系,然后去模拟输入和输出的关系。那么问题就来了,什么样的函数关系更能准确表示两者之间的关系呢?对于linear regression问题,是不是找到一个函数关系能表示训练集的所有数据之间输入和输出之间的关系就是最好了?而对于logistic regression问题,是不是找到一个边界决策可以完全把所有数据进行完全地无误分离出来就最好了?答案先卖个关子,在这一章我们将和大家讨论这个问题。

最后,如果在内容见解上有什么不对地地方,希望大家不吝赐教,谢谢!

【机器学习系列】【第四章:逻辑回归】【第六章:神经网络】

第五章  Regularization(正则化)

5.1 The problem of overfitting(过度拟合问题)

5.1.1 linear regression

对于linear regression问题,我们还是用前面的房子的price和size来说明这个问题,对于我们给定的一些price和size的数据 集,我们可以用如图1的一些函数关系去模拟两者之间的关系。

图1 用不同的函数关系去描述price和size的关系

在图1中,我们可以看到,对于第一个,我们用一次函数去描述两者之间的关系,对于有很多数据不能更好地落在这条线上,而且我们清楚在实际中,随着后面size越大,price是趋于稳定的,而对于这个关系来说是无限上升的,明显不符合两者之间的关系,对于这个问题我们称为underfit(不充分拟合),再看第二个,我们用一个二次函数来描述两者之间的关系,对于训练中的数据少数落在这个函数以外,对于函数的趋势走向也比较符合二者之间的关系,所以对于这个函数来说,就是比较符合训练集的,我们称为just right,最后来看看第三个,我们用了一个四次函数来描述两者之间的关系,虽然使训练集中的数据都落在在了函数上,但由于曲线太过于扭曲,不符合整体的走向,所以这也不是很合理的函数关系,我们把这个问题就称为overfit。

在上述这个问题中,我们很直观地了解了什么是overfit,而对于overfit来讲,如果我们有更多的特征,则h(x)更接近y,这个时候我们的误差函数,对于J()来看似乎是很好的关系,但对于预测新的数据来看,是不能很好地预测出比较合理的结果的。

5.1.2 Logistic regression

          现在给大家介绍下logistic regression关于overfit的问题,下面还是用一个具体的例子来向大家说明这个问题,如图2所示。

图2 用不同的边界决策去分离两类

如图2所示,对于具体的分析,我就不跟大家一一道来了,和linear regression问题一样,对于第一个仍然是underfit,第二个是just right,第三个就是overfit。

5.2 解决过度拟合的问题

根据以上的分析,我们该如何来解决过度拟合了?当特征变量很多时,我们用来分析出的h(x)会更接近y,出现过度拟合的可能性更大,所以第一个解决办法就是减少特征变量,先通过手动选择减少特征变量,再进行模型选择。但很多时候,有很多变量是不能之间去掉的,比如房子price的问题中,不管是size,age of house,no. of bedrooms等等都是不可少的特征,那么我们就有了第二中解决办法,即我们要给大家详细介绍的regularization(正则化),保持所有的特征,来减少,在后面会跟大家详细介绍。

5.3 Cost Function(代价函数)

在这里,我们又来讨论这个cost function,在这里还是用前面的linear regression中的房子price和size的问题来向大家说明这个问题。如图3所示。

图3 Just right和overfit

在图3中,我们对两者进行比较,会发现对于overfit这个表达式来看,如果没有了后面这两项,或者让他们的影响不是很大,则可以变成前面的关系,前面我们也说了,我们可以让的值很小,则后面两项就没什么影响了。在这里我们可以对cost function重新定义为:,关于前面的系数1000,只是我们随便设置的一个数,足够大就行,对于这个新的表达式,在前面的章节中,我们也说了代价函数是用来评判我们所选的模型是否符合数据集的关系,所以我们需要代价函数的值尽量小,为0最好,而对于这个新的式子,对于后面新添的两项,如果我们希望整个式子的值比较小,则的值必须很小才行,这样即达到了我们前面的要求。

对于这个regularization(正则化)问题,就是我们使我们的参数减小,这样就可以减小过度拟合。对于特征还是,参数还是:,而,注意后面新添的一项,我们对于是不做惩罚的。对于后面新添的一项,我们则称为正则化变量。

对于我们只知道要选取一个比较大的数,那么选取太大会怎么样了?对于这个问题,我们还是用一个房子的例子来向大家说明这个问题。如图4所示,对于我们这个新的代价函数,如果我们所选太大,即意味着会很小,接近于0,在这里我们就几乎可以不考虑后面的四项了,那么这个模型函数就成了h(x)=,是一条水平的直线,很明显这个没有很好地描述这个关系,即失败的预测。

图4 price and size

5.4 Regularized linear regression(线性回归的正则化)

     对于,我们在前面也进行了分析,而我们还需要讨论的一个问题就是的问题,我们做的那么多工作,就是为了选择出最好的,那么对于这个新的代价函数,我们的会是怎样了?关于,这个式子是永远不会变的,就是,所以,对这个式子进行整理下,得到,关于是小于1的,所以有了使变小了。

5.5 Regularized logistic regression(逻辑回归的正则化)

对于logistic regression问题,在前面我们也给出了如图5所示的overfit问题。同样的,我们对cost function做出了一些改变,,而对于的求法也做出对应的改变,,注意这里的h(x)=

图5 logistic regression

Regularization(正则化)相关推荐

  1. 机器学习之数学基础(四)~Lasso Regression回归, L1、L2 Regularization正则化, 回归问题中的损失函数

    目录 1. Lasso回归 1.1 概念 1.2 正则化 1.3 Lasso回归模型 1.4 为什么Lasso Regression可以做降维? 1.5 参数求解 (1)坐标轴下降法 (2)最小角回归 ...

  2. 吴恩达机器学习笔记(三) —— Regularization正则化

    主要内容: 一.欠拟合和过拟合(over-fitting) 二.解决过拟合的两种方法 三.正则化线性回归 四.正则化logistic回归 五.正则化的原理 一.欠拟合和过拟合(over-fitting ...

  3. Neural Networks and Deep Learning - 神经网络与深度学习 - Overfitting and regularization - 过拟合和正则化

    Neural Networks and Deep Learning - 神经网络与深度学习 - Overfitting and regularization - 过拟合和正则化 Neural Netw ...

  4. 吴恩达《Machine Learning》精炼笔记 3:回归问题和正则化

    作者 | Peter 编辑 | AI有道 今天带来第三周课程的笔记:梯度下降与正规方程. 主要讲解的内容包含: 逻辑回归 代价函数 线性回归和逻辑回归的比较 正则化问题 逻辑回归 分类问题 假设预测的 ...

  5. 吴恩达深度学习笔记(四)—— 正则化

    有关正则化的详细内容: 吴恩达机器学习笔记(三) -- Regularization正则化 <机器学习实战>学习笔记第五章 -- Logistic回归 主要内容: 一.无正则化 二.L2正 ...

  6. 归一化、标准化和正则化

    归一化 Normalization 归一化一般是将数据映射到指定的范围,用于去除不同维度数据的量纲以及量纲单位. 常见的映射范围有 [0, 1] 和 [-1, 1] ,最常见的归一化方法就是 Min- ...

  7. L1L2 Regularization的原理

    L1&L2 Regularization 正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下 ...

  8. DL2 - Improving Deep Neural Networks- Hyperparameter tuning, Regularization and Optimization

    title: DL2 - 在实际应用中如何使得神经网络高效工作 date: 2019-08-14 02:40:57 tags: deeplearning categories: deeplearnin ...

  9. 偏差与方差、L1正则化、L2正则化、dropout正则化、神经网络调优、批标准化Batch Normalization(BN层)、Early Stopping、数据增强

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 3.2 深度学习正则化 3.2.1 偏差与方差 3.2.1.1 ...

最新文章

  1. [YTU]_2008( 简单编码)
  2. 在Ubuntu桌面上显示我的电脑等图标
  3. docker无法连接mysql镜像_关于Docker官方CentOS镜像无法启动mysqld的总结
  4. rspec 测试页面元素_如何使用RSpec对Go应用进行黑盒测试
  5. 信息安全工程师考试大纲-科目2:信息安全应用技术
  6. 关于Resnet50和ResNeXt50的参数量的简单计算(只考虑卷积层和全连接层)
  7. mysql5.7.21压缩版_mysql5.7.21解压版安装配置图文
  8. mysql最早出现的数据模型_在数据库发展史中出现的数据模型有哪些
  9. SaaS应用架构师所面临的最大挑战
  10. 透视形变(perspective distortion)
  11. 输入法辅助工具:自动切换输入法 for Mac
  12. 京东商城逆势融资B2C成投资热土
  13. BZOJ_3689_异或之_可持久化Trie+堆
  14. 经常发Email,你知道“抄送(Cc)”、“密送(Bcc)”的意思吗?
  15. 企业级数据管理——DAMA数据管理
  16. cFosSpeed(网络加速器软件)官方中文版V11.10.2483 | 网络优化大师 | 绝佳的电脑网络延迟解决方法
  17. 2020 年中国程序员薪资和生活现状调查报告
  18. 自动化测试工具加入黑科技带来新纪元
  19. 苹果WWDC学习框架Core ML的发布,正式嵌入终端设备
  20. 基于 Java 的答题卡识别系统

热门文章

  1. 一心多用多线程-Thread的interrupt机制
  2. oracle报12560protocol,sqlplus连接时报:ORA-12560: TNS:protocol adapter error解决方案
  3. React-Native 创建App项目
  4. 在计算机中 汉字系统把一个汉字表示为,计算机问题汉字系统在计算机内把一个汉字表示 – 手机爱问...
  5. 访问windows azure虚拟机iis服务器,Azure使用文件共享从IIS虚拟机共享照片?
  6. OAI网络切片三切片配置
  7. linux 怎么撤销移动命令,Linux的常用命令
  8. linux实验手册汇总,Linux实验手册汇总(226页)-原创力文档
  9. 初识JavaWeb(web开发概述、web开发环境的搭建、创建并发布web项目)
  10. metis 多线程图划分论文笔记