吴恩达老师机器学习课程chapter05——评估模型
吴恩达老师机器学习课程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——评估模型的更多相关文章
- 机器学习爱好者 -- 翻译吴恩达老师的机器学习课程字幕 http://www.ai-start.com/
机器学习爱好者 -- 翻译吴恩达老师的机器学习课程字幕 GNU Octave 开源 MatLab http://www.ai-start.com/ https://zhuanlan.zhihu ...
- 吴恩达《机器学习》课程笔记——第六章:Matlab/Octave教程
上一篇 ※※※※※※※※ [回到目录] ※※※※※※※※ 下一篇 这一章的内容比较简单,主要是MATLAB的一些基础教程,如果之前没有学过matlab建议直接找一本相关书籍,边做边学,matl ...
- 吴恩达《机器学习》课程总结(5)_logistic回归
Q1分类问题 回归问题的输出可能是很大的数,而在分类问题中,比如二分类,希望输出的值是0或1,如何将回归输出的值转换成分类的输出0,1成为关键.注意logistics回归又称 逻辑回归,但他是分类问题 ...
- 深度学习 吴恩达深度学习课程2第三周 tensorflow实践 参数初始化的影响
博主 撸的 该节 代码 地址 :https://github.com/LemonTree1994/machine-learning/blob/master/%E5%90%B4%E6%81%A9%E8 ...
- 吴恩达《机器学习》课程笔记——第七章:Logistic回归
上一篇 ※※※※※※※※ [回到目录] ※※※※※※※※ 下一篇 7.1 分类问题 本节内容:什么是分类 之前的章节介绍的都是回归问题,接下来是分类问题.所谓的分类问题是指输出变量为有限个离散 ...
- 吴恩达《机器学习》课程总结(18)_照片OCR
18.1问题描述和流程图 (1)图像文字识别是从给定的一张图片中识别文字. (2)流程包括: 1.文字侦测 2.字符切分(现在不需要切分了) 3.字符分类 18.2滑动窗口 在行人检测中,滑动窗口是首 ...
- 吴恩达《机器学习》编程作业——machine-learning-ex1:线性回归
❄❄❄❄❄❄❄❄[回到目录]❄❄❄❄❄❄❄❄ 本次编程作业中,需要完成的代码有如下几部分: [⋆] warmUpExercise.m - Simple example function in Octa ...
- 跟我学算法-吴恩达老师(超参数调试, batch归一化, softmax使用,tensorflow框架举例)
1. 在我们学习中,调试超参数是非常重要的. 超参数的调试可以是a学习率,(β1和β2,ε)在Adam梯度下降中使用, layers层数, hidden units 隐藏层的数目, learning_ ...
- 跟我学算法-吴恩达老师(mini-batchsize,指数加权平均,Momentum 梯度下降法,RMS prop, Adam 优化算法, Learning rate decay)
1.mini-batch size 表示每次都只筛选一部分作为训练的样本,进行训练,遍历一次样本的次数为(样本数/单次样本数目) 当mini-batch size 的数量通常介于1,m 之间 当 ...
- 跟我学算法-吴恩达老师的logsitic回归
logistics回归是一种二分类问题,采用的激活函数是sigmoid函数,使得输出值转换为(0,1)之间的概率 A = sigmoid(np.dot(w.T, X) + b ) 表示预测函数 dz ...
随机推荐
- mybatis懒加载
mybatis懒加载全局配置 <settings> <setting name="mapUnderscoreToCamelCase" value="tr ...
- Matplotlib 实现画中画
需要导入的包 inset_axes 要实现画中画,即在原画轴上添加新轴,需要用到mpl_toolkits.axes_grid1.inset_locator的inset_axes. 基本用法 new_a ...
- shell实现接口初次失败告警,恢复也发送一次通知
1.该shell判断 第一次失败告警,接口恢复发送一次通知 参数:一个参数接口返回结果0 表示成功 1表示失败 脚本详情 [root@localhost bd]# more bd-new.sh #!/ ...
- 关于我在安装2.6.9版本bochs虚拟机时遇到的问题以及解决过程
更新于:2019.7.2 在阅读<一个64位操作系统的设计与实现>过程中,搭建实验环境遇到的诸多困难. 本人的实验环境:vmware15.0 下安装有kali-liunx虚拟机里进行的安装 ...
- python日志logging配置
python日志logging配置 为了方便ELK收集日志,将日志打印成json格式 开发过程中,使用json格式不方便排查问题 本文章使用python的logging模块,一步步增加配置,来说明每个 ...
- vue3 reactive值不更新
即上一个随笔里面的form表单数据定义的问题之后,又出现了另一个问题. 页面里面有一个数组: let ruleForm = reactive([ { name:'123456' } ]) 我要 ...
- Oracle查询表中的各列的列名,数据类型,以及类型长度
SELECT table_name, column_name, data_type,data_length FROM all_tab_cols WHERE table_name = UPPER('ba ...
- 跨平台Docker篇
前言 总结自 老张的哲学b站视频[10分钟学会Blog.Core(ASP.NETCORE)基本完结]https://www.bilibili.com/video/BV1vC4y1p7Za?vd_sou ...
- shell语法4-printf命令、test命令和判断符号[]、逻辑运算符&&和||
一.printf命令 printf命令用于格式化输出,类似于C/C++中的printf函数. 默认不会在字符串末尾添加换行符!!! 例如: printf "%10d.\n" 123 ...
- MARKDOWN操作
我是中国人 我是中国人 字体 Hello,World! Hello,World! 引用 选择狂神说 分割线 图片 图片2 超链接 点击转到链接 列表 A B C D 表格 ...