欢迎来到利索能及~ 联系电话:18621327849
利索能及
我要发布
收藏
专利号: 2019102939089
申请人: 淮阴工学院
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-10-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于深度学习的大学生专业推荐方法,其特征在于,具体步骤如下:(1)对学生的基本信息和核心课程信息进行数据预处理得到数据集Student、Course以及Rating;

(2)搭建深度学习神经网络模型;

(2.1)设置嵌入矩阵的维度为embedim=32;

(2.2)设置StuID的个数为stu_max,性别Gender不同的个数为gender_max,入学年份EnterYear不同的个数为enteryear_max,院系Profession不同的个数为profession_max;

(2.3)设置核心课程的CourseID的个数为Courseid_max,核心课程名称KCMC的个数为KCMC_max;

(2.4)设置文本卷积的活动窗口每次滑动2,3,4,5个词语,卷积核数目filter_number=8;

(2.5)迭代次数为100次,批训练数目为256,正则化dropout为0.5,学习效率LearningRate为0.0001;

(2.6)搭建Student特征对象的神经网络模型(2.7)在神经网络第一层运用了嵌入层,维度分别为(N,32)和(N,16);

(2.8)从嵌入层索引出特征之后,将各特征传入第一层全连接层,运用ReLU作为激活函数;

(2.9)将得到的特征传入第二层全连接层,输出200个单元个数,运用tanh作为激活函数;

(2.10)搭建核心课程Course特征对象的神经网络模型;

(2.11)在神经网络第一层运用了嵌入层,维度分别为(N,32);

(2.12)将核心课程所属的一个或多个专业的多个嵌入向量做加和,即对特征矩阵求和;

(2.13)对核心课程名KCMC进行文本卷积;

(2.14)从嵌入矩阵中得到核心课程名对应的各个词语的嵌入向量;

(2.15)选择不同尺寸的卷积核Window_size;

(2.16)2<=Window_size<=5;

(2.17)对文本嵌入层使用卷积核做卷积和最大池化;

(2.18)Window_size=Window_size+1,如果Window_size<=5则返回步骤(2.16),否则执行步骤(2.19);

(2.19)运用dropout层防止过拟合;

(2.20)将核心课程CourseID和核心课程所属专业Genres作第一层全连接,运用ReLU作为激活函数;

(2.21)由第一层全连接得到的特征与核心课程名KCMC作第二层全连接,运用tanh作为激活函数;

(3)构建Tensorflow计算图;

(3.1)为Student数据集里的StuID,Gender,EnterYear以及Profession设置占位符;

(3.2)为Course数据集中的CourseID,KCMC以及Genres设置占位符;

(3.3)为目标预测成绩target,学习效率LearningRate以及正则化dropout设置占位符;

(3.4)获取输入的占位符、Student数据集中的4个嵌入向量以及Course数据集中的3个嵌入向量;

(3.5)得到学生Student和核心课程Course的特征;

(3.6)将学生信息特征和核心课程信息特征做矩阵乘法得到一个预测的成绩CJ;

(3.7)计算MSE损失;

(3.8)利用AdamOptimizer优化器优化损失值;

(4)获取到学生信息特征和核心课程信息特征训练神经网络模型;

(5)生成学生信息特征矩阵和核心课程特征矩阵;

(6)给学生推荐专业;

(6.1)计算当前所选的核心课程与整个核心课程特征矩阵的余弦相似度;

(6.2)取相似度最大的随机选择的top_k个核心课程;

(6.3)通过对所选的top_k个核心课程进行专业映射,得到每个核心课程所对应的多个专业;

(6.4)每次重复选择的专业就在此专业上加1个权重,最终得到top_x个专业。

2.根据权利要求1所述的一种基于深度学习的大学生专业推荐方法,其特征在于,所述步骤(1)中得到数据集Student、Course以及Rating的具体步骤如下:(1.1)定义Student为学生信息数据集,Course为核心课程数据集,Rating为课程成绩数据集,定义StuID、Gender、EnterYear、Profession分别为学生学号、学生性别、学生入学年份以及学生所属院系;定义CourseID、KCMC、Genres、CJ为核心课程ID、核心课程名称、核心课程所属的一个或多个专业以及成绩;并且满足关系Student={StuID,Gender,EnterYear,Profession},Course={CourseID,KCMC,Genres},Rating={StuID,CourseID,CJ};

