DEIM Forum 2017 B8-4

スパース符号化を用いた試験結果からスキル構造の抽出菊池 祥平†

手塚 太郎†† 筑波大学 情報学群 知識情報・図書館学類 〒 305–8550 茨城県つくば市春日 1–2
E-mail: †s1513119@u.tsukuba.ac.jp, ††tezuka@slis.tsukuba.ac.jp
あらましEducational Data Mining(EDM) と呼ばれる教育分野におけるデータ解析に注目が集まっている．その中に，学生の試験結果を用いて学生が持つスキル，設問そのものを解くために必要となるスキルを抽出する方法が研究されている．設問には設問を解くために必要なスキルが決定されている．設問とスキルの関係を 0,1 の行列で表したものを Q-matrix という．本研究では「スキルは論理値ではなく負値などの実数値を含む値で表現されるはず」という仮説のもと，スキル構造を論理値から実数空間に拡張し，抽出されるスキル構造をスパース符号化という手法を用いて重要な特徴のみで表現するということを試みる．
キーワード

教育データマイニング，スパース符号化，辞書学習

1. は じ め に
1. 1 背景を考慮した Q-matrix を生成する実験を行った．その結果，試験結果の行列と行列因子分解によって求まった行列との誤差を測ることでどのスキル数で分解した行列が適切なスキル数とな

近年，Educational Data Mining(EDM) と呼ばれる教育分るのかを機械的に判定をすることができた．また，実際の行列野におけるデータ解析に注目が集まっている [1]．この分野での誤差の他にも生成された行列との誤差やスキル行列の類似性

は生徒の試験結果や学習の記録を解析し，有益な情報を獲得すを測ることで適切なスキル数，が設定できるかを追実験し，そることを目的としている．その中に，学生の試験結果を用いてれぞれの手法で求まったスキル行列の比較を行なった．

学生が持つスキル，設問そのものを解くために必要となるスキ

1. 3 本論文の構成

ルを抽出する方法が研究されている．試験は学生のスキルを測

本論文は以下の通りである第 2 章では先行研究での手法を説るために用いられる．設問に対して正解ならば 1，不正解であ明し本論文との関連性について説明する．3 章では本研究で用れば 0 とすることで学生と設問から形成される試験結果を行列いる手法，KSVD と評価方法について説明する．4 章では実際として表現することができる．本来，設問には設問を解くために学生が解いた試験結果を用いて実験を行い，結果と考察を示に必要なスキルが決定されている．設問とスキルの関係を 0,1

す．5 章ではこれらのまとめを行う．

の行列で表したものを Q-matrix という．各設問におけるスキルの関係は有識者によって定義されており，多大な時間と費用

2. Q-matrix と試験結果から Q-matrix の抽出を要する．そのため，EDM の分野では大量の試験データから

2. 1 Q-matrix の導入

Q-matrix を自動生成しようとする試みが行われている．これ

教育機関や一般社会では，人それぞれの能力を客観的に評価までの研究では Q-matrix を如何に正確に得るかという観点でする必要がある．教育機関においては，各種学校での入学試験

研究がなされている．しかし，これまでの研究ではスキルの表として，受験者に対して教育を受けるために必要な知識や技能現性に着目しておらず，0,1 で表現されたデータにしか適用さを有しているか確認するための試験を行う．一般社会においてれていない．本来ならば試験の設問によってスキルの重要性がも，各種資格などに対して，知識や技能を有しているかを確認

変化するはずである．また，既存の手法では Q-matrix は表現するために試験を行うことが多い．この様に評価したい知識やできるものの，一つの設問が無数のスキルの組み合わせで表さ技能をスキルと定義すると，試験は学習者のスキルを測定するれることがあるため意味解釈が困難である．

ために用いられていると考えられる．試験には形態として口頭

1. 2 概要本研究では「スキルは論理値ではなく負値などの実数値を含

試問や実技試験，筆記試験など様々な方法が存在する．本論文において試験とは筆記試験を指し示すものとする．

む値で表現されるはず」という仮説のもと，スキル構造を論理一般的にスキルとは抽象的な概念であり，直接的にスキルの値から実数空間に拡張し，抽出されるスキル構造をスパース符

