logo资料库

中科大计算机模式识别分类器作业.docx

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
模式识别实验报告 数据集描述 1. Iiris 数据集 数据集大小:150 个样本 数据集属性:sepal length in cm、sepal width in cm、petal length in cm、petal width in cm 样本类别数:总共有三类样本,分别是 Iris Setosa、Iris Versicolour、Iris Virginica, 每种样本数目都是 50 2. Wine 数据集 数据集大小:178 个样本 数据集属性:Alcohol、Malic acid、Ash、Alcalinity of ash、Magnesium、Total phenols、 Flavanoids、Nonflavanoid phenols、Proanthocyanins、Color intensity、Hue、 OD280/OD315 of diluted wines、Proline,总共 13 个属性 样本类别数:总共有三类样本,各自的数目分别为 59,71,48 3. Car Evaluation 数据集 数据集大小:1728 个样本 数据集属性:buying(v-high, high, med, low)、maint(v-high, high, med, low)、 doors(2, 3, 4, 5-more)、persons(2, 4, more)、lug_boot(small, med, big)、 safety(low, med, high),括号中为取值。 样本类别数:总共有四类样本,分别是 unacc、acc、good、v-good,各自的数 目分别为 1210、384、69、65 分类器描述 SVM 描述:支持向量机是一种二分类模型,它的目的是寻找一个超平面来对样本进行 分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解。
目标函数: 工具包:scikit-learn 包含的超参数以及意义: 1. C: 目标函数的惩罚系数 C,用来平衡分类间隔 margin 2. kernel:所选择和核函数,有 RBF, Linear, Poly, Sigmoid 3. gamma:核函数的系数('Poly', 'RBF' and 'Sigmoid') 4. class_weight: 每个类所占据的权重,不同的类设置不同的惩罚参数 C Random Forest 描述:随机森林指的是利用多棵树对样本进行训练并预测的一种分类器,它的本 质属于集成学习的一种。 工具包:scikit-learn 包含的超参数以及意义: 1. n_estimators:最大的弱学习器的个数。一般来说 n_estimators 太小,容 易欠拟合,n_estimators 太大,计算量会太大, 2. criterion:即 CART 树做划分时对特征的评价标准。 3. max_features:RF 划分时考虑的最大特征数 4. max_depth:决策树最大深度 5. min_samples_split:内部节点再划分所需最小样本数 6. max_leaf_nodes:最大叶子节点数 XGBoost 描述:XGBoost 属于 gradient boosting 的一种,通过加入新的弱学习器,来努 力纠正前面所有弱学习器的残差,最终这样多个学习器相加在一起用来进行最终 预测,准确率就会比单独的一个要高。 目标函数: 工具包:xgboost
包含的超参数以及意义: 1. booster:选择每次迭代的模型,gbtree 或者 gbliner 2. eta:和 GBM 中的 learning rate 参数类似。 通过减少每一步的权重, 可以提高模型的鲁棒性。 3. min_child_weight:决定最小叶子节点样本权重和,这个参数用于避免过 拟合。 4. max_depth:树的最大深度。用来避免过拟合的。max_depth 越大,模型 会学到更具体更局部的样本。 5. gamma:指定了节点分裂所需的最小损失函数下降值,这个参数的值越 大,算法越保守。 6. subsample:随机采样的比例。 减小这个参数的值,算法会更加保守, 避免过拟合。 lambda:用来控制 XGBoost 的正则化部分。 7. 实验条件: 交叉验证:采用 5 折交叉验证 评估准则:准确率(acc)、精确率(precision)、召回率(recall)、F1-score 模型参数选择: liris 数据集 wine 数据集 SVM RF XGB kernel C n_estimator max_features max_depth min_samples_split eta min_child_weight max_depth gamma linear 1 20 auto 7 3 0.01 1 6 0.1 linear 0.5 25 auto 10 5 0.1 3 7 0.01 Car Evaluation 数 据集 linear 10 30 auto 15 4 0.1 1 8 0.1
subsample lambda 0.8 0.1 0.5 0.1 0.9 0.01 实验结果分析 超参数的影响: SVM: C:C 是为调节优化方向中两个指标(间隔大小,分类准确度)偏好的权重, 当 C 较大的时候容易出现过拟合,较小的时候容易出现欠拟合 RF: n_estimators:当分类器数目较小的时候,容易出现欠拟合,过多的时候容 易出现过拟合。 max_depth:决策树的深度,较大的深度容易造成过拟合,过小容易造成欠 拟合。 min_samples_split:分裂所需的最小样本数,太小了容易过拟合,太大了容 易过拟合。 XGBoost: min_child_weight:最小叶子节点样本权重和,过大容易欠拟合,过小容易 过拟合。 max_depth:决策树的深度,较大的深度容易造成过拟合,过小容易造成欠 拟合。 gamma:节点分裂所需的最小损失函数下降值,值越大越容易欠拟合。 lambda:正则化,过大容易造成欠拟合,过小容易造成过拟合。 subsample:随机采样的比例,过小容易造成欠拟合,过大容易造成过拟合。 考虑到超参数数目过多,因此本次实验采用图表的形式展示部分超参数。
上图展示了参数 C 对 SVM 分类准确率的影响。C 取值为 10 时得到最大值。 上图展示了参数 max_depth 对 XGBoost 分类准确率的影响。取值为 5 时得到最 大值。当决策树深度较浅的时候容易欠拟合,较深的时候容易过拟合。 不同分类器之间的比较: liris 数据集 wine 数据集 accuracy SVM RF XGB 0.973 0.96 0.973 0.944 0.983 0.978 Car Evaluation 数 据集 0.731 0.968 0.993
precision recall F1-score SVM RF XGB SVM RF XGB SVM RF XGB 0.97 0.96 0.97 0.97 0.96 0.97 0.97 0.96 0.97 0.94 0.98 0.98 0.94 0.98 0.98 0.94 0.98 0.98 0.65 0.97 0.99 0.73 0.97 0.99 0.66 0.97 0.99 实验结果如上表。可以看到对于 liris 数据集,SVM 以及 XGBoost 能够取得较好 的结果,Random Forest 次之。对于 wine 数据集,Random Forest 数据集能够取 得较好的结果,SVM 结果较差。对于 Car Evaluation 数据集,XGBoost 取得的结 果最好,SVM 的结果比较差。
分享到:
收藏