摘要
恒星光谱自动分类是研究恒星光谱的基础内容,快速、准确自动识别、分类恒星光谱可提高搜寻特殊天体速度,对天文学研究有重大意义。目前我国大型巡天项目LAMOST每年发布数百万条光谱数据,对海量恒星光谱进行快速、准确自动识别与分类研究已成为天文学大数据分析与处理领域的研究热点之一。针对恒星光谱自动分类问题,提出一种基于卷积神经网络(CNN)的K和F型恒星光谱分类方法,并与支持向量机(SVM)、误差反向传播算法(BP)对比,采用交叉验证方法验证分类器性能。与传统方法相比CNN具有权值共享,减少模型学习参数;可直接对训练数据自动进行特征提取等优点。实验采用Tensorflow深度学习框架, Python3.5编程环境。K和F恒星光谱数据集采用国家天文台提供的LAMOST DR3数据。截取每条光谱波长范围为3 500~7 500 部分,对光谱均匀采样生成数据集样本,采用min-max归一化方法对数据集样本进行归一化处理。CNN结构包括:输入层,卷积层C1,池化层S1,卷积层C2,池化层S2,卷积层C3,池化层S3,全连接层,输出层。输入层为一批K和F型恒星光谱相同的3 700个波长点处流量值。C1层设有10个大小为1×3步长为1的卷积核。S1层采用最大池化方法,采样窗口大小为1×2,无重叠采样,生成10张特征图,与C1层特征图数量相同,大小为C1层特征图的二分之一。C2层设有20个大小为1×2步长为1的卷积核,输出20张特征图。S2层对C2层20张特征图下采样输出20张特征图。C3层设有30个大小为1×3步长为1的卷积核,输出30张特征图。S3层对C3层30张特征图下采样输出30张特征图。全连接层神经元个数设置为50,每个神经元都与S3层的所有神经元连接。输出层神经元个数设置为2,输出分类结果。卷积层激活函数采用ReLU函数,输出层激活函数采用softmax函数。对比算法SVM类型为C-SVC,核函数采用径向基函数, BP算法设有3个隐藏层,每个隐藏层设有20, 40和20个神经元。数据集分为训练数据和测试数据,将训练数据的40%, 60%, 80%和100%作为5个训练集,测试数据作为测试集。分别将5个训练集放入模型中训练,共迭代8 000次,每次训练好的模型用测试集进行验证。对比实验采用100%的训练数据作为训练集,测试数据作为测试集。采用精确率、召回率、 F-score、准确率四个评价指标评价模型性能,对实验结果进行详细分析。分析结果表明CNN算法可对K和F型恒星光谱快速自动分类和筛选,训练集数据量越大,模型泛化能力越强,分类准确率越高。对比实验结果表明采用CNN算法对K和F型恒星光谱自动分类较传统机器学习SVM和BP算法自动分类准确率更高。
- 单位