有無を測ることは難しい．そこで，一般的には試験に設問を与号化という手法を用いて重要な特徴のみで表現するということえることで試験を実施している．したがって，設問に正答するを試みる． 0 となる成分が多いことをスパース性と呼ぶ．ス

ために必要なスキルが潜在的に設定されていると考えることがパース符号化とは，ある行列 A とベクトル y が与えられた時にできる．本来測定したかった学習者のスキルの有無は，これらもっともスパース性を課したベクトル x を求めることである．

の試験の正答数から判断されていると考えられる．

このスパース符号化を試験結果に応用した，行列因子分解と呼しかし，解答には当てずっぽうやケアレスミスなどが存在し，ばれる行列の分解を行うことで実数空間への拡張とスパース性

本来正解していたはずなのに不正解となるケースや不正解であることが正しいのに正解しているケースが存在する．これらのることになる．

事象から考えられることは，学習者の表層的な得点のみではスキルの状態を正しく観測できないということである．そこで，潜在的なスキルの状態を把握し，学習者の実力を測るために教
育心理学の分野では Q-matrix という概念が用いられている [2]．

Q-matrix とは，各設問に正解するためにどのスキルが必要とされているかを表すために，行に設問番号，列にはスキル番号を配した関係行列として表現するものである．この Q-matrix
は有識者によって定義される．Q-matrix が用意された試験では，試験の結果から学習者のスキル状態を評価することが可能



1





1

0
R= 

0

0

1

0

1

1

0

0

1

0


1
, Q =

1

0

0

0

0

1

1

0


1

0

1

1

1
1




1


0
, S =  0


0
0
1
0


0

1

0

1

1

1

0


1


0

0

1

1

(1)
式 (1) のように，Q, S が与えられたならば，理想的な試験結果の R が与えられると仮定して，逆に試験結果の R から Q, Sを抽出することを考える．R と Q, S の関係は，である [3]．図 1 に Q-matrix の外形を示す．

R≒Q×S

(2)

と表すことができる．ここで記号 × を一般的な行列演算の積と定義する．

2. 2 NMF と BMF による試験結果への行列因子分解の適用
先行研究 [6] では Non-negative Matrix Factorization (NMF)
図 1 Q-matrix の外形によって人工的に生成した試験結果から Q-matrix を抽出可能であると定量的に示している．さらに，先行研究 [7], [8] では，

例えば，この Q-matrix では，items が設問を示し，Skils が試験結果の関係行列は 1,0 の論理値行列であることに着目しスキルの有無を示している．i1 では s1 が 1，s2 が 0 となってた上で Boolean Matrix Factorization (BMF) を用いて行列因いる．これは設問番号 1 では，この設問に正答するためにはス

子分解を行っている．特に先行研究 [7] では，NMF と BMF

キル番号 1 が必要であり，スキル番号 2 は不要ということを示

による Q-matrix の抽出結果を比較する計算機実験を行った

している．同様に考えると設問 2 ではスキル番号 2 が必要，設結果，BMF は初期値依存することなく NMF よりも安定して問 3 ではスキル番号 1 と 2 の両方が正答するにあたって必要と

Q-matrix を抽出できることが示されている．さらに先行研究 [8]いうことを示している．

では BMF に対して Minimum Description Length (MDL) を

この Q-matrix の問題点として，試験問題を作成するだけ適用する [9] ことで，機械的に最適なスキル数を決定する方法でも大変な作業であることに加えて，その試験問題から対応について論じている．この論文で行なっている実データを用いするスキルを列挙し Q-matrix を作成するという作業は多大た実験では，人間が決定した Q-matrix よりもスキル数が少なな労力を伴うため教育心理学の分野でも敬遠されてきた．そく現れており，少ない場合でも解釈可能なことから人間の設定

こで，Educational Data Mining(EDM) [1] の分野では少ない

した Q-matrix が間違っている可能性，機械により求められた労力で Q-matrix を生成するために，Intelligent tutoring sys-

Q-matrix が間違っている可能性，どちらも適切であるというtems(ITS) や Leaning management systems(LMS) によって可能性，どちらも不適切であるという可能性の計 4 つについて大量に蓄積されている試験結果から Q-matrix を自動生成しよ考察を行なっている．

うとする試みがなされている [4]?[8]．これらは試験結果を学習

2. 3 Non-negative Matrix Factorization(NMF)

者と設問のスコアを配した行列と解釈することで行列因子分解

