本文重点介绍,基于神经网络,建立学生成绩预测模型。

1.神经网络

多层感知机(MLP,Multilayer Perceptron)也叫人工神经网络(ANN,Artificial Neural Network),除了输入输出层,它中间可以有多个隐层,最简单的MLP只含一个隐层,即三层的结构,如下图:
基于神经网络的教育数据挖掘
对一些标记进行定义:

  • ay(x)a^{(x)}_y表示,第xx层,第yy个神经元;
  • by(x)b^{(x)}_y表示对每个维度输出的偏置;
  • hw,bh_{w,b}为神经网络输出
  • F(x)F^{(x)}表示**函数

1.1 输入层

该层主要为输入的特征,如输入的为nn维度特征,则输入层就有nn个神经元。在此我们将输入特征,向量化为XX,则:
X=[x1,x2...xn]X=[x_{1},x_{2}...x_{n}]

1.2 隐藏层

如上图所示,为隐藏层为全连接形式,该层输入为Input Layer的输出。其中a1(2),a2(2),a2(2)a^{(2)}_{1},a^{(2)}_{2},a^{(2)}_{2}数值的计算方法为:
(a1(2)  a2(2)  a2(2))=F(1)((x1(1)  x2(1)  x3(1))(w1,1(1)w2,1(1)w3,1(1)w1,2(1)w2,2(1)w3,2(1)w1,3(1)w2,3(1)w3,3(1))+(b1(1)  b2(1)b3(1)))(a^{(2)}_{1}\;a^{(2)}_{2}\;a^{(2)}_{2})=F^{(1)}·((x^{(1)}_{1}\;x^{(1)}_{2}\;x^{(1)}_{3})·\begin{pmatrix}w^{(1)}_{1,1}&w^{(1)}_{2,1}&w^{(1)}_{3,1}\\w^{(1)}_{1,2}&w^{(1)}_{2,2}&w^{(1)}_{3,2}\\w^{(1)}_{1,3}&w^{(1)}_{2,3}&w^{(1)}_{3,3}\end{pmatrix}+(b^{(1)}_{1}\;b^{(1)}_{2}\:b^{(1)}_{3}))
其中,F(1)F^{(1)}为第一层**函数,一般为SigmoidSigmoid函数,该函数定义形式如下:
Sigmoid(x)=11+exSigmoid(x)=\frac{1}{1+e^{-x}}
SigmoidSigmoid函数是一个在生物学中常见的SS型函数,也称为SS型生长曲线。在信息科学中,由于其单增以及反函数单增等性质,SigmoidSigmoid函数常被用作神经网络的阈值函数,将变量映射到0,1之间。图像如下:
基于神经网络的教育数据挖掘

1.3 输出层

该层hw,bh_{w,b}计算形式如下:
hw,b=F(2)((a1(2)  a2(2)  a3(2))(w1(2)w2(2)w3(2))+b(2)))h_{w,b}=F^{(2)}·((a^{(2)}_1\;a^{(2)}_2\;a^{(2)}_3)·\begin{pmatrix}w^{(2)}_1\\w^{(2)}_2\\w^{(2)}_3\end{pmatrix}+b^{(2)}))

2 实验

2.1 软硬件环境描述

  • 软件:SPSS MODELER SUBSCRIPTION
  • 系统:WIndows 10

2.2 数据描述

  • 文件名:StudentPerformance.xlsx
  • 数据量:480个样本,其中特征16个

2.3 实验过程

2.3.1 读取数据

基于神经网络的教育数据挖掘
如上图,从中选取“Excel”节点,拖动至主界面,导入数据。
基于神经网络的教育数据挖掘
使用“表格”节点查看数据:
基于神经网络的教育数据挖掘

2.3.2 数据类型

字段选项中选择类型
基于神经网络的教育数据挖掘
并和EXCEL数据源建立连接
基于神经网络的教育数据挖掘
Class字段设置为目标
基于神经网络的教育数据挖掘

2.3.3 检查数据质量

基于神经网络的教育数据挖掘
质量选项卡进行检查
基于神经网络的教育数据挖掘
发现:当前数据质量较好,不存在离群值极值,因此不需要进一步处理。

2.3.4 特征选择

为了得到高质量模型,对贡献度较高的特征进行提取,对贡献度较低的特征删除处理。在建模中选择特征选择
基于神经网络的教育数据挖掘
分析发现:StageIDSectionID特征相关性较小,因此在建模时不做选择。
基于神经网络的教育数据挖掘

2.3.5 过滤掉相关性较小特征

基于神经网络的教育数据挖掘
在箭头上勾画出 X。
基于神经网络的教育数据挖掘

2.3.6 划分训练和测试集

字段选项中选择分区节点。
基于神经网络的教育数据挖掘
对分区进行设置,其中80%最为训练集,20作为测试集。
基于神经网络的教育数据挖掘

2.3.7

建模下面选择神经网络
基于神经网络的教育数据挖掘
并进行设置:
构建选项基本选择多层感知器(MLP)
基于神经网络的教育数据挖掘
对模型过拟合程度进行限定,防止过拟合。
基于神经网络的教育数据挖掘
最后进行模型训练,结果如下:
基于神经网络的教育数据挖掘
多层感知机模型图:
基于神经网络的教育数据挖掘

2.3.8 准确度分析

输出中选择分析
基于神经网络的教育数据挖掘
得到该模型测试准确度为70.8%。
基于神经网络的教育数据挖掘
基于神经网络的教育数据挖掘

3.遇到个怪事

在截图向CSDN中粘贴时,返回的是一张我从来没见过的图。这是咋回事?我本人不做JAVA,不清楚是不是别人和我同时向CSDN粘贴图片导致的这个问题!由于不做Web不理解这个错误可能是什么原因导致的,现在留在这里!也许有人能解答!
基于神经网络的教育数据挖掘

相关文章: