基于支持向量机的弗兰克-赫兹实验曲线拟合

2021-07-19 08:32周祉煜孟倩
电脑知识与技术 2021年13期
关键词:曲线拟合支持向量机弗兰克

周祉煜 孟倩

摘要:弗兰克-赫兹实验是“近代物理实验”中的重要实验之一,数据量大且数据处理复杂。支持向量机是一种广泛应用于函数逼近、模式识别、回归等领域的机器学习算法。本文将支持向量机算法应用于弗兰克-赫兹实验数据的拟合,过程简单,在python环境下验证该方法拟合精度高,效果好。支持向量机算法还可应用于其他的物理实验曲线拟合。

关键词:支持向量机;曲线拟合;弗兰克-赫兹实验;Python

中图分类号:TP18      文献标识码:A

文章编号:1009-3044(2021)13-0001-02

Abstract: Frank-Hertz experiment is a classical experiment in modern physics experiments. It has a large amount of experimental data and a complicated data processing process. Support Vector Machine is a machine learning algorithm which widely used in function approximation, pattern recognition, regression and other fields. In this paper, support vector machine is used to do curve fitting for the experimental data of Frank-Hertz experiment. The process is simple, and the method is verified to have high curve fitting accuracy and good effect in python environment. SVM can also be applied to curve fitting in other physics experiments.

Key words: support vector machine, curve fitting, Frank Hertz experiment,python

1998年,Vapnik V N.等人[1]提出了一种新型的基于小样本和统计学习理论的机器学习方法-支持向量机(Support Vector Machine, SVM),该方法可以从有限的训练样本出发寻找“最优函数规律”, 使它能够对未知输出作尽可能准确的预测,可应用于函数逼近、模式识别、回归等领域。刘欣等将SVM引入水黏度测定物理实验,取得良好的效果[2]。弗兰克-赫兹实验是近代物理学中的一个重要实验,学生做实验时多采用手工物理实验数据处理方法来描点、作图、拟合。王蕴杰等将BP神经网络算法引入弗兰克-赫兹实验曲线拟合[3]并取得良好效果。本文将 SVM算法引入大学物理弗兰克-赫兹实验曲线拟合,python环境下实验结果表明,采用SVM方法拟合弗兰克-赫兹实验曲线可以取得精确的效果,SVM 是一种值得引进的物理实验数据处理方法。

1 弗兰克-赫兹实验原理

弗兰克-赫兹实验(Frank-Hertz)的装置[3-4]如图1所示,在充氩气的弗兰克-赫兹管中,电子由热阴极K发出,阴极K和控制阴极发射电流的第一栅极[G1]直接的加速电压使电子加速。[G2]是第二栅极,A为板极,在A和[G2]之间有拒斥电压[Ug2a]。当电子通过栅极[G1]进入[G1][G2]区域时,就会与弗兰克-赫兹管中的氩原子发生碰撞。当电子通过栅极[G2]进入[G2]A空间时,如果加速电压[Ug2k]比较小,原子和氩电子发生弹性碰撞,损失的能量近似为0。当加速电压[Ug2k]超过第一激发电位时,电子与氩原子发生非弹性碰撞,电子把从加速电场获得的部分或全部能量传递给氩原子,使氩原子从基态跃迁到第一激发态,由于电子本身损失了能量,拒斥电压的作用无法到达极板A ,因此,可以观察到极板K的电流显著减小。由于原子有吸收能量的量子化特征,所以随着加速电压的增加,极板的电流会表现出明显的峰谷特征。

2 支持向量机[5]

SVM算法可用于分类与回归问题,用于回归问题的SVM算法被称为支持向量回归机。 其基本思想是,把输入空间的数据,在高维特征空间中做非线性映射,从而转换为做线性回归问题。

3 支持向量机在弗兰克-赫兹实验曲线拟合中的应用

3.1 弗兰克赫兹实验数据

在充氩气的弗兰克-赫兹管中测得板极电流[Ig]与加速电压[Ug2k(v)]共164条数据[6]。本文从中随机选取148个作为训练样本,16个作为测试样本。首先錄入实验数据,以加速电压[Ug2k]为输入,板极电流[Ig]为输出,用Python图形可视化库Seaborn 画出图像,得出加速电压与板极电流的映射关系如图2所示。

3.2 SVM拟合过程

SVM拟合过程如图3所示。

为了提高预测精确度,使用python第三方机器学习模块sklearn的StandardScaler()函数对数据集进行预处理,即标准化处理[7],经过使用均值与方差处理,得到符合标准正态分布数据。