NMF とは，行列を非負値の 2 つの行列に分解する手法であの問題として Q-matrix を求めている．試験結果は正答している．与えられた行列を W ∈ R=0,n × m ，NMF により分解され>>=0,n × k，V ∈ R=0,k × m とおくと，式 (3) のれば 1 を，誤答であれば 0 を与える．これを設問とスキルの関る行列を U ∈ R

係行列である Q-matrix と学習者とスキルの関係行列として因ように表すことができる．

>

子分解する．
式 (1) では 試験結果 R から 正しく Q-matrix と学習者のW ≈U ×VT

関係行列が抽出できた場合の行列を示している．試験結果をまた，NMF の概念図を図 2 に示す．

設問 n，学習者 m の行列 R ∈ {1, 0}n × m として考え，正答を 1，誤答を 0 として表現する．また，有識者が定義する設問とスキルの関係である Q-matrix を 設問 n，スキル k の行
列 Q ∈ {1, 0}n × k ，スキルと学習者の関係はスキル k ，学習者 m の行列 S ∈ {1, 0}k × m として表現する．Q, S では，それぞれスキルを有していた場合に 1，そうでなければ 0 が与えられている．S は学習者がどのスキルを有しているかを表してい

図 2 NMF の概念図

(3)

2. 4 Boolean Matrix Factorization(BMF)のために，意味解釈を容易にするためには設問に用いられるス

NMF は非負値の行列に分解するが，行列が 0,1 の論理値のキル数の限度を動的に決定する必要がある．

場合は論理値に対応した手法を用いることが良いと考えられる．

BMF は論理値演算を用いて行列因子分解を行う手法である．

3. 研 究 手 法

NMF が非負値の実数値に分解するのに対して，BMF では要素

本研究では 2. 5 で述べたように Q-matrix 本来の問題点とが論理値である行列に分解する．図 3 に示すように，n × m 行

NMF/BMF による行列因子分解での問題点を挙げた．これら

列 R ∈ 0, 1 を，n × k 行列 Q ∈ 0, 1 と k × m 行列 S ∈ 0, 1 にの問題に対処するためにスパース符号化を用いた辞書学習の手分解する．なお，◦ は行列の論理積和演算子を表す．

法を導入する．

3. 1 スパース符号化
人間の脳は情報のスパース化が行われていると考えられている．情報のスパース化とは，ある概念を表現する時により疎化された表現でその概念を表現するということである．視覚を例にすると，人間は画像を見た時に画像を基底画像の線形和とし
図 3 BMF の概念図

2. 5 問 題 点
2. 5. 1 Q-matrix の問題点
Q-matrix は設問とスキルの関係行列として定義されている．
この行列は論理値行列であり，スキルを有しているか否かという観点での判定はできるが，設問に対してあるスキルがどの程度影響しているかを測る術がない．これは言い換えると設問を解くために必要なスキルの優先順位が分からないという問題になる．設問に対してスキルの重要度合いを測るためには，各スキルが実数値で表されている必要がある．また，設問と学習者が解いた関係行列についても，本来は設問に対して点数が振り分けられており，作問者は本来設問それぞれに対して重要度を点数などの形で表現している．既存の方法では設問の重み付けがなされていない．
したがって，重み付けを行うためには設問と学習者が解いた関係行列に対しても論理値ではなく負値を含む実数空間に拡張した際に，正しく重み付けを行なった上での行列因子分解が行
われれば有用であると考えられる．

2. 5. 2 NMF,BMF の問題点
NMF，BMF はその名前の通り，行列が非負値であるという制約のもと分解を行う手法，行列が論理値であるという制約のもと分解を行う手法である．負値を含む実数空間への拡張を行
なう場合，NMF や BMF ではこの行列を正しく因数分解する
ことができない．

