初识机器学习——吴恩达《Machine Learning》学习笔记(十一)

机器学习系统设计

确定执行的优先权(Prioritizing what to work on:Spam classification example)

问自己两个关键测试的问题:

1、当一个专家看到了这些特征量x,他能很有信心的预测出y值吗?
2、我们能获得庞大的训练数据集吗,并用很多参数去训练学习算法?

误差分析(Error analysis)

当你遇到一个机器学习的问题时,推荐的方法:

1、从能迅速实现的简单算法开始。实现它并基于交叉验证集测试它;

2、画学习曲线,决定更多数据、或者更多特征等方法是否可能有帮助;

3、误差分析(使用交叉验证集,而不是测试集):人工分析出现错误的验证集的样本,查看是否在某些类型的样本上出现系统性出错趋势。单一规则的数值评价指标\算法的评估\误差度量值

 

不对称分类的误差评估(Error metrics for skewed classes)

问题来源,以癌症例子为例,算法误差1%,但只有0.5%的病人是真正有癌症的,比误差还小。
这就是,负样本的数量远远少于正样本的数量,这就是偏斜类问题。这样中问题,总是预测0或预测1,就会是误差很小。只用之前的预测精确度评估算法好不好就显得捉襟见肘了。
因此,需要一个不同的测量标准。

查准率(精确度)和召回率:

精确率:预测有病(y=1)的人中,有多少真有病。
召回率:真正有病的人中,有多少是预测对了的,叫病人回来,给予治疗。

 

查准率和召回率的权衡(Trading off precision and recall)

如何权衡查准率和召回率?高查准率以及高召回率才是我们的选择

 

使用F score公式来选择算法的好与不好

机器学习数据(Data for machine learning)

有足够的特征量以及很多类函数,保证低偏差。
有大量的数据,保证低方差。
这两个条件,可以使你得到一个高性能的学习算法。
Andrew总是问自己两个关键测试的问题:

1、当一个专家看到了这些特征量x,他能很有信心的预测出y值吗?
2、我们能获得庞大的训练数据集吗,并用很多参数去训练学习算法?

posted @ 2018-08-02 20:12  Ta来自江湖  阅读(380)  评论(0编辑  收藏  举报