本发明涉及一种集成的无监督学生行为聚类方法,具体涉及一种将基于密度的聚类算法dbscan和基于距离的划分聚类算法k-means进行集成的一种无监督学生行为聚类方法。
背景技术:
及时准确地了解学生的行为模式,并采取针对性的措施对于优化教育教学过程、提升教育质量有重要的作用。例如,通过分析学生在网络教学平台的学习行为或者传统课堂的学习行为,可以提醒教师调整教学计划和方法以达到更好的教学效果;通过分析学生在校园内的移动模式,管理人员可以进行资源的最佳配置;通过分析学生的社交行为模式,可以发现比较孤独的学生并给予及时的关注,必要时进行心理干预;分析各种影响成绩的行为因素,便于学生有效地调整行为模式等。这些研究工作均表明,充分了解学生的行为模式对于学校实施精准化服务和管理是一项必要且有重要意义的工作。
为了了解学生的行为模式,相关人员通常采用调查问卷的方法收集学生的行为信息并进行分析。然而,该方法存在以下局限性:(1)通常定期发放调查问卷,例如每学期或者每学年进行一次,这种非实时的调查方法无法满足实时应用的要求,例如学校管理人员应该及时发现学生的异常行为模式并采取必要的干预措施,以免发生意外。(2)行为异常的学生可能会故意填写虚假信息使其表现正常,而真正正常的学生则可能因为随意填写问卷导致其分析结果呈现异常,这些噪声样本会使分析结果产生一定的误差。(3)设计一份可以准确且全面地了解学生的行为模式的调查问卷需要丰富的领域知识,这给设计人员带来很大的挑战。这些局限性使得调查问卷方法的应用效率较低且成本高。然而,随着智慧校园的建设,学生在校园内的多种行为数据被实时存储到数据库中,这为学生行为模式分析提供了实时、客观、全面的数据基础。
获取用户行为数据之后,通常采用统计学和机器学习的方法对数据进行分析。统计方法重在推理行为特征和学生标签之间的相关性。机器学习方法则分为三个子类,分别是监督学习方法、半监督学习方法以及无监督学习方法。监督学习方法基于学生的标签信息,例如学业表现,心理状态等,通过逻辑回归、决策树、支持向量机等分类算法对学生行为特征和学生标签间的关系进行建模;半监督方法通常用于异常检测,通过获取表现正常的学生的行为信息,例如心理状态正常的学生的行为信息,利用算法学习该类样本的行为特征,当未知样本的特征和该类的特征相差较大时,则认为未知样本属于异常;和监督学习以及半监督学习相比,无监督学习方法不需要标签信息,它仅通过数据本身的特点对样本聚类,使得特征相似的学生被归为一类。在实际应用中,由于隐私保护等原因,通常无法获取学生标签信息,或者获取成本很高,因此无监督聚类方法被广泛应用。
技术实现要素:
针对调查问卷方法在收集数据方面的局限性,以及统计方法、监督学习方法和半监督学习方法对学生标签的严重依赖,本发明提出了一种集成的无监督学生行为聚类分析方法,其框架如图1所示,该方法无需学生标签信息,仅通过对学生在校园内生产的行为数据进行聚类,进而分析学生的行为模式并可视化聚类结果,这一方面可以高效地检测到异常行为模式便于异常预警,另一方面可以发现主流的行为模式便于进行精细化的服务和管理。学生的行为数据具有明显的时间顺序关系,属于典型的时序数据,为了表达数据的分布状况,我们利用众数、平均值以及范围描述数据的集中趋势,并利用最小值、第一分位数、中位数、第三分位数以及最大值表达数据的离散情况,同时利用香农熵衡量行为发生时间和地点的规律程度,这些值作为行为的特征。为了减轻高维度特征给聚类性能带来的不利影响,我们利用方差和相关性分析从行为的初始特征中选择最佳的行为特征。特征的方差小表示不同学生在该行为特征的差异小,我们可以删除方差低于设定阈值的特征;两个特征间的相关性高表示一个特征可以用另一个特征表达,因此可以删除其中一个特征。对于无监督聚类算法,dbscan和k-means是两种常见算法。dbscan是一种典型的基于密度的无监督聚类算法,它将簇定义为密度可达的样本的最大集合,能够把具有足够密度的区域划分为簇,不在任何簇的样本视为噪声,因此,该算法可以在有噪声的数据集空间中发现任意形状的簇。在数据集分布未知的情况下,dbscan是一个理想的聚类选择,但是该算法得到的簇的大小不均匀,在极端情况下,除了噪声样本之外,其他所有样本属于一个簇,这样的聚类结果并不利于学生行为模式的精细化分析。而k-means是一种基于距离的无监督聚类算法,它可以依据特定的评价指标以及应用需求共同确定类别的数目。然而,k-means算法对噪声敏感,聚类簇的质心会向噪声偏移,使得质心无法真正代表该簇的特征。考虑学生行为模式分析的应用需求以及dbscan和k-means算法的优缺点,本发明将集成dbscan和k-means算法对学生的行为特征进行聚类。基于学生的行为特征,首先利用dbscan算法进行初始聚类,将检测到的噪声以及包含的样本数少于整体样本数2%的簇视为异常行为模式,对于包含样本多于80%的簇则继续采用k-means算法进行细分,得到最终的聚类结果。本发明有以下创新:1.从统计学角度提取以时序数据格式表达的学生行为的特征,并通过方差和相关性分析选择最佳的特征。2.提出了一种集成的无监督聚类框架,该框架充分利用dbscan和k-means算法的聚类优势,相互补充,以达到学生行为模式分析的应用需求。
有益效果
本发明通过集成dbscan和k-means算法可对学生不同的行为数据进行聚类分析,一方面可以检测学生的异常行为模式,另一方面可以发现主流的行为模式,这为学校进行精准化服务和管理提供了有益的信息。通过收集学生在校园内产生的六种行为数据进行验证发现,该发明可以获得理想的聚类效果。同时,该发明的特征提取和聚类方法也可以应用到其他以时序数据格式表达的应用场景。
附图说明
图1集成的无监督学生行为聚类分析框架图;
图2(a)早餐行为特征空间的minpts-距离图;
图2(b)午餐行为特征空间的minpts-距离图;
图2(c)晚餐行为特征空间的minpts-距离图;
图2(d)购物行为特征空间的minpts-距离图;
图3(a)早餐行为的初始聚类结果;
图3(b)午餐行为的初始聚类结果;
图3(c)晚餐行为的初始聚类结果;
图3(d)购物行为的初始聚类结果;
图4(a)晚餐行为细分聚类的类内方差折线图;
图4(b)晚餐行为细分聚类的轮廓系数折线图;
图4(c)晚餐行为细分聚类的ch指数折线图;
图4(d)晚餐行为细分聚类的db指数折线图,其中,垂直虚线标识最佳的k值所在位置;
图5类内方差折线在k值处的夹角α;
图6晚餐行为的最终聚类结果,其中,以“_dbscan”为后缀的簇是dbscan算法的初始聚类结果,以“_kmeans”为后缀的簇是利用k-means算法对初始聚类结果中簇0细分的结果。柱形顶部的数字是对应簇的学生人数;
图7晚餐行为聚类的可视化展示效果图。
具体实施方式
1.采集学生行为数据,学生行为数据描述如下:
(1)消费行为数据。该数据包括时间、地点、消费金额三个属性,根据消费时间和消费地点的不同,进一步将消费行为数据分为早餐行为数据、午餐行为数据、晚餐行为数据以及购物行为数据。其中,三餐行为的消费时间段分别规定为6:00am至9:00am,11:00am至2:00pm,以及4:30pm至8:30pm。而购物行为的时间段定义为全天。
(2)进入图书馆的行为数据。由于图书馆数量较少,不再包含行为地点,仅包含进入时间一个属性。
(3)登录网关系统的行为数据。网关系统是部署在因特网和校园局域网之间的协议转换器,当学生通过校园网访问因特网时,必须登录网关。网关系统记录学生的登录时间、注销时间、登录地点、访问时长以及使用的网络流量。
2.学生行为数据预处理
为了保护学生的隐私,对上述行为数据进行如下预处理操作。
(1)对学号进行匿名处理。
(2)按照预设的30分钟间隔将一天24小时均匀划分为48个刻度,将每次行为记录的时间转化为对应的时间刻度值,即同一个时间间隔内发生的所有行为的时间都转换为该时间间隔对应的时间刻度。
(3)对于时间转换完成后的行为记录进行去重或合并操作,其中,对于消费行为数据,将具有相同时间刻度和地点的消费记录合并为一条记录,消费金额等于被合并记录的消费金额之和;对于进入图书馆的行为数据,直接删除重复记录;对于登录网关的行为数据,将具有相同登录时间刻度和登录地点的记录合并为一条记录,访问时长和网络流量分别等于被合并的记录的访问时长和网络流量之和,注销时间则保留最晚的时间。
3.学生行为特征提取及选择
3.1.特征提取
(1)消费行为特征。对于消费行为的时间和消费金额属性分别计算平均值、范围、众数以表达其分布的集中趋势;统计最小值、第一分位数、中位数、第三分位数以及最大值表达分布的分散情况。同时,对时间和地点两个属性分别计算香农熵以表达行为的规律性。香农熵的定义如公式(1)所示。
h=-∑ip(i)logp(i)(1)
其中,p(i)表示消费事件i在给定时间或地点发生的概率。熵值越小,行为越规律,例如某学生总是在相同的时间吃早饭,那么该学生的早餐行为在时间维度的香农熵等于零。由于消费金额属性的数值是连续型,在无法掌握其分布概率时,利用香农熵衡量消费行为在金额维度的规律性有一定的困难,因此我们采用标准差表达消费金额的离散程度。标准差越小表示消费金额的离散程度越小,即每次消费的金额较一致。除此之外,我们统计消费行为的频次以表达其发生的频繁程度。按上述方法对消费行为提取的特征包括:消费频次、消费地点的香农熵、消费时间的香农熵、消费时间的平均值、消费时间的众数、消费时间的范围、消费的最早时间、消费时间的第一分位数、消费时间的中位数、消费时间的第三分位数、消费的最晚时间、消费金额平均值、消费金额众数、消费金额范围、消费金额最小值、消费金额第一分位数、消费金额中位数、消费金额第三分位数、消费金额最大值、消费金额方差。
具体实现的过程包括:
第一步:统计消费行为的频次。
第二步:对于消费时间,分别计算其平均值、范围、众数、最小值、第一分位数、中位数、第三分位数以及最大值。
第三步:对于消费金额,分别计算其平均值、范围、众数、最小值、第一分位数、中位数、第三分位数、最大值以及标准差。
第四步:采用公式(1)分别计算消费时间刻度和消费地点的香农熵。
(2)进入图书馆行为特征。采用和消费行为提取特征相同的方法,进入图书馆行为的特征包括:进入图书馆的频次、进入时间的香农熵、进入时间的平均值、进入时间的众数、进入时间的范围、进入图书馆的最早时间、进入时间的第一分位数、进入时间的中位数、进入时间的第三分位数、进入的最晚时间。
(3)登录网关系统的行为特征。对于该行为的登录时间和注销时间,采用和消费行为时间一样的方式提取特征;对于访问时长和网络流量,使用和消费金额一样的方式提取特征;而对于登录地点,则采用和消费地点相同的方式提取特征。因此,该行为的特征包括:登录频次、登录地点的香农熵、登录时间的香农熵、登录时间的平均值、登录时间的众数、登录时间的范围、登录时间的最早值、登录时间的第一分位数、登录时间的中位数、登录时间的第三分位数、登录时间的最晚值、注销时间的香农熵、注销时间的平均值、注销时间的众数、注销时间的范围、注销时间的最早值、注销时间的第一分位数、注销时间的中位数、注销时间的第三分位数、注销时间的最晚值、访问时长平均值、访问时长众数、访问时长范围、访问时长最小值、访问时长第一分位数、访问时长中位数、访问时长第三分位数、访问时长最大值、访问时长方差、网络流量平均值、网络流量众数、网络流量范围、网络流量最小值、网络流量第一分位数、网络流量中位数、网络流量第三分位数、网络流量最大值、网络流量方差。
3.2.特征选择
对于每种行为,为了从众多特征中选择最有代表性的特征,首先计算每个特征的方差,设定阈值以删除方差较小的特征。然后通过计算皮尔逊相关系数度量特征间的相关性,进而设定阈值删除冗余的特征。皮尔逊相关系数的计算如公式(2)所示。
其中,
4.集成的无监督聚类方法
4.1.利用dbscan进行初始聚类
对于给定的学生行为特征数据集d,例如早餐行为特征数据集、进入图书馆行为特征数据集等,dbscan通过一组邻域参数(∈,minpts)描述该数据集内学生样本分布的紧密程度,并定义以下概念:
(1)邻域n∈(p):对于学生p∈d,其领域包含d中与p的距离不大于∈的学生,即n∈(p)={q∈d|dist(p,q)≤∈}。
(2)核心对象:当p的邻域n∈(p)至少包含minpts个学生时,即|n∈(p)|≥minpts,认为学生p是一个核心对象。
(3)密度直达:当学生q位于p的n∈(p)中,且p是核心对象,则称q由p密度直达。
(4)密度可达:对于p与q,若存在学生序列p1,p2,…,pn,其中p1=p,pn=q且pi 1由pi密度直达,则称q由p密度可达。
基于上述概念,dbscan首先确定参数(∈,minpts),然后随机选择一个核心学生作为种子,将由其密度可达的学生生成聚类簇,迭代该操作直到所有核心学生都被访问过。聚类完成后,不属于任何簇的学生被认为是噪声。为了选择最优的参数(∈,minpts),采用称为minpts-距离图的方法,该方法设定一个minpts值,计算所有学生到其第minpts个近的学生的距离,然后根据该距离对所有学生进行降序排列并绘制曲线图。我们依次取[2,23]内的整数值作为minpts的值,并绘制对应的曲线图,取曲线形状不再发生明显改变的最小的minpts值作为最佳参数,在该参数对应的曲线上取第一个拐点处对应的距离作为最佳∈值,如图2所示。当参数(∈,minpts)确定后,利用欧式距离作为度量生成簇。
4.2.利用k-means算法进行细分
对于dbscan生成的较大且无法满足应用需求的簇,如图3.(c)中晚餐行为的dbscan聚类结果所示,簇0包含了98.4%的学生,这无法向学生的精细化管理提供有效的帮助信息,因此需要利用k-means对簇0进行细分。k-means算法采用欧式距离作为相似性的评价指标,两个对象的距离越近,表示相似性越大,其优化目标是最小化平方误差函数e,如公式(3)所示:
其中,k表示聚类个数,x表示学生样本,ci表示第i类,μi表示ci类的质心。该算法首先随机选择k个学生作为初始质心,将数据集中的学生按照距离质心的远近划分到各个类,然后计算各个类中样本的平均值作为新的质心,并根据新的质心对所有样本重新归类,迭代该操作直到类中所有学生的类别不再改变或者质心的变化低于设定阈值。本发明中,为了确定聚类个数k,引入了四个评价指标,分别是类内方差、轮廓系数、ch指数(calinski-harabaszindex)以及db指数(davies-bouldinindex)。一个好的聚类应该具有较小的类内方差、较大的轮廓系数、较大的ch指数以及较小的db指数。我们依次在整数区间[2,50]内为k取值,然后聚类,并分别绘制四个评价指标关于k值的折线图,如图4所示。通过观察图4.(a)和图4.(c),确定一个k值临界子区间,当k取该子区间的任意值时,类内方差折线和ch指数折线在该点处的夹角α在40度至60度之间,夹角α的定义如图5所示。当k值位于该子区间的左侧时,类内方差和ch指数急速下降;相反,当k值位于该子区间的右侧时,类内方差和ch指数开始平缓下降,即随着类别数目的增加并不能快速降低这两个指标。然后通过观察图4.(b)和图
4.(d),在前述的k值临界子区间内寻找轮廓系数最高或db指数最低对应的k值,即为最佳k值,如图4各个子图中的垂直虚线所标识。
图6显示了利用该集成聚类方法对晚餐行为的聚类结果,和图3.(c)相比,不仅检测到两个代表异常晚餐行为模式的簇,而且发现了六种主流的晚餐行为模式,基于每个行为模式的特点,学生管理部门可以进行精细化的服务和管理。
5.聚类结果可视化
为了直观地表达学生每个行为模式的特征分布以及模式间的特征差异,我们采用平行集的方式可视化聚类的结果,图7对前述晚餐行为的聚类结果进行了可视化,其中每个垂直的坐标轴代表一个特征,不同的行为类别采用不同颜色的曲线表示,曲线与垂直坐标轴的交叉点表示该类别在相应特征上值的分布情况。
为了验证所提方案的有效性,我们采集了某高校9000多名学生的六种行为数据,对其进行聚类分析。
需要说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
1.一种集成的无监督学生行为聚类方法,其特征在于包括以下步骤:
(1)采集学生的行为数据;
(2)对学生的行为数据进行预处理;
(3)对预处理后的学生行为数据进行特征提取及选择;
(4)对经过选择后的学生行为特征空间进行无监督聚类,具体如下:
首先利用dbscan算法对经过选择后的学生行为特征进行初始聚类;
然后,利用k-means算法对每种行为的dbscan初始聚类结果中的超大类进行细分,完成最终的聚类,其中,将包含80%以上样本的类视为超大类;
(5)聚类结果的可视化。
2.根据权利要求1所述的一种集成的无监督学生行为聚类方法,其特征在于:
步骤(1)所述的学生行为数据包括消费行为数据、进入图书馆的行为数据、登录网关系统的行为数据,具体如下:
消费行为数据,包括时间、地点、消费金额三个属性;根据消费时间和消费地点,进一步将消费行为数据分为早餐行为数据、午餐行为数据、晚餐行为数据以及购物行为数据,其中,三餐行为的消费时间段分别规定为6:00am至9:00am,11:00am至2:00pm,以及4:30pm至8:30pm,而购物行为的时间段定义为全天;
进入图书馆的行为数据,仅包含进入时间一个属性;
登录网关系统的行为数据,网关系统是部署在因特网和校园局域网之间的协议转换器,当学生需要通过校园网访问因特网时,必须登录网关;网关系统记录学生的登录时间、注销时间、登录地点、访问时长以及使用的网络流量。
3.根据权利要求2所述的一种集成的无监督学生行为聚类方法,其特征在于:
步骤(2)所述学生行为数据的预处理具体包括:
第一步:对学号进行匿名处理;
第二步:按照预设的时间间隔将一天24小时均匀划分为多个时间刻度,将每个时间间隔内行为记录的时间转化为该时间间隔对应的时间刻度;
第三步:对时间变换后的行为记录进行去重或合并操作:对于消费行为数据,将具有相同时间刻度和地点的消费记录合并为一条记录,消费金额等于被合并的消费金额之和;对于进入图书馆的行为数据,删除重复记录;对于登录网关的行为数据,将具有相同登录时间刻度和登录地点的记录合并为一条记录,访问时长和网络流量进行求和处理,并保留最晚的注销时间。
4.根据权利要求3所述的一种集成的无监督学生行为聚类方法,其特征在于:
步骤(3)所述的学生行为数据的特征提取具体如下:
消费行为特征提取:分别对早餐行为、午餐行为、晚餐行为和购物行为提取特征;特征包括:消费频次、消费时间刻度的平均值、消费时间刻度的范围、消费时间刻度的众数、消费时间刻度的最小值、消费时间刻度的第一分位数、消费时间刻度的中位数、消费时间刻度的第三分位数、消费时间刻度的最大值、消费时间刻度的香农熵、消费地点的香农熵、消费金额平均值、消费金额范围、消费金额众数、消费金额最小值、消费金额第一分位数、消费金额中位数、消费金额第三分位数、消费金额最大值、消费金额方差;
进入图书馆行为的特征提取,特征包括:进入图书馆的频次、进入时间刻度的平均值、进入时间刻度的范围、进入时间刻度的众数、进入时间刻度的最小值、进入时间刻度的第一分位数、进入时间刻度的中位数、进入时间刻度的第三分位数、进入时间刻度的最大值、进入时间刻度的香农熵;
登录网关系统行为的特征提取,特征包括:登录网关频次、登录时间刻度的平均值、登录时间刻度的范围、登录时间刻度的众数、登录时间刻度的最小值、登录时间刻度的第一分位数、登录时间刻度的中位数、登录时间刻度的第三分位数、登录时间刻度的最大值、登录时间刻度的香农熵、注销时间刻度的平均值、注销时间刻度的范围、注销时间刻度的众数、注销时间刻度的最小值、注销时间刻度的第一分位数、注销时间刻度的中位数、注销时间刻度的第三分位数、注销时间刻度的最大值、注销时间刻度的香农熵、访问时长平均值、访问时长范围、访问时长众数、访问时长最小值、访问时长第一分位数、访问时长中位数、访问时长第三分位数、访问时长最大值、访问时长方差、网络流量平均值、网络流量范围、网络流量众数、网络流量最小值、网络流量第一分位数、网络流量中位数、网络流量第三分位数、网络流量最大值、网络流量方差、登录网关的地点的香农熵。
5.根据权利要求4所述的一种集成的无监督学生行为聚类方法,其特征在于:
步骤(3)所述的学生行为数据的特征选择具体如下:
(3.1)利用特征方差分析,对学生行为数据的特征进行初步选择,具体为:
计算每个特征的方差,当方差小于设定的阈值时,删除该特征,其中,阈值通过特征方差的累计直方图确定;
(3.2)利用特征相关性分析,对学生行为数据的初步特征进行再次选择,具体为:
计算每种行为不同初步特征间的皮尔逊相关系数,以度量特征间的相关性,当两个特征的相关性系数大于设定阈值时,删除方差较小的特征,以消除冗余。
6.根据权利要求1所述的一种集成的无监督学生行为聚类方法,其特征在于:
步骤(4)所述dbscan算法中涉及的邻域参数(∈,minpts)由minpts-距离曲线图确定,具体为,将参数minpts依次取指定数值范围内的连续整数值,分别绘制对应的minpts-距离曲线图,当曲线形状不再发生改变时的最小的minpts值作为最佳参数,在该参数对应的曲线上取第一个拐点处对应的距离作为最佳∈值。
7.根据权利要求1所述的一种集成的无监督学生行为聚类方法,其特征在于:
步骤(4)所述k-means算法中的细分子类个数k的选择方法为:
第一步,引入四个评价指标,分别是轮廓系数、ch指数(calinski-harabaszindex)、db指数(davies-bouldinindex)以及类内方差;
第二步,将k依次取指定数值区间内的整数值,k每取一个值,便进行一次聚类;
第三步,分别绘制不同评价指标关于k值的折线图,通过观察这四个折线图,首先确定一个k值临界子区间,当k取该子区间的任意值时,类内方差折线和ch指数折线在该点处的夹角在指定度数区间内,然后在该子区间内寻找轮廓系数最高或db指数最低对应的k值,即确定为最佳k值。
8.根据权利要求1所述的一种集成的无监督学生行为聚类方法,其特征在于:
步骤(5)具体包括:
第一步:将行为频次离散化为整数区间;
第二步:将连续型数值时间熵和地点熵离散成数值区间;
第三步:采用平行集图对聚类结果进行可视化,可以直观地了解每类行为模式的特征值分布以及模式间的差异。
技术总结