2. 5. 3 意味解釈の問題点
既存の手法のもと，行列因子分解を行うことで Q-matrix と学習者とスキルの関係行列を表すことが可能である．しかし，
実データに対してこの手法を行うと，表される Q-matrix の各設問は，無数のスキルの結合で表現されることがある．行列因
子分解により求まった Q-matrix のスキルはラベル付けがされておらず，人間がそれぞれラベル付け作業を行う必要がある．
その場合，無数のスキルの結合で表された設問はどのスキルを有していれば正答できるのかを解釈するのが困難になる．
したがって，意味解釈を行うためには用いるスキルの中でも重要な要素のみで表現されている方が適切であると考える．そて処理することによって認識している．スパース化が可能なものは画像や音声情報，信号などのベクトルとして表現されるものが挙げられる．分解したい観測データを n 次元のベクトル y とすると，y = Dx で表現される．D は n × k 次元行列で辞書と呼ばれ，観測データを表現するための k 個の基底ベクト
ルから成る．x は n × k の係数ベクトルである．観測データが与えられた時，適切な辞書 D を求めた上でスパースなベクトル xを求めるのがスパース符号化と呼ばれる．辞書というのは，観測データを表現するために，基底ベクトルからなる行列を辞書と呼んでいる．この辞書から任意の基底ベクトルを選択することであらゆる行列やベクトルを表現することは可能である．辞書を冗長にすることで行列，ベクトルをほとんどの要素が 0 となるベクトル，つまりスパースなベクトルで表現することが可能である．
このスパース符号化には，観測データが論理値や非負値である必要がなく，任意のベクトルの組み合わせで表現されたデータを与えられる．つまり観測データの制約が無く，与えられる
データは負値を含む実数で表現されたベクトルの組み合わせで良い．従って Q-matrix が任意の要素を含んでいても良いことになる．
また，NMF/BMF では非負値，論理値という制約があったが，スパース符号化を行うことで行列因子分解中の片方の行列を辞書とすることでスパースな行列を求めることができる．これは教育データに当てはめると，設問と学習者のスコア行列を
スパース符号化することで，従来使われていなかった学習者とスキルの関係行列を辞書とし Q-matrix はスパースな行列として表現するという命題になる．この時，従来の行列因子分解と異なる点として，学習者とスキルの関係行列は任意の要素を含
む辞書になるという点である．辞書自体はスパースではないた
め，スパースな行列として生成されるのは Q-matrix のみとなる．また，Q-matrix においても 0,1 の論理値行列では無く，負値を含む実数のスパースな行列として生成される．したがって，
従来人間が考案していた Q-matrix と比較した際に差が生まれることになる．そこで本研究では辞書を学習させることで求められた Q-matrix と従来の Q-matrix の比較も行うこととする．

ると．

3. 2 スパース符号化のための辞書学習
3. 2. 1 K-meansmin{||Y − DX||2F }s.t.∀i.||x:i ||0 <= T0

観測データからスパースなベクトルを求めるためには適切

D,Xな辞書を学習する必要がある．そこで，本研究ではスパース符号化のための辞書学習の手法として K-SVD という手法を導入する [10]．K-SVD とは K-means の一般化でもある．K-meansとはクラスタリング手法の 1 つであり，初めはランダムにデー
タをクラスタに割り当てる．そのクラスタ毎の重心を求め，各データについて，一番重心が近いクラスタへとデータを再度割り当てる．そしてまたクラスタ毎に重心を求め，一番近い重心のクラスタへとデータを再割り当てするということを繰り返し
クラスタリングを行う．クラスタの数を K 個とし，重心の計算には算術平均が用いられることから K-means と名付けられている．

K-means は非ゼロ要素を 1 つに限定し，かつその値を 1 つに限定したスパース符号化とも取れる．N 個のデータをベクト
ル集合 Y = {y:1 }N
i=1 (N ≫ K) として考え，各クラスタの重心を表すベクトルを横に並べて行列 C = [c:1 , c:2 , …, c:K ] と表す．
ここでデータの数 N はクラスタの数 K より十分多くする必要(7)とかける．ここで D は辞書を表す n × k 行列であり，T0 は係数ベクトル x:i における非ゼロ成分の上限を表す．D の各列は基底を表し，一般にアトムと呼ばれる．データ y:i は基底の線形結合で表されるが，使われる基底の数は T0 によって制限される．

K-SVD も K-means と同様に 2 つの工程で構成されている．
1) 辞書 D を固定して係数行列 X を求めるスパース符号化の段階と，2) X に基づいてより良い D へと書き換える辞書の更新の段階である．2) の段階で，D とともに関係する X の値 の変更も許すというのが他の K-means を一般化した手法に見られない K-SVD の特徴であり，それゆえ列ごとに独立して働く

