前言:若需获取本文全部的手书版原稿资料,扫码关注公众号,回复: 机器学习基础概念 即可获取。

原创不易,转载请告知并注明出处!扫码关注公众号【机器学习与自然语言处理】,定期发布知识图谱,自然语言处理、机器学习等知识,添加微信号【17865190919】进讨论群,加好友时备注来自CSDN。

上个系列【数字图像处理】还将继续更新,最近由于用到机器学习算法,因此将之前学习到的机器学习知识进行总结,打算接下来陆续出一个【机器学习系列】,供查阅使用!本篇便从机器学习基础概念说起!

一、解释监督学习,非监督学习,半监督学习的区别

监督学习、非监督学习和半监督学习区别就是训练数据是否拥有标签信息

1、监督学习:给出了数据及数据的标准答案来训练模型,Regression回归问题、classification分类问题都是典型的监督学习

(1) 监督学习之Regression回归问题举例:房屋价格预测

给出了以往房屋面积和价格之间正确实际数据,预测房屋面积和价格之间的关系

(2) 监督学习之classification分类问题

乳腺肿瘤大小和年龄特征判断该肿瘤良性还是恶性,X代表恶性、O代表良性

2、非监督学习:给了一组数据,但没有给出数据的标签(答案)信息,需要我们从数据中去发现数据间隐藏的结构信息,聚类问题是典型的非监督学习。(左:监督,右:非监督学习)

3、半监督学习:给出了大量没有标签的数据和少量拥有标签的数据训练模型

二、解释模型过拟合,欠拟合,正则化,泛化能力

1、欠拟合:模型没有很好的捕捉到数据特征,不能够很好的拟合数据

上左图:没有很好的拟合数据,出现欠拟合;上右图:很好的拟合了数据

2、过拟合:模型把训练数据学的“太好了”,导致把数据中的潜在的噪声数据也学到了,测试时不能很好的识别数据,模型的泛化能力下降,如下图:

3、正则化:正则化可防止模型过拟合,在训练中数据往往会存在噪声,当我们用模型去拟合带有噪声的数据时,通过假如正则化平衡模型复杂度和损失函数之间的关系,防止模型过拟合,可定义如下公式:

4、范化能力:训练的模型适用于新样本的能力,称为“泛化”能力,具有强范化能力的模型能很好的适用于整个样本空间

三、防止过拟合的处理方法

1、Early Stopping提前终止

Early Stopping既是在训练集迭代收敛之前停止迭代以防止过拟合,看下图:

开始随着训练集迭代验证集上的误差随着训练集的误差一起下降,但当迭代超过一定步数之后,训练集的误差还在降低,但是验证集的误差已经不在下降并且误差有所上升,因此当验证集的误差不再变化时,我们便可以提前终止训练

具体做法是:每迭代一定步数之后,我们便计算一些验证集上的存在的误差,当验证集的误差不再降低时,便停止训练。

2、数据集扩增

可以说数据集扩增是防止过拟合最好最根源的方式,有时候拥有更多的数据胜过一个好的模型,过拟合既是在模型训练时对训练数据学习的太好了,举个例子如果我们训练一个东西是不是叶子,如果数据集的叶子都是锯齿状,当模型过拟合时便会认为所有的叶子都是锯齿状的,此时模型再好也不如往数据集中增强新的非锯齿状的叶子,便会防止出现过拟合。
如何获取更多的数据:
(1) 从数据源头获取更多的数据
(2) 根据当前数据集估计数据分布参数,使用该分部产生更多的数据
(3) 数据增强,通过一定规则在现有数据集的基础上扩充数据

3、正则化

正则化思想:由于模型过拟合很大可能是因为训练模型过于复杂,因此在训练时,在对损失函数进行最小化的同时,我们要限定模型参数的数量,即加入正则项,即不是以为的去减小损失函数,同时还考虑模型的复杂程度

未加入正则项的模型损失函数:

加入正则项L后损失函数:

其中λ是正则项系数,是用来权衡正则项和损失函数之间权重,正则化有以下两种:

(1) L1正则化(L1范数):权重向量w的绝对值之和

(2) L2正则化(L2范数):权重向量w的平方和再求平方根,欧几里得范数,其中w代表模型的参数,k则代表了模型参数的个数

(3) L1正则化和L2正则化的区别

L1正则化和L2正则化都会使得权重矩阵变小,即权重w变小,因此都具有防止过拟合的能力,但不同是L1正则化更易产生系数的权重矩阵,即权重w变小为0;L2正则化只会是w变小但不会出现大量为0现象

这里请注意,以下给出三个重要解释

解释1:为什么权重w变小能防止过拟合? 先看下图:

过拟合时,拟合函数的系数往往比较大,正如上图,红色过拟合函数曲线需要估计到训练集中的每一个点,最终形成了波动很大的拟合函数。所以在过拟合函数的某些区间里,函数值的波动很大, 这便会使得函数在该区间的导数值的绝对值很大,由于自变量有大有小,所有只有系数w足够大才能保证导数值足够大。因此控制参数w的范数不要太大,曲线波动便会小,能更好的拟合数据。

解释2:为何L1正则化更易产生系数权重矩阵,而L2不会出现大量w值为0?

先看L1正则化损失函数:

其中J0是原始损失函数,如下图是在二维空间中,只有两个权重即w1和w2,此时求解J0可以画出等值线,同时L=∑w|w| 可以画出方形,当两个图形相交时便得出最优解:

如图所示,当前最优解是:

可以看出L1正则化是权重的绝对值之和,图形有很多突出的角,二维情况下有四个,多维情况下将会更多,J0与这些角的接触几率远大于与L1其他部分接触的几率,因此最优解中将会有大量是与这些角接触得到的,所以有w = 0,因此L1正则化便会产生稀疏的权重矩阵

我们再来看看L2损失函数:

如下图所示,与L1正则化不同的是L2正则化中L2= α∑ww2 图形是一个圆,这样最优解w出现为0的几率便会小很多,所以不具有产生稀疏权重矩阵的性质

解释三:为什么假如L2正则化和L1正则化会出现权重衰减?

对L2正则化损失函数 J=J0+ α∑ww2 求导得:

可以得出w更新公式为:

在不使用L2正则化时,求导结果中w前的系数为1,先上式w前系数是(1-2ηα),其中η、α都是整数,因此(1-2ηα)小于1,便会使得w权重衰减:

同理对L1正则化损失函数 J= J0 + α∑w|w| 求导可得:

上式sgn表示权重w的符号,因为原式中是绝对值|w|,求导后便有符号,w的更新规则为:

比未加入L1正则化多出了- ηα*sgn(w),可以分析无论w为正还是为负,在上式中w的绝对值均会变小,出现权重衰减。

4、dropout

dropout是深度学习中降低过拟合风险的方法,神经网络产生过拟合主要是因为神经元之间的协同作用产生的,dropout便是在神经网络训练过程中让部分神经元失活,阻断部分神经元之间的协同作用,减少神经元之间的联合适应性。看下图:

对上图神经网络使用dropout方法后:

欢迎指正讨论!