对于采用径向基核函数的支持向量回归机,性能影响最大的是超参数(C,γ,ε)的选择[8]。其中参数C为 惩罚因子,表示对错误划分的样本的惩罚程度,参数γ为径向基核函数的参数,控制了径向基核函数的径向作用范围,影响样本数据在高维特征空间中分布。参数ε是SVM的一个参数,也是影响SVM性能的主要因素。SVM预测准确率依赖于超参数(C,γ,ε)的最佳选择。

图4(a)表示当惩罚因子C和参数ε固定的条件下,核函数参数γ对模型拟合精确度(R2决定系数)的影响。当参数γ较小时,训练样本的拟合精确度不高;当γ增加时拟合精确度迅速提高,即性能提高;当继续增大时性能无明显变化。图4(b)表示在参数γ和参数ε固定情况下, C的变化对支持向量机拟合精确度的影响。当参数C较小时,拟合精确度不高;当C增加时拟合优度急剧提高,增大到一定值后,拟合优度基本不变。图4(c)表示γ,C固定的条件下,ε的值对支持向量机拟合精确度的影响。当ε较低时拟合精确度较高,模型性能好;随着ε的增加,拟合精确度显著下降。

分别单独调整惩罚因子C、核函数参数γ和模型ε精度都可以提高模型的性能。实验显示,这三个参数都在一定取值范围内影响拟合精确度。经过综合考虑,最终选取(C,γ,ε)=(60,60,0.0001)作为最优参数。

确定最优参数后,使用python第三方机器学习模块sklearn库提供的SVR()方法建立支持向量机回归模型,进行训练和拟合。

实验结果显示训练样本的R2决定系数达到 0.999934。R2决定系数越接近1,说明拟合效果越好。

3.3 弗兰克-赫兹实验曲线拟合结果

用训练好的模型对测试样本进行预测,平均误差为0.81896%,均方差为0.00012618,R2决定系数为0.999893。由表1预测值Igp与真实值Igt可以看出,支持向量机算法的预测值与真实值非常吻合。图5表示由表1测试样本真实值数据点连线所得结果与支持向量机预测值的对比。由表1和图5可见,通过支持向量机准确的拟合了弗兰克赫兹实验曲线。

4 结束语

从以上讨论可以看出:

(1)采用支持向量机算法可以很好地拟合弗兰克-赫兹实验曲线,事实上,对于其他物理实验曲线,线性的或者非线性的,多维输入的,也可以采用支持向量机进行拟合。

(2)支持向量机训练后,在一定范围内可以精确地求出任意非测量点的数据值。

(3)采用支持向量机拟合实验曲线不需要知道实验线的方程式,只需要通过系统输入的数据即可进行拟合,拟合曲线非常精确。尤其是涉及变量关系复杂的曲线时,支持向量机算法拟合实验曲线就显得更为优越,说明SVM 是一种值得引进的物理实验数据处理方法。

参考文献:

[1] Vapnik V.Statistical learning theory[M]. Canada: John Wiley Sons, Inc., 1998.

[2] 劉欣,章显,陶卿.SVM在物理实验中的应用[J].大学物理,2005,24(6):40-43.

[3] 王蕴杰.基于BP神经网络的弗兰克-赫兹实验曲线拟合[J].大学物理实验,2013,26(6):95-96.

[4] 郑勇林,杨阔,葛泽玲.近代物理实验及其数据分析方法[M].北京:电子工业出版社,2016.

[5] 邓乃扬,田英杰.数据挖掘中的新方法:支持向量机[M].北京:科学出版社,2004.

[6] 弗兰克-赫兹实验数据处理 [J/OL]. 豆丁.(2016-03-30).https://www.docin.com/p-1511744593.html.

[7] (美)PrateekJoshi..Python机器学习经典实例[M].北京:人民邮电出版社,2017.

[8] 孟倩,王洪权,王永胜,等.煤自燃极限参数的支持向量机预测模型[J].煤炭学报,2009,34(11):1489-1493.

【通联编辑:唐一东】

猜你喜欢
曲线拟合支持向量机弗兰克
弗兰克·盖里——建筑界的“毕加索”
弗兰克先生是个女的
曲线拟合的方法
基于曲线拟合的投弃式剖面仪电感量算法
基于支持向量机的金融数据分析研究
Matlab曲线拟合工具箱在地基沉降预测模型中的应用
Matlab曲线拟合法在地基沉降预测中的应用
想进监狱的蒙弗兰克