K-means の一般化に近いと言われている．
K-SVD のアルゴリズムを 2 つの段階に分けて考える．まず
1 つ目のスパース符号化の段階だが，行列のままでは扱いにく∑2いので， ||Y − DX||2F = N
i=1 ||y:i − Dx:i ||2 と置き換える．
すると式 (7) は，がある．
各データ y:i は C の中にある列 c:j ，つまりどこかのクラスタに割り当てられる．これを係数ベクトル x:i を用いて y:i = Cx:iと表すと，x:i は割り当てられている C の列 c:j に対応した j 成
分 xji のみが 1 で，残りは全て 0 になる．y:i に対応する c:j はL2
ノルムを用いてmin{||y:i − Dx:i ||22 }s.t.||x:i ||0 <= T0 (i = 1, 2, …, N )
x:i

(8)

という N 個の独立した問題として考えることができる．T0 は任意の数に設定できるが，x:i の次元数と比べて小さいので，x:iは多くの成分が 0 となりスパースなベクトルとなる．よって，ここではスパース符号化を用いて式 (8) を満たす x:i を求め2∀k =| j.||y:i − Cxji ||22 <= ||y:i − Cxki ||2(4)

非ゼロ成分が T0 以下となるまでスパース符号化を行う．次にを満たすものが選ばれる．これによって x:i を更新する．次に X = {x:i } を固定して X を更新する．y:i における二乗誤差
を e2i = ||y:i − Cx:i ||22 と定義し，Y 全体での二乗誤差をN∑
e2i = ||Y − CX||2F

る．辞書 D は変化させず，一定とした上で係数ベクトル x:i の辞書 D を更新する．こちらも 1 段階目と同様にして列ごとに動かしたいので，D の k 列目のみを取り出せるように工夫する．その際，辞書 D の各列に対応した X の行も同時に考える．

(5)

i=1

∥Y − DX∥Fと定義する．||A||F はフロベニウスノルムを表し，||A||F =
√∑
m ∑n
2
i=1
j=1 |aij | である．二乗誤差を最小化するように C を(9)= ∥Y −


更新する．

k
∑

= Y −

以上のように K-means は 1) クラスタ C に基づいて X を決

d:j xj: ∥F

j=1

∑


d:j xj:  − d:k xk:

j =k|

定する段階と， 2) X を固定して C を書き換える段階の 2 つのF

= ∥Ek − d:k xk: ∥F

工程を交互に繰り返すことでデータをクラスタリングしている．
まとめると，

min{||Y − CX||2F }s.t.∀i||x:i ||0 <
=1
C,X

(6)

式 (10) では D の k 列目とそれに対応する X の k 行目のみを取り出した残りが Ek となっている．これは k 列目が取り除とかける．||x:i ||0 は 0 ノルムと呼ばれ，非ゼロ成分の数を表す．

かれた時の N 個のデータの誤差を表している．2 段階目では特x:i の非ゼロ成分が 1 つという条件で E を最小化するような C

異値分解 (SV D) を用いて Ek との差を最小化する d:k 及び xk:と X を求めることを表している．

を求める．

3. 2. 2 K-SVD

しかし，SVD にはスパース性に関する制約がない．式 (10)K-SVD では，式 (6) において値が 0 または 1 であった非ゼを最小化するために，xk: の 0 である成分にも非ゼロの値が入る

ロ成分数を閾値以下の任意の値にできる．したがって K-means．このままだと 1 段階目で制約をかけて生成したスパース性がの一般化と言われている．K-SVD は式 (6) と対応させて考え失われてしまう．そこで SV D でも x のスパース性を保持する

ために，xk: の非ゼロ要素のみを変化させるようにする．これはズが大きくなる場合はスキル数が多いと言える．2 つ目は m の，d:k が使われている y:i を選ぶことに等しい．xk: の非ゼロ成分の中での非ゼロ成分数 n である．もしこの非ゼロ成分数 n が小位置を指定するために，ωk = 1 <| 0 を定義する．
=i<= N, xki =さい場合を考える．例えば n = 1 のとき，スキル数 k がどれだ

さらに，ωk 成分が 1，それ以外が 0 となる N × |ωk | 行列としけ大きい場合でも設問 m の中で実数として現れるのは 1 つのてΩk を定義する．x̃k: = xk: Ωk とすると，x̃k: は xk: から非ゼロみである．この n は設問中のスキルの複合度合いを示している