机器学习概念篇:监督学习、过拟合,正则化,泛化能力等概念以及防止过拟合方法总结相关推荐

  1. 机器学习学习笔记-多项式中的过拟合,泛化能力等

    引用于 机器学习中模型泛化能力和过拟合现象(overfitting)的矛盾.以及其主要缓解方法正则化技术原理初探 - 郑瀚Andrew.Hann - 博客园 (cnblogs.com) 说在前面的一点 ...

  2. 欠拟合与过拟合、泛化能力概念总结及python示例

    目录 1. 基本概念 2. python示例 3. 欠拟合产生的原因与解决方法 4. 过拟合产生的原因与解决方法 5. 欠拟合和过拟合的简明判断方法 1. 基本概念 机器学习中欠拟合(underfit ...

  3. 正则化方法/防止过拟合提高泛化能力的方法:L1和L2 regularization、数据集扩增、dropout

    转载自:http://blog.csdn.net/u012162613/article/details/44261657 本文是<Neural networks and deep learnin ...

  4. 泛化能力的概念generalization ability

    概括地说,泛化能力(generalization ability)是指机器学习算法对新鲜样本的适应能力.学习的目的是学到隐含在数据对背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出 ...

  5. 机器学习模型调优方法(过拟合、欠拟合、泛化误差、集成学习)

    机器学习模型调优方法 过拟合和欠拟合 降低过拟合风险的方法 降低欠拟合风险的方法 泛化误差.偏差和方差 泛化误差 偏差和误差 模型评估 Holdout检验 交叉检验 自助法 集成学习 Boosting ...

  6. 计算机视觉面试宝典--深度学习机器学习基础篇(四)

    计算机视觉面试宝典–深度学习机器学习基础篇(四) 本篇主要包含SVM支持向量机.K-Means均值以及机器学习相关常考内容等相关面试经验. SVM-支持向量机 支持向量机(support vector ...

  7. 机器学习笔记(二)学习方法、误差与泛化能力

    目录 一.方法 (一)模型: (二)策略:(最优化问题) 1.损失函数(指标) 2.期望与均值 3.最优化问题 (三)算法 二.误差与泛化能力 1.训练误差与测试误差 2.泛化能力与泛化误差 3.过拟 ...

  8. 《菜菜的机器学习sklearn课堂》随机森林应用泛化误差调参实例

    随机森林 随机森林 - 概述 集成算法概述 sklearn中的集成算法 随机森林分类器 RandomForestClassifier 重要参数 控制基评估器的参数 n_estimators:基评估器的 ...

  9. 云原生CI/CD:Tekton/pipelin之pipeline概念篇

    云原生CI/CD:Tekton/pipelin之pipeline概念篇 本节介绍下tekton中pipeline概念.作为云原生的CI/CD神器在之前介绍的task和taskrun之后,还有什么强大的 ...

  10. 斯坦福马腾宇:用显式正则器提升深度神经网络的泛化能力

    2019年12月30日,在"智源论坛·海外学者学术报告会"上,斯坦福大学计算机科学和统计学助理教授马腾宇博士做了<为深度模型设计显式正则器>的主题演讲.马腾宇,本科就读 ...

最新文章

  1. docker process tree
  2. 如何在窗体之间通讯的几种方法 ? VB.NET方案
  3. C ++中带有示例的llabs()函数
  4. python中表示空类型的是_python中怎么表示空值
  5. c语言程序设计 第三版 哈工大,c语言程序设计 哈工大 苏小红 第三章习题
  6. Android应用开发(10)---资源类型
  7. Rust: Operations with sequence
  8. 高斯牛顿迭代法的原理及实现(经典例子,附C和C++代码,含运行结果)
  9. php拍照功能,Javascript+PHP兑现在线拍照功能
  10. 浅谈互联网寒冬Android进阶之路
  11. PTA每日一题-Python-身份证校验
  12. 游戏产业链:游戏引擎
  13. 微信小程序服务器端用什么语言开发?
  14. C语言程序设计博客作业06
  15. 漫说Android 中SurfaceView蕴含的美
  16. PWM控制技术+Simulink仿真详解
  17. linux 内存管理 (一) 基本的一些概念
  18. 激发创意的35个超经典广告合集
  19. php利用phpword读取word
  20. 联想r720安装固态_联想拯救者R720-15IKBN笔记本加装SSD不识别的案例

热门文章

  1. python模块paramiko与ssh
  2. C#中的线程(三)多线程
  3. 基于数据库复制的技术架构讨论
  4. Cannot complete this action,please try again. Correlation ID :bd640a9d-4c19-doff-2fe0-6ce1104b59ae
  5. 我眼中的2011年互联网大事记
  6. CURL的学习和应用
  7. Pentium的保护工作方式
  8. linux异步事件框架,基于Cortex-M系列CPU的异步事件驱动中间件
  9. mysql post 注入工具类_【Mysql sql inject】POST方法BASE64编码注入write-up
  10. mysql隐式锁_innodB的隐式锁