Sixth week of machine learning on Coursera
来源:互联网 发布:手机助手 for mac 编辑:程序博客网 时间:2024/06/18 14:10
Sixth week of machine learning on Coursera
@(Coursera)
模型选择最佳方法
是将数据集分为训练集、交叉验证集和测试集,比例为
模型选择问题如下图:
举线性模型例子来说,提供了10个线性模型,最高项从
我们使用交叉验证集来验证各个模型的误差,取损失函数最小的模型,比如是第四个模型,也就是
偏差和方差(Bias and Variance)
- 高偏差:
Jtrain(θ)和Jcv(θ)都很高; - 高方差:
Jtrain(θ)很小,但Jcv(θ)很高;
一般我们会画出学习曲线(learning curves)来查看此时算法处在high bias or high variance: high bias:
如下图,
- 当训练集size比较小时,
- 当训练集size比较大时,
训练集size对high bias减小cost没什么帮助。
high variance:
如下图,
- 当训练集size比较小时,
- 当训练集size比较大时,
训练集size对high variance减小cost有较大帮助。
建造一个垃圾邮件分类器
我们使用
推荐的开始方式是:
- 从一个可以快速实现的简单算法开始,实现它并且在交叉验证集上测试;(我觉得这个思想很重要,在看《Algorithms》那本算法书的时候,同样指导在遇到一个问题时首先可以使用暴力法将问题解决,再从暴力法中查找是否有些地方可以优化,而不用一开始就想着设计一个非常复杂的方法。
)
- 画出学习曲线(learning curves)来决定是否需要更多的数据、更多的特征等等。
- 误差分析:手动查找错误分类的样本,看一下它们本来属于什么类型?你认为什么特征可以帮助来正确分类它们?可以发现一些系统性的规律某类样本一直被错误分类。
评价分类器性能的指标一般是分类准确率:对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。
还有一些常用的评价指标比如Precision精确率、Recall召回率
其中:
- TP—将正类预测为正类;
- FN—将正类预测为负类;
- FP—将负类预测为正类;
- TN—将负类预测为负类;
此外还有
为什么我们除了准确率以外还需要上述其他评价指标呢?
看个例子,比如对癌症病人的预测,其实是个0-1分类问题,我能做到分类的准确率为97%,但其实癌症的概率为2%,也就是说如果我对所有的样本都分类为没有得癌症,那么我的准确率是不是有98%了,这比我用分类算法来分类的效果还要好,所以单纯用一种评价标准是不够的。
如上所述,(
习惯性用y=1表示出现很少的类别
),在这里将得癌症的y值为1,也就是正类,那么可以发现
和准确率accuracy一样,我们希望Percision 和Recall越高越好,越高表示模型越好。
平衡precision和Recall
还是以癌症的例子举例,我们使用
-
-
如果我们想能非常自信的预测一个新样本确实是患有癌症(y=1),可以将阈值0.5增大,那此时被分为y=1的样本,本身更大概率就是患有癌症的。也就是
另一种情况,癌症是中非常严重的病,不能错漏一个可能有病的人,此时可以将阈值0.5调低一些,对应的
那么如何在
可以使用我们上文使用的
- Sixth week of machine learning on Coursera
- first week of machine learning on Coursera
- Second week of machine learning on Coursera
- Third week of machine learning on Coursera
- Seventh week of machine learning on Coursera
- Fourth and fifth week of machine learning on Coursera
- Machine Learning - Andrew Ng on Coursera (Week 1)
- Machine Learning - Andrew Ng on Coursera (Week 2)
- Machine Learning - Andrew Ng on Coursera (Week 3)
- Machine Learning - Andrew Ng on Coursera (Week 4)
- Machine Learning - Andrew Ng on Coursera (Week 5)
- Machine Learning - Andrew Ng on Coursera (Week 6)
- Outline of Machine Learning created by Andrew Ng on Coursera
- Coursera Machine Learning Week 1.1: Introduction
- Coursera Machine Learning Week 3.1: Logistic Regression
- Coursera Machine Learning Week 3.2: Regularization
- Coursera Machine Learning Week 8.1: Clustering
- coursera Machine Learning Week 1学习笔记
- 结构体A 选票统计
- sstream、fstream部分应用
- 每个程序员都该知道的 5 个定律
- 结构体B 最终排名
- Ubuntu 免密码登陆设置
- Sixth week of machine learning on Coursera
- 结构体C 英文金曲大赛
- 欢迎使用CSDN-markdown编辑器
- 多线程:线程管理
- Windows操作系统中“源路径太长”问题的解决办法
- Java学习之路--那些年踩过的坑
- Android源码解析之进程间通信(IPC)机制Binder解构简析和学习计划
- code之前序遍历
- fir