成分を抜き出したベクトルとなり，列の数が N から |ωk | へとと言い換えられ，n = 1 ならば 1 問につき 1 つのスキルで表現変化する．同じように Ωk を Y にかけたものをỸk とすると，̃
Ykがなされ，n = 2 では 1 問につき 2 つのスキルの複合問題としは d:k が使用されている列のみを取り出した行列を表し，列のて表現することが可能である．したがって，n が小さい場合は数もx̃k: と同じく N から |ωk | へと減らされる．同様のことが少ない要素で表現を行うため制約が厳しく，n が大きい場合はẼk = Ek Ωk でも起こる．
Ẽk は d:k を使用している y:k に対応し複数の要素で表現が行えるため制約が緩いと解釈することがでた誤差のみを Ek から抜き出したものを表す．これらを使ってきる．

，式 (10) の右辺の代わりに以下の式を最小化する．

∥Ek Ωk − d:k xk: Ωk ∥F = ∥Ek − d:k xk: ∥F

4. 2 制約付き辞書学習(10)

スキル数の増加と非ゼロ成分数の値は従属関係にある．スキル数は増加すればするほど，行列内で表現できる要素が増える

Ẽk に対して SVD を行うと，Ẽk = U ΛV T と分解できる．Λ

ため誤差値は下がると考えられる．また，非ゼロ成分においては対角行列であり，対角成分はそれぞれ対応する U と V の列

も，スキル数の増加に伴って値を増やすことができる．非ゼロの重みを表していると言える．式 (10) を最小化することが目的

成分が多くなると行列としての制約が緩くなるため収束しやすなので，d:k とx̃k: は最も大きい特異値に対応する特異ベクトル

くなり，誤差値が下がると考えられる．このように，スキル数，つまりΛの対角成分が最大のものに対応する U と V の列ベク
トルから作れば良い．最大特異値をλ11 で表す．そしてd˜:k = u:1と非ゼロ成分数は従属しているため，どちらがどの程度収束にT，̃
xk: = λ11 v:1と更新すれば，式 (10) を最小化することができる．ただし，
d˜:k は毎回正規化しなければならない．

影響を及ぼすのか判断することが難しいと言える．
そこで，ここではさらに制約付き辞書学習という手法を導入する．図 4 による辞書学習では，1) R が与えられた時，辞書学

以上の工程を繰り返して K-SVD はデータを辞書とスパース

習によって生成された辞書 D は，任意の Q を生成するためのな行列に分解することができる．少ない情報量でデータを表現

テンプレートである必要がある．また，2) 一般的な Q-matrixできるので画像の圧縮などにも用いられている．

の場合は，生徒と設問のスコア行列 R から Q-matrix を生成す

4. 研究手法の評価実験

る際に，生徒の人数が変化しても Q-matrix は変化してはならない．1) は一般的な辞書学習についての考え方であり， 2) は

4. 1 実 験 方 法

Q-matrix 本来の役割を考えた際に必要な事項である．そこで，

ここでは実際に実データを用いて辞書学習を用いたスパース得られた Q-matrix と辞書それぞれについて，最適さを測る手

符号化による Q-matrix の抽出を試みる．実験データは統計言
語 R の CDM パッケージにある ”fraction.subtraction.data”お法を考案する．
図 5 に制約付き辞書学習の方法を示す．

よび”fraction.subtraction.qmatrix”を用いた [11]．このデータ
は分数の問題 20 問を 536 人が解いた結果である．この試験における Q-matrix は有識者によってスキル数 8 と定義されている．
したがって，定義されている Q-matrix と推定した Q-matrixの比較を行う．図 4 に辞書学習によるスコア行列の行列因子分解結果を示す．

図 4 辞書学習によるスコア行列の分解

この図は生徒数 d，問題数 m が与えられた時に，d × k の辞
書行列 D と k × m の スパースな Q-matrix に分解を行うということを示している．
この実験において辞書学習で設定するパラメータは 2 つである．1 つはスキル数のサイズを表す k のサイズである．k のサイ

図 5 スコア行列 R の分割

図 5 では，まず与えられた R を 2 分割する．そして，分割された R と R′ のそれぞれについて KSVD による辞書学習を行い，辞書 D と Q-matrix を求める．次に，それぞれの 辞書 Dと Q-matrix を比較し，その誤差が最小となるような スキル
数 k を探索する．辞書 D と Q-matrix の最適化にはフロベニウ

