数据挖掘day34-CS229-WEEK6 Advice for Applying Machine Learning

1、如何改进模型?

当已经完成一个机器学习模型,而效果并不符合要求时,该如何进行改进?
改进的方向有如下:
1、获取更多训练集;
2、挑选特征,用更小的特征集进行学习;
3、获取训练集数据的更多特征信息,构建更大的特征集;
4、使用更复杂的特征( x 1 2 , x 2 2 , x 1 x 2 x_1^2,x_2^2,x_1x_2 )等;
5、减小 λ \lambda
6、加大 λ \lambda

2、模型评估方法

2.1 简单评估

1、将数据集按7:3划分为训练集和验证集
2、使用验证集验证训练模型的准确率:
使用 J t e s t ( θ ) J_{test}(\theta) ,或错误数量作为评估标准

2.2 特征评估

例如要对特征多项式进行选择,令d为多项式的最高幂
1、将数据集按6:2:2分为训练集(Train),交叉验证集(CV),验证集(Test)
2、使用交叉验证集的误差 J C V ( θ ) J_{CV}(\theta) 来选出最佳d
3、使用训练集训练模型
4、使用验证集进行模型评估

2.3 偏差、方差评估

方差(variance),高方差→过拟合
偏差(bias),高偏差→欠拟合
还是之前确定多项式幂d的例子,随着d的增大,训练集和交叉验证集的误差如下图:
在这里插入图片描述
左侧对应的是高偏差(欠拟合),训练误差很大,检查验证误差也很大,两个接近
右侧对应的是高方差(过拟合),训练误差很小,检查验证远大于训练误差

2.3 正则化与偏差、方差

λ \lambda 过大,高方差→过拟合
λ \lambda 过小,高偏差→欠拟合
λ \lambda 为横坐标,画出的误差图,与上图正好左右互换
在这里插入图片描述

3、学习曲线

以数据集的数量m作为横坐标,画出误差曲线
在这里插入图片描述
高偏差情况:
增加数据量对于模型改进意义不大
在这里插入图片描述
高方差情况:
增加训练数据对模型改进有用
在这里插入图片描述

4、改进模型的答案

1、获取更多训练集→高方差适用
2、挑选特征,用更小的特征集进行学习→高方差适用
3、获取训练集数据的更多特征信息,构建更大的特征集→高偏差适用
4、使用更复杂的特征( x 1 2 , x 2 2 , x 1 x 2 x_1^2,x_2^2,x_1x_2 )等→高偏差适用
5、减小 λ \lambda →高偏差适用
6、加大 λ \lambda →高方差适用

以上的内容也适合在神经网络,神经网络的隐藏层数量、神经元数量对应特征数量,选择方式也是一样的,多了会出现过拟合,这时候可以使用 λ \lambda 处理。
大的神经网络+ λ \lambda 会比小神经网络好。

5、学习系统设计

1、快速作出简单系统,先跑起来;
2、画出学习曲线,确定改进路线;
3、进行误差分析,对误差部分分析以改进系统

5.1 查准率、召回率

特别适用于不对称的分类问题,如信用卡欺诈、癌症筛选
在这里插入图片描述
TP: 预测为正,实际为正
TN: 预测为负,实际为负
FP:预测为正,实际为负
FN: 预测为负,实际为正
Precision = TP/(TP+FP); 查准率, 在所有被判断为正样本中, 真正正样本的数量.
Recall = TP/(TP+FN); 召回率, 在所有正样本中, 被识别为正样本的数量.

5.2 平衡查准率与召回率

F score: 2 P R P + R \frac{2PR}{P+R}

5.3 数据量是算法的上限

1、数据越多算法预测越准确,多数据的差模型效果可能比少数据的好模型更好;
2、模型参数越多,模型越准确;

发布了90 篇原创文章 · 获赞 3 · 访问量 4920

猜你喜欢

转载自blog.csdn.net/weixin_43329319/article/details/100177085