首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

一个使用 IBM SPSS Modeler 的文本分类框架(5)

一个使用 IBM SPSS Modeler 的文本分类框架(5)

实验设置和参数选择总之,本文中提出的框架包含以下参数。它们可拆分为两个主要的组,
  • 特征生成和选择参数
  • SVM 模型构建参数
设置特征生成和选择参数这些参数在文件 config.properties 中配置。以下是每个参数的描述:
  • inputDataFileName:输入 Excel .XLS 文件的文件路径,该文件包含用于构建分类器的文本记录。
  • commonTermsListFilePath:一个 Excel .XLS                    文件的文件路径,该文件包含用于特征选择模块中的过滤阶段的常用关键词列表。
  • minTermDocFreqThr:每个词语通过过滤器的最低文档频率阈值。
  • logFilePath:包含日志的文件的路径。
  • idFieldColHeader:包含记录 ID 的列的标题。
  • textFieldColHeader:包含用于构建分类器的文本数据的列的标题。
  • categoryFieldColHeader:包含用于分类的类的列的列标题 -                    在我们的例子中,是每条表示一个软件缺陷的记录的类别。
  • commonKeywordSimilarityThresholdVals:这是一个逗号分隔值列表,用于控制删除常用词语的过滤器。随着阈值降低,过滤器变得更加保守,并删除更多可能常用的词语。
  • splitter:用于分隔配置文件中的多个值的字符。我们将它设置为逗号。
  • fractionTopNumTermsIGvals:要用作所选的词语来获得最高信息增益的碎片的值列表。
  • commonKeywordSimilarityThresholdVals:常用词语过滤器的阈值参数值的列表。
  • minTermDocFreqThr:文档频率过滤器的参数。
  • removeAllDigitsTerms:用于检测是否删除只包含数字的词语的标记。
  • outFeaturesVectorsDir:生成的特征矢量的输出目录。
设置 SVM 模型构建参数为了使用生成的特征矢量来构建 SVM 模型,我们在 Expert 模式中配置一组参数,如图 9 所示,下面将对此进行介绍。
图 9. 使用 SPSS 节点构建 SVM 模型的参数构建 SVM 模型的重要参数包括:
  • Stopping criteria:这是在 SVM 中使用序列最小优化 (SMO) 算法进行每次优化迭代后,估算的 SVM                    模型内部系数之间的差。增加此参数将增加准确性,但也会增加模型构建时间。
  • Regularization parameter (C):此参数为估算 SVM                    中的最优超平面的目标函数中的错误数量分配权重(参见补充文档,了解有关的更多信息)。它提供了培训集(示例中)错误与边缘之间的权衡。例如,在                        C 增长时,SVM                    可能让超平面负责离分类边界更近的培训点,分离边缘变得更小,这可能导致错误地分类靠近边界的新点(这就是过度拟合)。另一方面,在                        C 减小时,SVM 变得更加保守,因为边缘增加了,而且提供给培训点分类错误的权重更少。换句话说,增加                        C 会提高培训数据的准确性,但可能导致过度拟合。
  • Kernel type:内核函数用于非线性地将给定特征矢量映射到更高的维度空间,其中数据变得 “更容易”                    线性分离,计算成本更高。典型的内核函数类型是半径 gamma 的 d 次径向基核函数多项式。有关结合使用内核和 SVM                    的更多信息,请参阅  部分的 。
参数选择对于参数选择,我们使用一个简单的半网格搜索方法来查找最佳的参数集。前面已经提到过,指导网格搜索的评估标准是测试数据分区的总平均准确性,模型构建方法使用培训分区来估算初始模型内部系数,基于测试分区来评估和调优模型参数。此方法将指引我们找到最佳的准确性,以避免过度拟合问题。
我们假设参数集(C,kernel type 和 stopping criteria)不相关,因此我们使用的参数搜索方法如下所示:
  • 参数的初始设置(SPSS Modeler 中的默认值):
    • C=10
    • Kernel function = Radial
    • Gamma = 1
    • Stopping criteria = 10-3
  • 尝试 C = 0.1 到 1,一次递增 0.1,以及从 10 到 100,一次递增 10,直到找到在培训数据分区中具有最佳的准确性的 C。
  • 对于第 2 步中找到的 C 值,尝试内核类型 Radial、Linear 和 Polynomial,直到您找到能在培训数据集中获得最佳准确性的类型。
  • 对于第 3 步中找到的内核,尝试以下参数范围,直到获得最佳的准确性:
    • 如果内核 = Radial,尝试 Gamma = 0.1 到 5,一次递增 0.1。
    • 如果内核 = Polynomial,则尝试 Degree = 1 到 10,一次递增 1。
  • 对于停止标准,尝试 10-3 到 10-6,一次乘以 10-1。
完成第 2 到 5 步后,我们获得了用于构建 SVM 的参数集。我们找到了表 4 中的参数集,以获得最佳的准确性结果。
表 4. 获取最佳的总平均准确性的最优参数集配置阶段参数名称参数值特征选择minTermDocFreqThr3commonKeywordSimilarityThresholdVals0.7fractionTopNumTermsIGvals0.8removeAllDigitsTrueModel BuildingC50内核类型Polynomial内核参数Polynomial Degree=6停止标准10-3原始的输入培训数据包含 4783 条记录和一个文本数据字段 (Description)。生成的特征矢量包含同样数量的记录和 2896 个字段。在 Intel 2.7                GHz 双核机器上构建 SVM 模型的运行时间为 2 分钟 10 秒,其中有 1 GB RAM 保留给 IBM SPSS Modeler Version 16                服务器进程。从 Analysis 节点获取的准确性结果如表 5 所示,其中比较了每条记录的原始类别与估算类别。
表 5. 从 Analysis 节点获取的软件缺陷数据案例分析的建议框架的总的准确性输出字段 Category Comparing $S-Category with Category 的结果 分区1_Training2_Testing3_Validation正确224767.48%51665.16%30664.42%错误108332.52%46234.84%16935.58%总计3330978475
返回列表