スノルムを用いる．最適化したい行列を X ，X ′ とすると，これ線は辞書間のフロベニウスノルムを求めたものである．この図らのフロベニウスノルムは式 (11) によって求められる．

によって比較を行うと，スキル数 40 - 60 の間で誤差値が逆転している．スコア行列の誤差に対して辞書の誤差は緩やかに増min′ ||X − X ′ ||F

加し続けていることがわかる．各誤差の重み付けによって最適

(11)

X,X

4. 3 評 価 方 法
この実験では定量的評価を行う．辞書学習による学習の反復
回数は 500 と固定し，制約条件となる n の値を元の Q-matrix

なスキル数を判定するのが難しいが，緑線の特徴から 40 - 60
以下のスキル数が最適であると考えることができる．

4. 4. 3 Q-matrix を制約した場合の実験
Q-matrix を制約した場合の実験結果を図 8 に示す．

での値を参考に 3 とした．

4. 4 実 験 結 果
4. 4. 1 素朴な実験
実験結果を図 6 に示す．

図8

非ゼロ成分数 3 とした時のスコア行列の誤差値と Q-matrix を制約した場合の誤差値

この図では，青線が図 6 において求められたものである．緑図 6 非ゼロ成分数 3 とした時のスキル増加によるスコア行列の誤差値の関係

線は Q-matrix のフロベニウスノルムを求めたものである．この図では，Q-matrix の誤差値がスコア行列の誤差値と比較して大きくなっていることがわかる．また，Q-matrix の誤差値

この図では，非ゼロ成分数を固定した際に，スキル増加によってスコア行列の誤差値にどのような変化が見られるかを示したものである．この図では，スキル数が 60 前後の段階で誤差値が最も小さくなっており，スキル数を 100 程度まで調べた
段階ではスキル数 60 前後が最適なスキルであることがわかる．

4. 4. 2 制約付き辞書学習による実験
次に，制約付き辞書学習による実験結果を図 7 に示す．

はスキルの増加に伴って減少するという傾向は見られず，ほぼ横ばいであることがわかる．

4. 5 考察

非ゼロ成分数を固定した場合にスキルの増加を調べた．その結果スコア行列はスキルの増加に伴って減少する傾向があることがわかった．また，非ゼロ成分数を固定した場合に最適なス
キル数 k を見つけるという実験を行なった際に，制約付き辞書
学習を行なったが，辞書については徐々に増加，Q-matrix に
おいては最適な結果が見られなかった．これらについて考察を行う．
スコア行列の減少傾向が見られたのは，辞書 D の要素がスキル行列の増加と伴い相対的に表現性能が上がったためだと考えられる．辞書 Q はスキル数 k のサイズによって変化する．例えば，k が小さいということは，わずかな辞書の要素で Q-matrixを求めることと等しい．この際，辞書 D は Q-matrix を決定付けるための重要なアトムで構成される．逆に，k のサイズが大きい場合はより柔軟な表現で Q-matrix を求めることが可能になる．このことから，辞書のサイズが大きくなることによって元の行列を再現する能力が向上することが考えられる．再現性

図 7 非ゼロ成分数 3 とした時のスコア行列の誤差値と辞書制約を施した辞書の誤差値が上がるということは，基のスコア行列により近似した行列ができるということであり，結果としてスコア行列の誤差が減少傾向にあるのは自然といえる．

この図では，青線が図 6 において求められたものである．緑次に辞書 D について考える．先ほど k のサイズが上がること

文

で辞書が柔軟な表現をすることが可能になると説明した．これは献

Q-matrix を決定付けるアトムの他にも，Q-matrix に影響の少[1] Cristobal Romero, Sebastian Ventura, Mykola Pechenizkiy,

ないアトムが用いられることになるとも考えられる．Q-matrix

Ryan S.J.d. Baker, “Handbook of Educational Data Min-に影響の少ないアトムが辞書に増えれば増えるほど，辞書そのing (Chapman & Hall/CRC Data Mining and Knowledge

ものについて最小化を行なった際に一致度は下がることが考え

Discovery Series)”, CRC Press, 2010.

られる．以上の理由から，辞書 D がスキル数の増加に伴って誤差値が上昇したと考える．

