
3.2 基于SVM的天气类型聚类识别
SVM是基于风险最小化原则的一种统计学习算法,在高维空间中寻找最优分类超平面作为最大分类间隔来进行分类,通过求解凸二次规划问题得到全局最优解,不存在过学习、局部极小等传统学习算法所面临的问题,且在小样本条件下仍具有良好的泛化能力。本部分基于3.1.2节天气类型聚类后的结果,采用SVM对未定义标签的预测日气象类型进行识别。
3.2.1 SVM模型的建立
由于SVM起源于线性分类,最初应用于二分类问题,当处理多类问题时要构造多类分类器。本部分采用间接实现多类分类器的构造,即训练时依次将某类别样本归为一类,其余样本归为另一类,k类样本可构造出k-1个SVM模型。
因晴天与阴雨天气的特征因子并不相同,所以并不能建立统一的训练数据进行预测日类别的识别,而是对其分别处理。具体实现SVM天气类别识别模型如图3-8所示。
图3-8 SVM天气类别识别模型
首先将晴天类别定义为A,阴雨天定义为B,其识别模型为MAB;然后将阴雨天分为阴天和雨天两类,定义阴天为B1,雨天定义为B2,识别模型为;最后将雨天分为小雨和大雨两类,小雨定义为B21,大雨定义为B22,识别模型为
。其中,模型MAB采用式(3-1)的特征因子F1,若预测样本的气象特征在模型中识别为A类,则该样本即表示为晴天,反之若为B,则该样本就为阴雨天;然后进行阴雨天的识别,采用式(3-2)的特征因子F2,若预测样本在模型
中识别为B1,则为阴天,若为B2,则使用模型
识别,最后将标签定义为小雨B21或大雨B22。
3.2.2 SVM训练参数的确定及识别结果评估
为提高SVM实际分类识别的精度和泛化能力,本部分采用K折交叉验证(K-fold Cross Validation,K-CV)的方法实现样本集的优化。
由于SVM采用RBF核函数,故需优化惩罚参数C和高斯核函数参数ξ。C值过小易发生过拟合,太大则增大误差;ξ的取值直接影响到最优超平面的确定。因此采用网格搜索法(Grid Search)来确定最佳参数,以分类误差最小为评价指标,若存在多个误差最小值,则选择C最小的一组参数。相比启发式算法,该算法运算速度快,结构简单。图3-9为采用网格算法对SVM回归模型中的MAB寻优图,图3-9a为等高线搜索图,图3-9b为3维视图。经过优化后得到的参数见表3-4。
图3-9 网格搜索法确定模型MAB参数
表3-4 SVM模型参数