1.过拟合问题

如图所示是线性回归的三种情况:

图一是欠拟合 数据点没有全部被(另一种说法这个算法有高偏差)

图二的二次函数来拟合效果很不错

图三用了4次多项式有5个参数 但是曲线歪歪扭扭的 显得非常的奇葩

我们称为过度拟合 以前学术的说法叫这个算法具有高方差

我们拟合这样一个高阶的假设函数 他几乎能拟合训练集中所有数据 但是变量太多 我们没有足够的数据去约束它来获得一个好的假设函数 到后面新来的数据的预测过程中 可能会导致预测值非常偏离样本值 泛化能力很弱

当然对于逻辑回归也是同样对应这三种情况:

总的来说过度拟合会出现在使用过多特征的情况下 这时候训练出的假设能很好的拟合训练集 所以你的代价函数很接近于0甚至等于0  但是你可能会得到这样的曲线 它千方百计的拟合训练集导致他无法泛化到新来的数据上(泛化指的是一个假设模型应用到新样本的能力) 用房价例子来说就算无法预测训练集之外新来的房子样本的价格 用之前的例子来说

类似的说法同样可以用于逻辑回归

为了解决过拟合 我们有两个办法:

为了解决过拟合 我们有两个办法:

第一:尽量减少特征的数量 其中又有两个思路:

1.我们可以人工检查变量清单 并以此决定 哪些变量更重要则保留 哪些可以舍弃 比如房屋长宽可以合二为一成面积,如房子的颜色(假如他不是很有用)就可以直接删了 。

2. 后面会讲到模型选择算法 这种算法可以自动筛选哪些特征应该保留哪些该删除 。这种方法的缺点就是你舍弃特征的同时也舍弃了问题的一些信息。

第二:正则化 我们保留所有特征,但是减少量级或参数θ的大小。这样会使得我们的曲线更简单更平滑。

2.代价函数

当特征过多时,我们又很难手工剔除参数,那采用正则化就很舒服了。

我们希望消除θ3 θ4这样高阶项的影响 得到右边的二次函数图像

我们不是直接删掉θ3θ4的项而是修改代价函数,我们的目的是最小化代价函数的值,所以加上惩罚项(Penalty Term)后:为了最小化J(θ),由于惩罚性的存在:如下图取1000,那就要让θ3θ4尽可能小了

人为的在代价函数后面加上两个罚因子,这样函数图像就相当于从蓝色的过拟合到粉红了

参数的值越小,一般曲线就越光滑,也就更简单,更不容易过拟合

一般化后得到正则化的代价函数如下图所示,一般化的意思就是比如有很多特征,我们不知道怼哪几个所以全部怼上再说。(由于θ0的是常数项所以约定俗称不怼θ0):

其中λ叫正则化参数,λ若过大则会导致欠拟合、梯度下降无法收敛,过小则抑制θj的效果变小即避免过拟合失败

3.线性回归的正则化

做GRADIENT DESCENT时 由于我们只惩罚θ1 θ2…… 所以把θ0单独写出来进行操作

不难发现天蓝色就是导数(θj的那一坨也同理)

移项整理后

因为α很小m很大所以粉红括号里可以想成是0.99这样的数 所以更新结果就变成了

θj=0.99θj 也就意味正则化后每次迭代θj都往数轴左边走一点点

当然还可以用正规方程来做

 

(对比之前多变量回归的情况就是多加了个蓝笔)

之前我们说过,如果m≤n(变量个数小于等于特征数)那么不可逆,若使用伪逆函数计算虽然会看到一个有意义的解但最后不会得到很好的假设模型。幸运的是在正则化中,只要正则化参数λ>0那这个矩阵就一定不是奇异矩阵(不可逆矩阵)

4.Logistic回归的正则化

逻辑回归用梯度下降法和线性回归的其实在表面上形式完全一样,只不过因为假设函数的定义不一样所以它的本质、内涵不一样。 但是计算过程也是完全一样的。

还有一个用于逻辑回归正则化的方法叫

我们写一个costFunction函数以向量θ作为输入,函数的功能是计算非条件极值,函数会有两个返回值:一个是J(θ)的值另一个是梯度如gradient(0)是对θ0的偏导(若以0开始索引)刚才说了,θ0的偏导正不正则化都是

而θ1以后的偏导是

