吴恩达老师机器学习课程chapter05——评估模型

本文是非计算机专业新手的自学笔记,高手勿喷。

本文仅作速查备忘之用,对应吴恩达(AndrewNg)老师的机器学期课程第十章、第十一章。



在运用一个训练集训练完一个假设之后,如何评估假设效果如何?

如果发现该假设的效果并不好,如何决定下一步的工作?


评估模型方法

训练集(training set)与测试集(test set)

在回归问题与分类问题中的评估方法:

训练集、交叉验证集(cross validation set / cv)与测试集

通常,我们不能在一开始就决定用什么样的模型,可以加入交叉验证集。

首先,利用训练集训练完不同模型;

之后,利用交叉验证集计算每个模型的\(J_{cv}(\theta^{i})\);

最后,选择\(J_{cv}\)最小的那组作为最终假设模型。


高偏差(bias)与高方差(variance)

基本概念

由图可见,模型的阶数越高,对训练集的拟合效果越好,但是对训练集之外的其他样本则未必,会出现两种情况:

  • 阶数过低,欠拟合,高偏差
  • 阶数过高,过拟合,高方差

正则化的影响

由图可见,合适的模型下,正则化强度越小,模型更可能过拟合;正则化强度越大,模型更可能欠拟合



可以通过 λ=0.1、λ=0.2、λ=0.4、λ=0.8、λ=1.6、λ=3.2、λ=6.4……这样的方法选择合适的λ。

学习曲线(learning curve)

在高偏差与高方差情况下的学习曲线:

神经网络的过拟合


查准率(pecision)与召回率(recall)

查准率 (P)$=\frac{TP}{TP+FP} $ 所有判P的样本当中多少是TP

召回率 (R)$=\frac{TP}{TP+FN} $ 所有真P的样本当中多少是TP

查准率、召回率与阈值之间的关系:

一般来说,阈值(threshold)设为0.5,也就是说\(h_θ(x)\)≥0.5,y=1,否则,y=0。

当希望获得更高的P,提升阈值,但召回率下降;

当希望获得更高的R,降低阈值,但查准率下降。

单纯追求高P或者高R都是不可取的,直接取两者的算数平均值是不明智的。可以选择调和平均值:

设计算法的一般思路

吴恩达老师机器学习课程chapter05——评估模型的更多相关文章

  1. 机器学习爱好者 -- 翻译吴恩达老师的机器学习课程字幕 http://www.ai-start.com/

    机器学习爱好者 -- 翻译吴恩达老师的机器学习课程字幕 GNU Octave    开源  MatLab http://www.ai-start.com/ https://zhuanlan.zhihu ...

  2. 吴恩达《机器学习》课程笔记——第六章:Matlab/Octave教程

    上一篇  ※※※※※※※※  [回到目录]  ※※※※※※※※  下一篇 这一章的内容比较简单,主要是MATLAB的一些基础教程,如果之前没有学过matlab建议直接找一本相关书籍,边做边学,matl ...

  3. 吴恩达《机器学习》课程总结(5)_logistic回归

    Q1分类问题 回归问题的输出可能是很大的数,而在分类问题中,比如二分类,希望输出的值是0或1,如何将回归输出的值转换成分类的输出0,1成为关键.注意logistics回归又称 逻辑回归,但他是分类问题 ...

  4. 深度学习 吴恩达深度学习课程2第三周 tensorflow实践 参数初始化的影响

    博主 撸的  该节 代码 地址 :https://github.com/LemonTree1994/machine-learning/blob/master/%E5%90%B4%E6%81%A9%E8 ...

  5. 吴恩达《机器学习》课程笔记——第七章:Logistic回归

    上一篇  ※※※※※※※※  [回到目录]  ※※※※※※※※  下一篇 7.1 分类问题 本节内容:什么是分类 之前的章节介绍的都是回归问题,接下来是分类问题.所谓的分类问题是指输出变量为有限个离散 ...

  6. 吴恩达《机器学习》课程总结(18)_照片OCR

    18.1问题描述和流程图 (1)图像文字识别是从给定的一张图片中识别文字. (2)流程包括: 1.文字侦测 2.字符切分(现在不需要切分了) 3.字符分类 18.2滑动窗口 在行人检测中,滑动窗口是首 ...

  7. 吴恩达《机器学习》编程作业——machine-learning-ex1:线性回归

    ❄❄❄❄❄❄❄❄[回到目录]❄❄❄❄❄❄❄❄ 本次编程作业中,需要完成的代码有如下几部分: [⋆] warmUpExercise.m - Simple example function in Octa ...

  8. 跟我学算法-吴恩达老师(超参数调试, batch归一化, softmax使用,tensorflow框架举例)

    1. 在我们学习中,调试超参数是非常重要的. 超参数的调试可以是a学习率,(β1和β2,ε)在Adam梯度下降中使用, layers层数, hidden units 隐藏层的数目, learning_ ...

  9. 跟我学算法-吴恩达老师(mini-batchsize,指数加权平均,Momentum 梯度下降法,RMS prop, Adam 优化算法, Learning rate decay)

    1.mini-batch size 表示每次都只筛选一部分作为训练的样本,进行训练,遍历一次样本的次数为(样本数/单次样本数目) 当mini-batch size 的数量通常介于1,m 之间    当 ...

  10. 跟我学算法-吴恩达老师的logsitic回归

    logistics回归是一种二分类问题,采用的激活函数是sigmoid函数,使得输出值转换为(0,1)之间的概率 A = sigmoid(np.dot(w.T, X) + b ) 表示预测函数 dz ...

