美文网首页
理解「认知诊断」

理解「认知诊断」

作者: Pope怯懦懦地 | 来源:发表于2018-07-20 11:33 被阅读300次

我们总在抱怨传统的教育方式有问题、不适合现在这个时代了。不考虑教学内容方面的原因,单就测试这块就还停留在工业时代。一次很偶然的机会[1],我读到其实这块早在二十年前就有解决方案了,自己真是井底之蛙。

简单地说,考试这档子事,目前的问题在于反馈不准 & 反馈太慢:

  • 反馈不准:一张卷子考了辣么多知识点,你丫就给我一个分数?我怎么知道哪些知识点掌握了,哪些还懵着?
  • 反馈太慢:一个月,甚至一个学期才考一次。等到考的时候,都忘得差不多了。那难不成你要一天一考、一课一考?

这里主要解决「反馈不准」的问题,至于改进反馈的即时性,可以用游戏化的手法解决,暂时先放一放。

我们先来看一张成绩单:

学生 题1 题2 题3 题4 题5 做对题数
丁一 5
陈二 4
张三 3
李四 2
王五 1
赵六 1

可以看到王五和赵六都只得了 1 分,你就能说他俩学得一样好了吗?赵六做出来的那道题,全班只有他和丁一做出来了,而王五做出来的那题,全班除了赵六都能做出来。每道题的难度是不一样的,这,是不是该区分一下啊?

学生 题1 题2 题3 题4 题5 做对题数
丁一 5
陈二 4
张三 3
李四 2
王五 1
赵六 1
做错的人数 4 4 3 2 1

我们可以把「做错的人数」近似地看作「题目的难度」。其实如果要细究「难度的定义」,应该从「涉及的知识点」去考虑。这块后面还会回头来考虑。

现在我们用难度重新给每道题赋分:

学生 题1 题2 题3 题4 题5 得分
丁一 4 4 3 2 1 14
陈二 0 4 3 2 1 10
张三 0 0 3 2 1 6
李四 0 0 0 2 1 3
王五 0 0 0 0 1 1
赵六 4 0 0 0 0 4

但这么算的话,李四该跳起来了「我做对了 2 道题,赵六才做对了 1 道,凭什么他的分比我还高?也许那一题是他蒙对的呢?」

有道理啊!但我怎么知道他是不是蒙的呢?李四又在旁边使坏水「你看赵六那人就不是能做出题 1 的人,他其他题一道都没做出来,肯定是蒙的!!!」

呃~~有点道理。那我们就用「总共做对了几道题」近似地去评估「一个人的总体实力」。实力越强,蒙的可能性越低;实力越弱,越可能是蒙的。

现在我们用「实力 - 难度」试试:

学生 题1 题2 题3 题4 题5 得分
丁一 5 - 4 5 - 3 5 - 2 5 - 1 5 - 0 15
陈二 0 4 - 3 4 - 2 4 - 1 4 - 0 10
张三 0 0 3 - 2 3 - 1 3 - 0 6
李四 0 0 0 2 - 1 2 - 0 3
王五 0 0 0 0 1 - 0 1
赵六 1 - 4 0 0 0 0 -3

我们可以看到,「实力 - 难度」这个指标不光是一个算分的中间值,它还是一个用来衡量「某人做出这道题的可能性大小」的工具。比如,哪怕让丁一去做题 1 ,也会很费劲 5 - 4 = 1;但让他去做题 5 ,则很轻松 5 - 0 = 5

那如果这几道题,不是考题,而是知识点呢?我们能不能用这个工具去评估学生对各个知识点的掌握程度呢?我们只需要对它做一个 logistic 变换,就可以把它变成一个 0 到 1 之间的小数,我们能否用这个小数作为「某人做出某道题的概率」?

某人做出某道题的概率 = 1/ 1 + exp(-(实力 - 难度))
学生 知识点1 知识点2 知识点3 知识点4 知识点5
丁一 0.73 0.88 0.95 0.98 0.99
陈二 0.50 0.73 0.88 0.95 0.98
张三 0.50 0.50 0.73 0.88 0.95
李四 0.50 0.50 0.50 0.73 0.88
王五 0.50 0.50 0.50 0.50 0.73
赵六 0.05 0.50 0.50 0.50 0.50

你会奇怪,为什么好些个没拿分的题显示的是 0.5 呢?其实,0.5 在 logistic 的语境中,就是「不确定」的意思。概率很大,接近于 1 ,就是「掌握了」;概率很小,接近于 0 ,就是「没掌握」。好吧,这是我瞎掰的。

如果丁一陈二张三李四王五赵六不是一个个学生,而是一道道题呢?如果这不是一张成绩单,而是一张「知识点涵盖矩阵」呢?

题号 知识点1 知识点2 知识点3 知识点4 知识点5

题一涵盖了全部知识点,而题六只涵盖了知识点 1 。

那不就能用这种方式做到「评估知识点的掌握情况」了?需要注意的,实力那的值就不是这道题涵盖的知识点的个数了,而是学生做对某个知识点上的个数。

假设学生甲只做对了题四、题五:

题号 知识点1 知识点2 知识点3 知识点4 知识点5 做对与否
做对该知识点的数目 0 0 0 1 2
知识点的难度 4 4 3 2 1
知识点 知识点1 知识点2 知识点3 知识点4 知识点5
掌握程度 1 / (1 + exp(-(0 - 4))) 1 / (1 + exp(-(0 - 4))) 1 / (1 + exp(-(0 - 3))) 1 / (1 + exp(-(1 - 2))) 1 / (1 + exp(-(2 - 1)))
2% 2% 5% 27% 73%

可以看到,甲对知识点 5 掌握得最好。

简单来说,思路其实相当相当简单:

  • 做对该知识点越多,掌握得越好;
  • 该知识点在整套题中出现得越罕见,难度越大,越不容易掌握;

但上面这套算法没有解决一个很关键的问题:知识点之间是存在依赖关系的。比如:要想掌握分数的通分,至少得先学会整数的加减、求公分母……吧。但以上算法并没有考虑这个。

解决的思路其实也很简单:挨个考察这个知识点「所有的先修知识点」的掌握情况。

首先,我们得先细致地考察一番知识点的内在结构。我们用一个矩阵来做这事。其实这完全是为了数学上处理方便,用 if-else 同样解决问题。

画反了!!!知识点内在结构:1 表示行号节点是列号节点的「直接」先修知识点;0 表示没有联系。

但我们正在想要的是,能够回答「节点 i 是不是节点 j 的先修知识点,直接或者间接都行」的矩阵。其实我们只要对上面这个矩阵加上一个单位矩阵,再反复自相乘直到收敛就行了。注意是布尔相乘哦。

画反了!!!直达矩阵

现在,你问「知识点 2 是不是知识点 5 的先修知识点?」,只要查第 2 行第 5 列是否为 1 就行了。我们先给个记号:q(5 → 2) = 1 。「q」就是 required 的意思啦。

好,搞定第一个工具。

下面要讲的,数学形式可能和上面那个「实力 - 难度」公式不同,但本质是一个意思。

下面我们构造一个矩阵,如果甲同学在题 i 中掌握了知识点 j 所需的所有知识点,记作 1;反之,为 0 :

题号 知识点1 知识点2 知识点3 知识点4 知识点5 做对与否
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 1 1
0 0 0 0 1
0 0 0 0 0

(待续……)
下面上公式?


  1. 本来是在备考政治,然后社情民情这块有几个数据,就手贱去查了下。结果发现政府其实发布了很多数据。然后就想玩玩这些数据弄出个「房价预测模型」来。然后考虑学区房的影响时,又发现有教育领域的数据,就想弄个「教育质量评估模型」来。再然后对教育测试产生了兴趣,偶然发现了这篇《认知诊断?基于一个案例的理解(改进版)》。然后……就入坑了。

相关文章

  • 理解「认知诊断」

    我们总在抱怨传统的教育方式有问题、不适合现在这个时代了。不考虑教学内容方面的原因,单就测试这块就还停留在工业时代。...

  • 认知疗法第三章认知概念化

    认知概念化为治疗师理解患者提供了基本构架。在开始理解一个案例的过程前,你需要先问自己一下问题: “患者的诊断是什么...

  • 这位年轻的星妈,养育一对儿双胞胎,让"星儿"成功上小学还不忘享受

    嘟嘟小朋友在2岁半时被专家诊断患有“中度自闭症”,认知、理解、表达等能力均大幅落后于同龄人。但经过妈妈5年悉心地照...

  • 理解认知

    无意中在喜马拉雅FM听到唐老师在解读 《好好学习》这本书,书中说到为什么很多人读了这么多的书,依旧过不好这一生?对...

  • 认知—理解

    认知和理解这两个词是因为立保的多次强调进入了我的视线,后来和立保请教炒股的技巧,假设进入我的视线,和君首次提出了假...

  • 关于《元认知》的一些感想

    理解元认知先理解认知的定义,认知是指对于事物的认识和理解,元认知可以解释为对认知本身的认知,即对思考的思考,包括了...

  • 【经营管理】:认知之所在

    ★❤ 认知正确的知道,跟,认知错误的知道认知正确的理解,跟,认知错误的理解认知正确的了解,跟,认知错误的了解认知正...

  • 11.23复盘

    诊断,首先要看到问题的深层结构:社会的,人事的,关系的,……然后才是运用技术。 整体诊断:知识也叫认知,是否有偏差...

  • 特朗普--自恋型人格行走的教科书

    《精神分析诊断:理解人格结构》之自恋型人格 什么是自恋型人格 诊断手册中的自恋型人格 在《精神疾病诊断与统计手册》...

  • 王远红中原焦点秦皇岛站第5期每日分享第309天2021年10月1

    有空时看了看张道龙老师的咨询示范,真是简单快捷,从收集资料、诊断、鉴别诊断、认知调整,方向指导,用药方案到顺势而为...

网友评论

      本文标题:理解「认知诊断」

      本文链接:https://www.haomeiwen.com/subject/mhkfmftx.html