[2] K.K. Tatsuoka, ”Rule space: An approach for dealing withmisconceptions based on item response theory” Journal of
Educational Measurement, Vol. 20, pp. 345-354, 1983．

Q-matrix の一致度がスコア行列に比べて高いのは生成された[3] K.K. Tatsuoka, ”Cognitive Assessment: An Introduction to

辞書の影響によるものだと考えられる．辞書そのものはテンプ

the Rule Space Method”, Routledge Academic, 2009.

レートなので要素こそ大きく変化しないものの，それを用いて[4] Barnes, Tiﬀany. ”The Q-matrix method: Mining student re-生成する Q-matrix は大きく変化する．他 2 つの行列と比較しsponse data for knowledge.” American Association for Arti-

た際にも誤差値は大きく，今後最適化すべき点はこの Q-matrix

ficial Intelligence 2005 Educational Data Mining Workshop.

である．

5. ま と め

2005.
[5] Winters, Titus, et al. ”Topic extraction from item-level
grades.” American Association for Artificial Intelligence2005 Workshop on Educational Datamining, Pittsburgh,

本研究では「スキルは論理値ではなく負値などの実数値を含PA. Vol. 1. No. 2. 2005.

む値で表現されるはず」という仮説のもと，スキル構造を論理[6] Desmarais, Michel C. ”Mapping question items to skills with値から実数空間に拡張し，抽出されるスキル構造をスパース符

non-negative matrix factorization.” ACM SIGKDD Explo-号化という手法を用いて重要な特徴のみで表現するということ

rations Newsletter 13.2 (2012): 30-36.

を試みた．スパース符号化を試験結果に応用した，行列因子分解と呼ばれる行列の分解を行うことで実数空間への拡張とス[7] 大枝真一, 天野恵理子, and 山西健司. ”行列因子分解を用いた時
系列試験結果からの潜在スキル構造の抽出 (ポスターセッション,
第 16 回情報論的学習理論ワークショップ).” 電子情報通信学会

パース性を考慮した Q-matrix を生成する実験を行った．その技術研究報告. IBISML, 情報論的学習理論と機械学習 113.286

結果，試験結果の行列と行列因子分解によって求まった行列と(2013): 123-130.

の誤差を測ることでどのスキル数で分解した行列が適切なスキ[8] 清野真理子, and 大枝真一. ”論理値行列因子分解を用いた試験

ル数となるのかを機械的に判定をすることができた．また，実結果からのスキル構造の抽出.” 情報処理学会第 77 回全国大会際の行列の誤差の他にも生成された行列との誤差やスキル行列の類似性を測ることで適切なスキル数，が設定できるかを追実
験し，それぞれの手法で求まったスキル行列の比較を行なった．
課題として誤差値という観点のみでは一概に最適なスキル数

2 (2015): 03.
[9] Miettinen, Pauli, and Jilles Vreeken. ”mdl4bmf: Minimum
description length for Boolean matrix factorization.” ACM
Transactions on Knowledge Discovery from Data (TKDD)
8.4 (2014): 18.

であると断定することができないという問題がある．その理由[10] Aharon, Michal, Michael Elad, and Alfred Bruckstein. ”K-として，誤差値はスキル数の大きさと非ゼロ成分数のどちらもSVD: An Algorithm for Designing Overcomplete Dictionar-

が従属関係にあるためである．これはスキル数を固定していてies for Sparse Representation.” IEEE Transactions on signal

も非ゼロ成分数を増やした場合収束しやすくなるという点，非ゼロ成分数を固定してもスキル数の増加によって収束しやすくなるという側面を併せ持っているためである．
今回の研究では制約付き辞書学習という方法を提案し辞書行
列，Q-matrix のどちらに対しても誤差が最小となるような kを求めるための追実験を行なった．その結果，辞書 Q において
はスキル数の増加により徐々に誤差値が増加していくという傾向が見られたものの，Q-matrix においては優位な傾向は見られなかった．今後の実験ではこれらの制約に加えて情報モデルの評価という観点から検証を行う必要がある．

processing 54.11 (2006): 4311-4322.
[11] Tatsuoka, Kikumi K., ed. Analysis of errors in fraction addition and subtraction problems. Computer-based Education
Research Laboratory, University of Illinois, 1984.