随机推荐

  1. 硬件监控:grafana+prometheus+node_exporter

    一.前期准备: grafana:前端展示平台,没有数据存储功能,但是,它有不同的展示模板,然后,把后端数据库中提供的数据,进行展示 -->展示数据 prometheus(普罗米修斯):时序数据库 ...

  2. windows-sam文件

    sam文件是账号密码的数据库文件 存放位置C:\Windows\System32\Config\sam

  3. BUG: kernel NULL pointer dereference, address: 0000000000000008

    问题现象:有台实例是用于压测用的,只要是做TCP连接数压测时,连接数超过100多就会自动重启,各种日志里面看不到任何关于重启的报错 xxx云服务器供应商技术支持,后台工具检测到有panic迹象,但不确 ...

  4. CodeGym自学笔记02——打印命令

    1.方法的主体由命令组成.我们甚至可以说,方法就是一组被赋予名称(方法名称)的命令. 2.如果你使用几次 System.out.println() 命令,就会发现每次传递给该命令的文本都会显示在单独的 ...

  5. Django 之 ModelForm

    一 Django的form组件 forms组件 二 Django的model form组件 这是一个神奇的组件,通过名字我们可以看出来,这个组件的功能就是把model和form组合起来,先来一个简单的 ...

  6. 第1关—print()函数与转换

    Print()函数的用法有以下几种:单枪匹马--不带引号.搭配单引号.搭配双引号.搭配三引号,我们逐个见识下吧!  1.无引号       注意,这里的括号一定要用[英文括号],不然会报错 impor ...

  7. iOS开发-应用评分引导

    导入头文件#import <StoreKit/StoreKit.h>+ (void)yoStoreReview{ if (@available(iOS 10.3, *)) { if ([S ...

  8. uniapp使用百度地图

    要使用第三方百度地图,首先要去百度地图官方申请一个密钥,之后引入百度地图的API文件,参考使用文档即可开发使用.而在uniapp中是没法直接引入百度地图API文件的,我们要结合uniapp中的web- ...

  9. C# 实时显示时间

    c#实时显示时间 - vv彭 - 博客园 (cnblogs.com)

  10. winform 容器内存泄漏

    循环中释放容器时调用Dispose()方法会销毁对象,导致容器的个数变化. 正确示例//方法一for (int i = this.flowLayoutPanel1.Controls.Count-1; ...