基于神经网络的教育数据挖掘

    技术2025-10-24  11

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

    1.神经网络

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

    a y ( x ) a^{(x)}_y ay(x)表示,第 x x x层,第 y y y个神经元; b y ( x ) b^{(x)}_y by(x)表示对每个维度输出的偏置; h w , b h_{w,b} hw,b为神经网络输出 F ( x ) F^{(x)} F(x)表示激活函数

    1.1 输入层

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

    1.2 隐藏层

    如上图所示,为隐藏层为全连接形式,该层输入为Input Layer的输出。其中 a 1 ( 2 ) , a 2 ( 2 ) , a 2 ( 2 ) a^{(2)}_{1},a^{(2)}_{2},a^{(2)}_{2} a1(2),a2(2),a2(2)数值的计算方法为: ( a 1 ( 2 )    a 2 ( 2 )    a 2 ( 2 ) ) = F ( 1 ) ⋅ ( ( x 1 ( 1 )    x 2 ( 1 )    x 3 ( 1 ) ) ⋅ ( w 1 , 1 ( 1 ) w 2 , 1 ( 1 ) w 3 , 1 ( 1 ) w 1 , 2 ( 1 ) w 2 , 2 ( 1 ) w 3 , 2 ( 1 ) w 1 , 3 ( 1 ) w 2 , 3 ( 1 ) w 3 , 3 ( 1 ) ) + ( b 1 ( 1 )    b 2 ( 1 )   b 3 ( 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})) (a1(2)a2(2)a2(2))=F(1)((x1(1)x2(1)x3(1))w1,1(1)w1,2(1)w1,3(1)w2,1(1)w2,2(1)w2,3(1)w3,1(1)w3,2(1)w3,3(1)+(b1(1)b2(1)b3(1))) 其中, F ( 1 ) F^{(1)} F(1)为第一层激活函数,一般为 S i g m o i d Sigmoid Sigmoid函数,该函数定义形式如下: S i g m o i d ( x ) = 1 1 + e − x Sigmoid(x)=\frac{1}{1+e^{-x}} Sigmoid(x)=1+ex1 S i g m o i d Sigmoid Sigmoid函数是一个在生物学中常见的 S S S型函数,也称为 S S S型生长曲线。在信息科学中,由于其单增以及反函数单增等性质, S i g m o i d Sigmoid Sigmoid函数常被用作神经网络的阈值函数,将变量映射到0,1之间。图像如下:

    1.3 输出层

    该层 h w , b h_{w,b} hw,b计算形式如下: h w , b = F ( 2 ) ⋅ ( ( a 1 ( 2 )    a 2 ( 2 )    a 3 ( 2 ) ) ⋅ ( w 1 ( 2 ) w 2 ( 2 ) w 3 ( 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)})) hw,b=F(2)((a1(2)a2(2)a3(2))w1(2)w2(2)w3(2)+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 特征选择

    为了得到高质量模型,对贡献度较高的特征进行提取,对贡献度较低的特征删除处理。在建模中选择特征选择。 分析发现:StageID和SectionID特征相关性较小,因此在建模时不做选择。

    2.3.5 过滤掉相关性较小特征

    在箭头上勾画出 X。

    2.3.6 划分训练和测试集

    在字段选项中选择分区节点。 对分区进行设置,其中80%最为训练集,20作为测试集。

    2.3.7

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

    2.3.8 准确度分析

    在输出中选择分析 得到该模型测试准确度为70.8%。

    3.遇到个怪事

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

    Processed: 0.010, SQL: 9