深度学习在线教育平台实践---内容推荐系统1

深度学习技术

众所周知,深度学习和人工智能技术在教育领域的应用,一直是在线教育界的王冠,是众多在线教育企业正在做的事情。但是直到目前为止,虽然有很多深度学习和人工智能解决方案,但是真正能够在实践中应用和落地的项目却并不多,大多数解决方案还停留在概念阶段或收集数据阶段,离实际应用还有一段距离。本系列文章,将以我们在高三地理教学中实际使用的个性题库系统为例,向大家详细介绍基于深度学习技术的题库推荐系统的技术原理,以及在实际应用中的信息架构设计技术。

基于内容的推荐系统

随着机器学习和深度学习的流行,基于机器学习和深度学习的推荐算法,在最近一段时间,逐渐成为了主流应用技术。我们的个性化题库系统,其核心就是一个根据学生实际情况,向学生推荐相关题目的推荐系统。
在这一部分,我们将以个性化题库系统为例,讲述一个典型的基于深度学习的推荐系统。我们所假想的场景如下:假设我们的客户是K12学校或K12在线教育公司,有大量题目供学生付费练习,并评估学生对题目的掌握程度用(0~5星的评分来表示),客户希望利用学生对题目的评分信息,向学生推荐学生薄弱的知识点的题目。
目前客户已经收集到的信息如下所示:

题目 张一 李二 王三 赵四
题目1 5 5 0 0
题目2 5 0
题目3 4 0
题目4 0 0 5 4
题目5 0 0 5

表中第1列为题目,其中前三个题目为知识点1,后两个题目为知识点2。第2~5列为不同的学生,表中每个单元格为某个学生对某个题目的需要程度。如果学生没有做过该题目,我们用?来表示。其中0表示学生做过该题目,结果完全正确,不需要再做练习。而5则表示学生做该题目完全错误,急需补充该题相关知识点。
为了便于问题的讨论,我们引入如下符号:
n u :学生总数
n m :题目总数
r ( i , j ) :第j个学生是否做过第i个题目,1代表已经做过,0代表未做过(表格中?表示的单元格)
y ( i , j ) :第j个学生对第i个题目的需要程度,此时必有r(i,j)=1,即学生j做过题目i
有了上述定义之后,我们的任务就变成了在已经知道 r ( i , j ) y ( i , j ) 的情况下,形式如上表所示,预测学生对没有做过的题目需要程度,也就是要预测表中?的单元格中最有可能的数字。例如预测学生1对题目3这个题目的需要程度。因为我们的数据集很小,我们通过直觉可以很容易预测出来,因为学生张一对知识点1的题目需度程度都很高,题目3是一个知识点1的题目,所以学生张一对题目3的需要程度也会很高,所以我们可以预测张一对题目3的需要程度可能会是5分。但是如果上面的表格变为数以亿计的数据,我们就很难通过直觉做出判断了,我们就需要借助于推荐系统来完成这一任务了。
基于内容的推荐算法,首先要对待推荐题目的内容进行描述。在这里,我们用两个特征来描述各个题目,分别是:知识点1、知识点2。接下来我们对每个题目,给出在这两个特征上的得分,如下表所示:

* 题目 张一 李二 王三 赵四 知识点1 知识点2
x ( 1 ) 题目1 5 5 0 0 0.9 0.0
x ( 2 ) 题目2 5 0 1.0 0.01
x ( 3 ) 题目3 4 0 0.99 0.0
x ( 4 ) 题目4 0 0 5 4 0.1 1.0
x ( 5 ) 题目5 0 0 5 0.0 0.9

我们对每个题目的关于特征知识点1、知识点2的描述,组成一个样本,这里共有5个样本: x ( 1 ) , x ( 2 ) , x ( 3 ) , x ( 4 ) , x ( 5 ) ,对于每个样本是一个二维向量,如下所示:

x ( 1 ) = [ x 1 ( 1 ) x 2 ( 1 ) ] = [ 0.9 0.0 ]

x ( 2 ) = [ x 1 ( 2 ) x 2 ( 2 ) ] = [ 1.0 0.01 ]

x ( 3 ) = [ x 1 ( 3 ) x 2 ( 3 ) ] = [ 0.99 0.0 ]

x ( 4 ) = [ x 1 ( 4 ) x 2 ( 4 ) ] = [ 0.1 1.0 ]

x ( 5 ) = [ x 1 ( 5 ) x 2 ( 5 ) ] = [ 0.0 0.9 ]

但是为了简化之后计算过程,我们通常希望将仿射变换转化为线性变换,然后利用矩阵乘法运算来求解,因为现有科学计算库均对矩阵运算做了优化,可以提高运算效率,减少数值计算中由于数值表示精度所引发的问题。
对于一个仿射变换:
y = w T x + b = [ w 1 w 2 ] T [ x 1 x 2 ] + b = w 1 x 1 + w 2 x 2 + b

其中 w R n , x R n 均为n维向量,而b为一个标量。为了处理问题方便,我们令 w 0 = b x 0 = 1 ,并将其分别加到w和x前面,如下所示:
y = w T x = [ w 0 w 1 w 2 ] T [ x 0 x 1 x 2 ] = w 0 x 0 + w 1 x 1 + w 2 x 2 = w 1 x 1 + w 2 x 2 + b

由此可见,这两种表示方式是等价的。基于这种表示法,我们就可以写出基于内容的推荐系统了,我们将在下一节中讨论这个问题。
这里写图片描述
花花公子品牌旗舰店

猜你喜欢

转载自blog.csdn.net/Yt7589/article/details/81534617
今日推荐