吴恩达机器学习学习笔记第八章:正则化相关推荐

  1. 吴恩达机器学习学习笔记第七章:逻辑回归

    分类Classification分为正类和负类 (规定谁是正谁是负无所谓) 吴恩达老师举例几个例子:判断邮箱是否是垃圾邮箱 一个在线交易是否是诈骗 一个肿瘤是良性的还是恶性 如果我们用之前学习的lin ...

  2. 吴恩达机器学习--学习笔记

    1. Introduction 1.1 Welcome 如今机器学习被大规模应用于: 数据挖掘(网站点击,医学记录,生物学,工程) 一些无法通过编程实现的功能(自动驾驶,手写识别,NLP,CV) se ...

  3. 吴恩达机器学习学习笔记第二章:单变量线性回归

    模型描述: 训练集(training set):是监督学习中独有的概念,由我们人喂给电脑的既有既有特征x又有结果y的数据.下图x是房子面积 ,y是房屋对应的价格 符号记法解释: (x^(1),y^(1 ...

  4. 吴恩达“机器学习”——学习笔记六

    最优边界分类器(最大间隔分类器)(续学习笔记五) 在线性分类器中,我们要找到一个边界线,使得几何间隔最大,即: ||w||在几何间隔中是无关紧要的,这里取1,使得几何间距和函数间距一致. 但是这个并不 ...

  5. 吴恩达机器学习学习笔记第一章:绪论初识机器学习

    一.   什么是机器学习(Machine Learning)?   首先学习的对象是电脑 学习指的其实就是算法 机器学习就是基于数据基于算法从数据中去提炼对事物的认知和规律 掌握了这些特征和规律后就可 ...

  6. 吴恩达机器学习 学习笔记 之 一 监督学习和无监督学习

    一. 1-1 welcome 1-2 什么是机器学习--Machine Learning 机器学习尚无明确定义,现有的定义有: (1)Field of study that gives compute ...

  7. 吴恩达“机器学习”——学习笔记二

    定义一些名词 欠拟合(underfitting):数据中的某些成分未被捕获到,比如拟合结果是二次函数,结果才只拟合出了一次函数. 过拟合(overfitting):使用过量的特征集合,使模型过于复杂. ...

  8. 吴恩达机器学习学习笔记第九章:神经网络学习

    课时①非线性假设 通过说Linear Regression和logistic Regression的不足来引入神经网络: 安卓告诉我们神经网络并不是什么新玩意儿,老早就有了,但是他经过了一段低迷期直到 ...

  9. 吴恩达机器学习学习笔记第四章:python的配置

    python有两个版本分python2和python3这两个可以说是截然不同了 市面上python语言基础的书籍大多停留在python2 本人紧跟时代潮流 使用的是python3.6 如果你也想学对p ...

最新文章

  1. 深度学习“三部曲”重磅资源、python、DL理论、工程实战全覆盖(附免费下载)...
  2. web js基础3 事件
  3. python if语句
  4. MVC之实体框架(数据持久化框架)EntityFrameWork(EF)
  5. c语言超经典矩阵式键盘的接法,c语言超经典矩阵式键盘的接法,流程图和扫描程序...
  6. iOS 14.0.1修复五大问题,无法连接Wi-Fi已经解决
  7. 【python】socket编程常量错误问题-1 'AF_INET'
  8. C++ 类的静态成员详细讲解(转)
  9. libnids libnet
  10. SQL:postgresql求多个点组成的多边形的geom数据
  11. nginx平滑重启与平滑升级的方法
  12. 在IDEA创建JavaWeb项目
  13. [初识python]使用python给单词表加音标
  14. 百度地图点聚合仿链家定位点多级聚合,且滑动、刷新加载定位点
  15. Mark一下,以提醒自己
  16. FPGA(3)--VHDL及原理图--4位全加器
  17. mysql 三星索引_三星索引系统
  18. 计算机学院学生会招新宣传语,团学招新 | 计算机学院团委、学生会招新啦!(一)...
  19. 三角波发生器电路图分析
  20. ARM 通用寄存器说明

热门文章

  1. AN EMPIRICAL STUDY OF EXAMPLE FORGETTING DURING DEEP NEURAL NETWORK LEARNING 论文笔记
  2. 浅析JS模块规范:AMD,CMD,CommonJS
  3. SAP FI配置步骤
  4. 【计蒜客2017NOIP模拟赛1】
  5. Objective-C的hook方案(一): Method Swizzling
  6. get和post混合提交
  7. 如何在SQL中对行进行动态编号
  8. 存储过程中ORA-01031: insufficient privileges的解决方法
  9. 解决nginx部署后css、js、图片等样式不加载的问题
  10. 解决https无法缓存的问题