机器学习评估与优化方法

来源:互联网 发布:文案策划知乎 编辑:程序博客网 时间:2024/05/17 04:31
https://www.coursera.org/learn/machine-learning/home/week/6

提高算法精度的方法

  1. 用更多样本
  2. 减少特征
  3. 增加特征
  4. 增加ploynormial项
  5. 增加lambda
  6. 减少lambda

对假设函数的评估

一般情况下训练误差并不是越小越好, 也会有过拟合现象

判断方法是否过拟合:

  1. plot
  2. 切分出训练集和测试集

模型选择

  1. 切分出训练集测试集验证集(交叉验证)
  2. 交叉验证集用来选取最优的模型
  3. 测试集用来测试泛化程度

欠拟合和过拟合Bias/variance

这里写图片描述
可以通过交叉验证验证是否过拟合和欠拟合,寻找最好模型
这里写图片描述
对于训练集的误差如图中的曲线, 随着线性拟合的阶数的提高误差减少
但是交叉验证的误差由高到低, 由欠拟合到过拟合, 最低点是最优模型.

bias/variance与正则化之间的关系

我们需要选择一个合适的正则化参数λ得到最优的模型

这里写图片描述

这里写图片描述

由于模型是4次幂, 不加入正则项试过拟合的, 所以对于训练集的误差在λ小时候误差小, 在λ变大时候过拟合逐渐变成欠拟合,误差变大
对于交叉验证的曲线, 只有在合适的λ下才是最小误差, 无论过拟合欠拟合都会有大误差.

学习曲线

学习曲线可以使我们轻松地看出拟合和过拟合问题
采用不同训练集会对训练误差和测试误差有不同的影响

无过拟合和欠拟合情况下的学习曲线

这里写图片描述
此种情况下的训练误差随着训练集的增加而增加
测试集减少, 最终二者得到误差是有一些距离的

欠拟合情况

欠拟合的情况下, 最终的误差都会很大,并且二者的值非常接近

这里写图片描述

过拟合情况

过拟合情况下, 训练误差会很下, 测试误差很大, 二者在一定样本下距离很大, 但是训练集很多情况下, 会取得好效果!

这里写图片描述

方法选择?

这里写图片描述

神经网络结构与连接形式的选择技巧

一般情况下选用一个大型的网络和合适的正则化参数会比小网络的效果好,但是计算量大
这里写图片描述

偏斜类问题

例如, 对癌症进行分类, 给定的训练集和有0.5%的患者, 只需要预测所有人都不是癌症患者那么误差就能保证在0.5%.

Precision/recall 查准率/召回率

这里写图片描述
例子: 逻辑回归来判断癌症患者
我们知道用逻辑回归预测的值在[0,1]之间, 一般情况我们将0.5设为阈值, 大于0.5的情况是认为患有癌症, 小于则认为没有癌症.
1. 若我们提高这个阈值,例如0.7, 那么我们只有在很确信的情况下认为样本是癌症, 即具有较高的查准率.
2. 若降低到0.3, 那么没病的人不会轻易被判断到有病的情况即(False negative)且几乎所有的病人会成功被判断出来, 那么具有较高的召回率, 但是会有很多不是病人的人被判断成病人, 降低了查准率.
二者是一个此消彼长的关系.

这里写图片描述

二者数值的优劣判断

这里写图片描述

UsinglargeDataSets训练集的规模选取

取得成功的人不是拥有最好算法的人, 而是拥有最多数据的人.

大数据集的rationale

这里写图片描述

  1. 使用多特征 可以减少欠拟合
  2. 使用大训练集合 减少过拟合
0 0
原创粉丝点击