DKT Task 이해
DKT : Keep Knowlege Tracing : DL + KT
교육AI의 중심에 있다.
KT : Knowledge Tracing
지식 구성 요소(Knowledge component, ex. 일차방정식)에 대한 학생의 이해도를 지식 상태(Knowledge state)라 하고, 지식 상태는 계속해서 변화하며 그 상태를 지속적으로 추적하는 것
문제 풀이 정보(문제를 맞았는지 틀렸는지)로 지식상태를 추적하는데, 당연히 문제 풀이 정보가 많아질 수록 지식 상태를 더 정확하게 예측할 수 있다. 데이터가 적을수록 over-fitting 이 쉽게 일어난다. 가지고 있는 지식 상태에 대한 정보를 기반으로 다음 문제를 맞출 수 있을지를 예측한다.
문제추천이나 학업도를 파악하는데 쓰일 수 있다.
Metric
Binary classification 문제 (다음 문제를 맞출 수 있을지 0 or 1)이다.
예측값(probability)은 0~1사이의 값으로 나오고, 0.5(threshold)보다 크면 1, 작으면 0으로 최종 예측값으로 정하게 된다.
- AUROC
- ACC : accuracy
등 많은 metric이 있는데 이 중 AUROC를 알아보자
Confusion Matrix : 혼동 행렬
- Predict : 모델의 예측값 : Negative(0) || Positive(1)
- Actual : 실제 값
모델의 예측값을 기준으로 N이나 P를 결정하고, 실제와 모델이 같으면(=맞으면) True 다르면(=틀리면) False이다.
- Accuracy
전체중에 맞은 것 - Precision
모델이 1이라고 한 것 중에 실제 1인 것
모델이 수량 자체를 적게 예측할수록 높아진다. - Recall
실제 1인 것 중에 모델이 1이라고 한 것
모델이 모든 예측을 다 1이라고 하면 recall은 굉장히 높게 나와버린다. - F1-score
precision과 recall의 trade-off 때문에 이를 조화롭게 보기 위한 지표
AUC : Area Under the ROC Curve (=AUROC, ROC AUC)
성능이 좋아질 수록 오른쪽 위로 올라가고, 면적이 넓어진다. 하지만 무조건 면적이 넓다고 좋지는 않고, imbalance할수록 값이 커지기 때문에 조심해야 한다.
- x축 : FPR
실제 0 인것 중에 틀린 비율 - y축 : TPR
실제 1 중에 맞춘 비율
AUC를 구할 때 일단 값이 큰 순으로 probability을 정렬한다.
맞으면 위로 틀리면 오른쪽으로 그려진다.
데이터가 더 많아지면 곡선처럼 보이게 될 것이다.
AUC는 분포 metric이어서 0과 1의 분포의 차이가 벌어질 수록 더 높은 값을 나타내게 된다.
https://angeloyeo.github.io/2020/08/05/ROC.html 이 분 블로그가 많은 도움이 되었다.
AUC의 특징
- 척도불변
probability 자체의 절댓값이 중요하지 않고, 분포가 어디 위치하든 겹치는 부분이 같다면 같은 AUC가 나온다.
하지만 잘 보정된 확률 결과가 필요할 때는 척도 불변 특성이 좋지 않다. - 분류 임계값 불변
임계값이 어떤 값으로 선택되었느냐와 상관없이 모델의 품질을 측정할 수 있다. 목적에 따라서 FP 최소화를 우선시하고 싶을 수도 있기 때문에 잘 보정된 확률 결과가 필요할 때는 척도 불변 특성이 좋지 않다. 균형있게 보지 않고 싶은 경우에는 좋지 않다.
DKT History
BKT→DKT→SAKT→GKT
DKT는 Sequence data를 다루기 때문에 NLP랑 연관이 많기 때문에, LSTM, Transformer을 사용할 수 있다.
Sequence Model
RNN → (장문장에서의 학습이 어려움) → LSTM → (번역) → SEQ2SEQ(cv:context vector) → (문장이 길어졌을 때 문제 발생) → ATTENTION → (sequence 구조의 한계 : 속도) → self attention → TRANSFORMER (Positional Encoding) → Positional Embedding
'부스트캠프 AI Tech 3기 > 프로젝트 : P-stage' 카테고리의 다른 글
[Day 68] DKT 4. Sequence Data 문제 정의에 맞는 Transformer Architecture 설계 (0) | 2022.04.27 |
---|---|
[Day62] DKT 3. Baseline (LGBM, LSTM, Transformer) (0) | 2022.04.20 |
[Day41] Movie Rec 4. Collaborative Filtering (2) (0) | 2022.03.22 |
[Day40] Movie Rec 3. Collaborative Filtering (1) (0) | 2022.03.22 |
[Day40] Movie Rec 2. Research Directions and Resources (0) | 2022.03.21 |