(1.2)读取Student中的Gender属性中的数据,将性别‘男’转换为数字1,性别‘女’转换为数字0;读取Course数据集中Genres属性中的数据,将其中属于文本数据类型的专业名称Pro1转换为数字字典D1,最后将D1转换为等长的数字列表D2,利用‘’对应的数字填充空白部分,长度为18;同理,在处理Course数据集中KCMC属性中的数据时,将其中属于文本数据类型的核心课程名称Course1转换为数字字典D3,最后将D3转换为等长的数字列表D4,利用‘’对应的数字填充空白部分,长度为15;

(1.3)合并数据集Student,Course以及Rating,得到Pandas对象Data;

(1.4)将Rating表拆分为X和Y两张表,X={StuID,CourseID},Y={CJ}。

3.根据权利要求1所述的一种基于深度学习的大学生专业推荐方法,其特征在于,所述步骤(4)中获取到学生信息特征和核心课程信息特征训练神经网络模型的具体步骤如下:(4.1)搜索相关数据给tensorboard画图使用;

(4.2)跟踪数据的梯度值和稀疏性;

(4.3)定义循环变量g和损失值grandiens,循环变量g用来遍历损失值grandiens;

(4.4)如果g==none,则执行步骤(4.6),否则执行步骤(4.5);

(4.5)根据损失值grandiens绘出loss的直方图和显示标量信息;

(4.6)输出模型运行时间,训练损失值以及迭代次数;

(4.7)定义循环变量i,定义迭代次数为epochs,i用来遍历迭代次数epochs,初始变量i=0;

(4.8)如果i<=100,则执行步骤(4.9),否则执行步骤(4.40);

(4.9)将数据集分为训练集和测试集,测试集占0.2,训练集占0.8,随机种子不固定;

(4.10)批量读取数据,每次256条;

(4.11)训练迭代,定义循环变量i1,定义train_x为训练集,lentrain_x为训练集长度,i1循环遍历训练集train_x;

(4.12)如果0<=i1<=lentrain_x,则执行步骤(4.13),否则执行步骤(4.25);

(4.13)获取不同核心课程对应的专业矩阵,矩阵大小为256行,92列;

(4.14)定义循环变量i2,批训练数目为batch_size,i2循环遍历batch_size,初始变量i2=1;

(4.15)如果1<=i2<=256,则执行步骤(4.16),否则执行步骤(4.18);

(4.16)获取训练集中每个核心课程对应的Genres中的数字字典D5;

(4.17)i2=i2+1,执行步骤(4.15);

(4.18)定义循环变量i3,批训练数目为batch_size,i3循环遍历batch_size,初始变量i3=1;

(4.19)如果1<=i3<=256,则执行步骤(4.20),否则执行步骤(4.22);

(4.20)获取训练集中每个核心课程名KCMC中的数字字典D6;

(4.21)i3=i3+1,之后执行步骤(4.19);

(4.22)使用feed_dict字典作为计算图graph的输入值;

(4.23)保存每次的训练损失;

(4.24)i1=i1+1,之后执行步骤(4.12);

(4.25)定义循环变量i4,定义Test_x为训练集,lentest_x为训练集长度,i4循环遍历训练集Test_x;

(4.26)如果0<=i4<=lentest_x,则执行步骤(4.27);

(4.27)获取不同核心课程对应的专业矩阵,矩阵大小为256行,92列;

(4.28)定义循环变量i5,批训练数目为batch_size,i5循环遍历batch_size,初始变量i5=1;

(4.29)如果1<=i5<=256,则执行步骤(4.30),否则执行步骤(4.32);

(4.30)获取测试集中每个核心课程对应的Genres中的数字字典D7;

(4.31)i5=i5+1,之后执行步骤(4.29);

(4.32)定义循环变量i6,批训练数目为batch_size,i6循环遍历batch_size,初始变量i6=1;

(4.33)如果1<=i6<=256,则执行步骤(4.34),否则执行步骤(4.36);

(4.34)获取测试集每个核心课程名KCMC的数字字典D8;

(4.35)i6=i6+1,之后执行步骤(4.33);

(4.36)使用feed_dict字典作为计算图graph的输入值;

(4.37)保存每次测试的损失;

(4.38)i4=i4+1,之后执行步骤(4.26);

(4.39)i=i+1,之后执行步骤(4.08);

(4.40)保存模型。

4.根据权利要求1所述的一种基于深度学习的大学生专业推荐方法,其特征在于,所述步骤(5)中生成学生信息特征矩阵和核心课程特征矩阵的具体步骤如下:(5.1)从加载的神经网络模型中获取有关核心课程的张量;

(5.2)将训练好的核心课程特征组合成核心课程特征矩阵并且保存到本地;

(5.3)从加载的神经网络模型中获取有关学生信息的张量;

(5.4)将训练好的学生信息特征组合成学生信息特征矩阵并且保存到本地。