IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7563620機械学習説明プログラム、装置、及び方法
<>
  • 特許-機械学習説明プログラム、装置、及び方法 図1
  • 特許-機械学習説明プログラム、装置、及び方法 図2
  • 特許-機械学習説明プログラム、装置、及び方法 図3
  • 特許-機械学習説明プログラム、装置、及び方法 図4
  • 特許-機械学習説明プログラム、装置、及び方法 図5
  • 特許-機械学習説明プログラム、装置、及び方法 図6
  • 特許-機械学習説明プログラム、装置、及び方法 図7
  • 特許-機械学習説明プログラム、装置、及び方法 図8
  • 特許-機械学習説明プログラム、装置、及び方法 図9
  • 特許-機械学習説明プログラム、装置、及び方法 図10
  • 特許-機械学習説明プログラム、装置、及び方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-30
(45)【発行日】2024-10-08
(54)【発明の名称】機械学習説明プログラム、装置、及び方法
(51)【国際特許分類】
   G06N 5/045 20230101AFI20241001BHJP
   G06N 20/00 20190101ALI20241001BHJP
【FI】
G06N5/045
G06N20/00
【請求項の数】 8
(21)【出願番号】P 2023549284
(86)(22)【出願日】2021-09-27
(86)【国際出願番号】 JP2021035299
(87)【国際公開番号】W WO2023047565
(87)【国際公開日】2023-03-30
【審査請求日】2024-01-11
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】福田 貴三郎
【審査官】福西 章人
(56)【参考文献】
【文献】特開2020-87338(JP,A)
【文献】福田 貴三郎 ほか,説明可能AIにおける上位概念を考慮したナレッジグラフからの説明変数選択,人工知能学会研究会資料,2021年03月15日,第05-01 ~ 05-07ページ,インターネット<URL:http://id.nii.ac.jp/1004/00011003/>,[検索日:2021/11/16]
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
機械学習モデルの訓練に用いられた訓練データに基づいて、条件と前記条件を満たす場合の結論とをそれぞれが含む第1の複数のルールを生成し、
前記訓練データのうち前記第1の複数のルールの中の第1のルールに含まれる第1の条件を満たす第1の複数のデータと、前記訓練データのうち前記第1の複数のルールの中の第2の複数のルールに含まれる複数の条件の少なくとも1つを満たす第2の複数のデータとが一致する場合、前記訓練データに基づく前記第1のルールの成立可能性を示す値と前記第2の複数のルールのそれぞれの成立可能性を示す複数の値との比較結果に基づいて、前記第2の複数のルールから一又は複数のルールを選択し、
前記第2の複数のルールのうち前記一又は複数のルール以外の他のルールと前記第1のルールとを含む説明情報を前記機械学習モデルの推論結果用に出力する、
処理をコンピュータに実行させる機械学習説明プログラム。
【請求項2】
前記一又は複数のルールを選択する処理は、前記第2の複数のルールの数が、前記第1のルール及び前記第2の複数のルールの各々の成立可能性を示す値のパターン数に所定値を加えた値より多い場合に実行される、
請求項1に記載の機械学習説明プログラム。
【請求項3】
前記一又は複数のルールを選択する処理は、前記第1のルールの成立可能性を示す値と前記第2の複数のルールに含まれる第2のルールの成立可能性を示す値との差が所定の閾値未満の場合に、前記第2のルールを含む前記一又は複数のルールを選択することを含む、
請求項1又は請求項2に記載の機械学習説明プログラム。
【請求項4】
前記成立可能性を示す値は、前記訓練データのうち、ルールに含まれる条件を満たす訓練データの数、及びルールに含まれる条件を満たし、かつルールに含まれる結論が所定の結論である訓練データの数に基づく値である、
請求項1~請求項3のいずれか1項に記載の機械学習説明プログラム。
【請求項5】
前記説明情報は、前記説明情報に含まれる前記第1のルール及び前記他のルールの各々の成立可能性を示す値を含む、
請求項1~請求項4のいずれか1項に記載の機械学習説明プログラム。
【請求項6】
前記説明情報を出力する処理は、前記第1のルールを原則のルール、前記他のルールを例外のルールとして出力することを含む、
請求項1~請求項5のいずれか1項に記載の機械学習説明プログラム。
【請求項7】
機械学習モデルの訓練に用いられた訓練データに基づいて、条件と前記条件を満たす場合の結論とをそれぞれが含む第1の複数のルールを生成し、
前記訓練データのうち第1のルールに含まれる第1の条件を満たす第1の複数のデータと、前記訓練データのうち第2の複数のルールに含まれる複数の条件の少なくとも1つを満たす第2の複数のデータとが一致する場合、前記訓練データに基づく前記第1のルールの成立可能性を示す値と前記第2の複数のルールのそれぞれの成立可能性を示す複数の値との比較結果に基づいて、前記第2の複数のルールから一又は複数のルールを選択し、
前記第1のルールと前記第2の複数のルールのうち前記一又は複数のルール以外の他のルールとを含む説明情報を前記機械学習モデルの推論結果用に出力する、
処理を実行する制御部を含む機械学習説明装置。
【請求項8】
機械学習モデルの訓練に用いられた訓練データに基づいて、条件と前記条件を満たす場合の結論とをそれぞれが含む第1の複数のルールを生成し、
前記訓練データのうち第1のルールに含まれる第1の条件を満たす第1の複数のデータと、前記訓練データのうち第2の複数のルールに含まれる複数の条件の少なくとも1つを満たす第2の複数のデータとが一致する場合、前記訓練データに基づく前記第1のルールの成立可能性を示す値と前記第2の複数のルールのそれぞれの成立可能性を示す複数の値との比較結果に基づいて、前記第2の複数のルールから一又は複数のルールを選択し、
前記第1のルールと前記第2の複数のルールのうち前記一又は複数のルール以外の他のルールとを含む説明情報を前記機械学習モデルの推論結果用に出力する、
処理をコンピュータが実行する機械学習説明方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、機械学習説明プログラム、機械学習説明装置、及び機械学習説明方法に関する。
【背景技術】
【0002】
説明可能AIの分野では、機械学習モデルの推論結果と共に、その推論結果に関する説明情報が提供される。このような説明可能AIの分野において、機械学習モデルの機械学習に利用した訓練データから、例えばIf-then記述の構文であるルールを抽出及び列挙し、ユーザに提示する技術が存在する。例えば、教師ありの設定での様々な制約の下で、高次元データセットから最小限の出現パターンをマイニングする技術が提案されている。この技術では、バイナリ化された入力データに対して、任意の制約を満たすルールが効率良く列挙される。
【先行技術文献】
【非特許文献】
【0003】
【文献】Hiroaki Iwashita, Takuya Takagi, Hirofumi Suzuki, Keisuke Goto, Kotaro Ohori, Hiroki Arimura, "Efficient Constrained Pattern Mining Using Dynamic Item Ordering for Explainable Classification," arXiv:2004.08015v1 [cs.DB] 17 Apr 2020.
【発明の概要】
【発明が解決しようとする課題】
【0004】
機械学習モデルの推論結果の説明情報として、データから取り出せるルールを提示する際、冗長なルールが生成され、解釈がし易い説明情報を提供できない場合がある。
【0005】
一つの側面として、開示の技術は、機械学習モデルの推論結果の説明情報として、解釈がし易い説明情報を提供することを目的とする。
【課題を解決するための手段】
【0006】
一つの態様として、開示の技術は、機械学習モデルの訓練に用いられた訓練データに基づいて、条件と前記条件を満たす場合の結論とをそれぞれが含む第1の複数のルールを生成する。また、開示の技術は、第1の複数のデータと、第2の複数のデータとが一致するか判定する。第1の複数のデータは、前記訓練データのうち前記第1の複数のルールの中の第1のルールに含まれる第1の条件を満たすデータである。第2の複数のデータは、前記訓練データのうち前記第1の複数のルールの中の第2の複数のルールに含まれる複数の条件の少なくとも1つを満たすデータである。一致する場合、開示の技術は、前記訓練データに基づく前記第1のルールの成立可能性を示す値と前記第2の複数のルールのそれぞれの成立可能性を示す複数の値との比較結果に基づいて、前記第2の複数のルールから一又は複数のルールを選択する。そして、開示の技術は、前記第2の複数のルールのうち前記一又は複数のルール以外の他のルールと前記第1のルールとを含む説明情報を前記機械学習モデルの推論結果用に出力する。
【発明の効果】
【0007】
一つの側面として、機械学習モデルの推論結果の説明情報として、解釈がし易い説明情報を提供することができる、という効果を有する。
【図面の簡単な説明】
【0008】
図1】機械学習説明装置の機能ブロック図である。
図2】訓練データ及び機械学習モデルとルールとの関係を説明するための図である。
図3】訓練データの一例を示す図である。
図4】バイナリ化された訓練データの一例を示す図である。
図5】ルールの記述形式を説明するための図である。
図6】列挙されたルールの一例を示す図である。
図7】ルールが表す変数域の一例を示す図である。
図8】部分的な例外となるルールを含むルールが表す変数域の一例を示す図である。
図9】ルールの被覆関係の一例を示す図である。
図10】機械学習説明装置として機能するコンピュータの概略構成を示すブロック図である。
図11】機械学習説明処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照して、開示の技術に係る実施形態の一例を説明する。
【0010】
図1に示すように、機械学習説明装置10には、機械学習モデルの訓練に用いられた訓練データが入力される。機械学習説明装置10は、訓練データから取り出されるルールに基づいて、機械学習モデルの推論結果の説明情報を生成して出力する。ここで、図2を参照して、訓練データ及び機械学習モデルとルールとの関係について説明する。ルールは訓練データから生成され、生成されたルールを用いて機械学習モデルが生成されてもよいし、訓練データを用いて機械学習モデルを生成し、生成された機械学習モデルの説明情報としてルールを用いてもよい。本実施形態は、後者の場合に相当する。
【0011】
機械学習説明装置10は、機能的には、図1に示すように、生成部12と、抽出部14と、選択部16と、出力部18とを含む。
【0012】
生成部12は、機械学習モデルの訓練に用いられた訓練データに基づいて、条件と条件を満たす場合の結論とをそれぞれが含む第1の複数のルールを生成する。図3に、訓練データの一例を示す。図3において、各行(各レコード)が1つの訓練データに相当する。「ID」は、訓練データの識別情報である。各訓練データは、項目「A」、項目「B」、・・・等の各項目についての値と、所定のタスクに対する各訓練データの結論を示す「ラベル」とを含む。生成部12は、各項目と、その項目の取り得る値又は値の範囲との組み合わせで表現される条件を設定する。例えば、生成部12は、項目名、等号又は不等号、及び値で表される説明変数を、項目毎に複数設定する。生成部12は、図4に示すように、訓練データの各項目の値を、設定した各説明変数に該当するか否かによりバイナリ化する。図4の例では、訓練データの各項目の値が、説明変数に該当する場合は「1」、該当しない場合は「0」に変換されている。
【0013】
生成部12は、説明変数の網羅的な組み合わせのそれぞれを条件として生成し、生成した各条件に結論を対応付ける。例えば、生成部12は、条件を満たす訓練データのラベルのうち、最多のラベルの値をその条件の結論として対応付ける。より具体的には、生成部12は、「A<5 ∧ B<3」という条件を満たす訓練データが10件あり、そのうち9件のラベルが「negative」、1件のラベルが「positive」であった場合、その条件に結論「negative」を対応付ける。生成部12は、このように、条件と結論とを対応付けたものをルールとして生成する。以下では、図5に示すように、矢印の左に条件、矢印の右に結論を記述した形式でルールを表す。
【0014】
また、生成部12は、各ルールについて、ルールの成立可能性を示す値を算出する。ルールの成立可能性を満たす値とは、そのルールが機械学習モデルの推論結果に与える影響を示す値であり、あるデータがルールの条件を満たす場合に、そのルールの結論が成立する可能性を示す値である。生成部12は、訓練データのうち、条件を満たす訓練データの数、及びラベルが示す結論が所定の結論である訓練データの数に基づいて、ルールの成立可能性を満たす値を算出する。具体的には、生成部12は、バイナリ化された訓練データを用いて、条件に含まれる全ての説明変数に対する値が「1」である訓練データをカウントすることにより、条件を満たす訓練データの数を取得する。
【0015】
より具体的に、図3及び図4の例のように、訓練データの「ラベル」が、「positive」又は「negative」の2値であるとする。この場合において、生成部12は、下記(1)式に示す確信度(confidential、以下「conf」ともいう)を、ルールの成立可能性を満たす値として算出してよい。
conf
=条件を満たし、かつラベルが「positive」である訓練データの数
/条件を満たす訓練データの数 (1)
(1)式の場合、confの値が大きいほど、すなわち1に近いほど、そのルールの条件を満たした場合に、結論が「positive」になる可能性が高いことを表す。一方、confの値が小さいほど、すなわち0に近いほど、そのルールの条件を満たした場合に、結論が「negative」になる可能性が高いことを表す。
【0016】
以下では、ルールの成立可能性を満たす値として、(1)式に示すconfを用いる場合を例に説明するが、ルールの成立可能性を満たす値は、これに限定されない。例えば、生成部12は、訓練データの全正例数に対する、条件を満たす正例数で表されるカバレッジを、ルールの成立可能性を満たす値として算出してもよい。なお、正例とは、ラベルが「positive」の訓練データである。
【0017】
生成部12は、生成したルールのうち、算出したconfが所定の制約を満たすルールを抽出して列挙する。所定の制約は、そのルールが機械学習モデルの推論結果に与える影響が大きいことを表す制約とする。例えば、生成部12は、confが0.7以上、又はconfが0.3以下のルールを抽出し、図6に示すように列挙する。なお、図6では、ルールに併記したかっこ内に、そのルールについて算出されたconfも表記している。
【0018】
なお、上記では、各項目の値が数値である訓練データから生成されるルールについて説明したが、項目の値がカテゴリカルな訓練データであっても、下記ルール1及びルール2に示すように、ルールを生成可能である。
ルール1:city=NYC → class=X
ルール2:race=black,city=NYC → class=Y
【0019】
また、結論も「positive」及び「negative」の2値に限定されるものではなく、3以上のクラスに分類される結論を対応付けてもよい。結論が3つ以上の場合、下記(2)式に示すようなconfを算出すればよい。
conf=条件を満たし、かつルールの結論と同じラベルの訓練データの数
/条件を満たす訓練データの数 (2)
【0020】
ここで、本実施形態における、ユーザに説明情報として提示するルールの要件について説明する。例えば、条件とconfとの関係が図7で表されるようなルールが列挙されたとする。図7の例では、条件が、項目「A」及び「B」を用いた説明変数の組み合わせで表される場合において、横軸に項目「A」を用いた説明変数の値、縦軸に項目「B」を用いた説明変数の値を対応させている。また、図7の例では、項目「A」を用いた説明変数と、項目「B」を用いた説明変数との組み合わせで表される領域内に、その組み合わせに対応する条件を含むルールについて算出されたconfを表記している。
【0021】
基本の要件としては、機械学習モデルの推論結果へ影響を及ぼす変数域がどこかを読み取れることである。図7の例で、ルール「A>5 ∧ B<5 → negative (conf=0.1)」は、データがA>5かつB<5の場合、機械学習モデルの推論結果が「negative」になる可能性が高いことを示している。すなわち、このルールの条件が示す変数域では、機械学習モデルの推論結果に対して負の影響があることを表している。
【0022】
次の要件は、変数域の変化に伴い、機械学習モデルの推論結果への影響がどう変わるかを読み取れることである。図7の例の下記3つのルールからは、データがA>5かつB<5の場合は負の影響であるが、B>5になると正の影響へと変わり、B>7.5になると正の影響度合いがさらに上昇するという、変数域の変化に伴う影響が読み取れる。
A>5 ∧ B<5 → negative (conf=0.1)
A>5 ∧ B>5 → positive (conf=0.7)
A>5 ∧ B>7.5 → positive (conf=0.8)
【0023】
次の要件は、ユーザに提示する情報量にほとんど差異がない場合、提示するルールはなるべく少なくすることである。図7の例で、下記3つのルールが列挙されている場合、「A>5 ∧ B<5 → negative (conf=0.1)」というルールにまとめて提示した方が良い。
A>5 ∧ B<3 → negative (conf=0.1)
A>5 ∧ B<4 → negative (conf=0.1)
A>5 ∧ B<5 → negative (conf=0.1)
【0024】
生成部12で列挙したルールをそのまま提示した場合、部分的な例外を説明しようとした際にユーザへのルールの提示が冗長になる場合がある。部分的な例外について、抽象的な例で説明する。例えば、果物={メロン、ブドウ、スイカ、モモ、レモン}が甘いか酸っぱいか説明する場合、「メロンは甘い、ブドウは甘い、スイカは甘い、モモは甘い、レモンは酸っぱい」のようなルールの積み上げ的な説明では、説明が冗長になってしまう。そこで、「レモンは酸っぱい」というルールを部分的な例外とし、「果物は甘い、ただしレモンは酸っぱい」のように、全体の説明に加え、部分的な例外を説明することで、冗長さを解消することができる。
【0025】
図6のように列挙されたルールが表す変数域について、図7と同様に表した図を図8に示す。図8に示すように、A<5かつB<5の変数域に、部分的な例外を示す変数域が含まれる。図6に示すルールで、この変数域を説明する場合、上から順に5つ目までのルールの積み上げ的な説明となるため、冗長な説明になる。例えば、図6に示すルールの上から順に5つ目までのルールを提示した場合、ユーザは下記のような解釈を行うことが想定される。
A<5かつB<5の変数域に対するユーザの解釈:
A<5かつB<3、A<3かつB<5、¬A<4かつA<5かつB<5、¬B<4かつB<5、A<5かつB<5の場合はnegative、¬A<3かつA<4かつ¬B<3かつB<4の場合はpositive
【0026】
上述の「変数域の変化に伴い、機械学習モデルの推論結果への影響がどう変わるかを読み取れる」という要件を満たしたうえで、「ユーザに提示する情報量にほとんど差異がない場合、提示するルールはなるべく少なくする」という要件を満たすことを考える。この場合、図6に示すように列挙されたルールから、部分的な例外を考慮して、以下の2つのルールを選択することで、下記のような解釈が可能となる。
選択するルール:
・A<5 ∧ B<5 → negative (conf=0.2)
・¬A<3 ∧ A<4 ∧ ¬B<3 ∧ B<4 → positive (conf=0.8)
A<5かつB<5の変数域に対するユーザの解釈:
A<5かつB<5の場合はnegativeだが、¬A<3かつA<4かつ¬B<3かつB<4の場合は例外的にpositive
【0027】
本実施形態では、生成部12により列挙されたルールから、抽出部14及び選択部16により、部分的な例外を考慮して、上記のような解釈が可能なルールを選択する。以下、抽出部14及び選択部16について詳述する。
【0028】
抽出部14は、訓練データに基づいて、ルールの被覆関係を抽出する。第1のルールと第2の複数のルールとが被覆関係にある場合、訓練データのうち第1のルールに含まれる条件を満たす第1の複数のデータと、訓練データのうち第2の複数のルールに含まれる複数の条件の少なくとも1つを満たす第2の複数のデータとが一致する。
【0029】
具体的には、抽出部14は、生成部12により列挙されたルールの集合から、あるルールKを満たす訓練データの集合をS、その部分集合族を構成するルールRの集合を{R}(i∈I)、ルールの集合{R}を満たす訓練データの集合を{U}(i∈I)とする。ルールKは「第1のルール」の一例であり、ルールの集合{R}は「第2の複数のルール」の一例であり、データSは「第1の複数のデータ」の一例であり、データ{U}は「第2の複数のデータ」の一例である。そして、抽出部14は、下記(3)式を満たす訓練データ、及び(4)式に示すルールとデータとの対応関係に基づいて、ルールKとルールの集合{R}との関係を被覆関係として抽出する。
【0030】
【数1】
【0031】
より具体的には、抽出部14は、生成部12により列挙されたルールの集合から選択した1つのルールをルールKに設定し、ルールKを満たす訓練データをデータSとして抽出する。また、抽出部14は、残りのルールから選択される1以上のルールの全ての組み合わせのそれぞれをルールの集合{R}に設定し、ルールの集合{R}を満たす訓練データをデータ{U}として抽出する。そして、抽出部14は、抽出したデータSとデータ{U}とが(3)式を満たすか否かを判定し、満たす場合に、データSに対応するルールKとデータ{U}に対応するルールの集合{R}とを被覆関係として抽出する。図9に、ルールKとルールの集合{R}との被覆関係の一例を示す。
【0032】
選択部16は、ルールKのconfと、ルールRの各々のconfとの比較結果に基づいて、ルールの集合{R}から一又は複数のルールを選択する。具体的には、選択部16は、ルールの集合{R}に含まれるルールRの数に応じて、ルールの集合{R}から一又は複数のルールを選択する処理を実行するか否かを判定する。例えば、選択部16は、ルールの集合{R}に含まれるルールの数が、ルールK及びルールRの各々のconfのパターン数に所定値λを加えた値より多い場合に、ルールの集合{R}から一又は複数のルールを選択する処理を実行する。これは、ある変数域を説明するためのルールの数は、その変数域におけるconfのパターン数程度あれば十分であるとの思想に基づくものである。図9の例の場合、ルールの集合{R}に含まれるルールの数は5、ルールK及びルールRの各々のconfのパターン数は、0.1、0.2、及び0.8の3パターンである。この場合、λ=1とすると、選択部16は、ルールの集合{R}から一又は複数のルールを選択する処理を実行すると判定する。
【0033】
また、選択部16は、機械学習モデルの推論結果への影響がルールKと近いルールRをルールの集合{R}から選択する。例えば、選択部16は、ルールKのconfと、ルールRのconfとの差が所定の閾値未満の場合に、影響が近いと判定してよい。例えば、図9の例において、閾値を0.2とすると、選択部16は、ルールKのconf=0.2との差が0.1となるルールR、ルールR、ルールR、及びルールRを選択する。
【0034】
出力部18は、ルールKと、ルールの集合{R}に含まれるルールRのうち、選択部16により選択された一又は複数のルールR以外の他のルールRとを含む説明情報を、機械学習モデルの推論結果用に出力する。選択部16により、一又は複数のルールを選択する処理が実行されていない場合、出力部18は、抽出部14で被覆関係として抽出されたルールKと、ルールの集合{R}とを含む説明情報を、機械学習モデルの推論結果用に出力する。
【0035】
選択部16で選択されたルールRは、機械学習モデルの推論結果への影響がルールKと近いルールである。すなわち、選択部16で選択されたルールRは以外のルールRは、ルールKを被覆するルールの中で例外となるルールであるといえる。なお、説明情報には、ルールに、各ルールのconfを加えてもよい。図9の上記の例の場合、選択部16によりルールR、ルールR、ルールR、及びルールRが選択されているため、出力部18は、ルールKとルールRとを説明情報として出力する(図9左下のルールの太字部分)。これにより、上述した「A<5かつB<5の場合はnegativeだが、¬A<3かつA<4かつ¬B<3かつB<4の場合は例外的にpositive」のような解釈が可能な説明情報を出力することができる。なお、出力部18は、説明情報に含めるルールKに原則のルールであることを示す付加情報、ルールの集合{R}から残ったルールに例外のルールであることを示す付加情報を付して出力してもよい。
【0036】
機械学習説明装置10は、例えば図10に示すコンピュータ40で実現されてよい。コンピュータ40は、CPU(Central Processing Unit)41と、一時記憶領域としてのメモリ42と、不揮発性の記憶部43とを備える。また、コンピュータ40は、入力部、表示部等の入出力装置44と、記憶媒体49に対するデータの読み込み及び書き込みを制御するR/W(Read/Write)部45とを備える。また、コンピュータ40は、インターネット等のネットワークに接続される通信I/F(Interface)46を備える。CPU41、メモリ42、記憶部43、入出力装置44、R/W部45、及び通信I/F46は、バス47を介して互いに接続される。
【0037】
記憶部43は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等によって実現されてよい。記憶媒体としての記憶部43には、コンピュータ40を、機械学習説明装置10として機能させるための機械学習説明プログラム50が記憶される。機械学習説明プログラム50は、生成プロセス52と、抽出プロセス54と、選択プロセス56と、出力プロセス58とを有する。
【0038】
CPU41は、機械学習説明プログラム50を記憶部43から読み出してメモリ42に展開し、機械学習説明プログラム50が有するプロセスを順次実行する。CPU41は、生成プロセス52を実行することで、図1に示す生成部12として動作する。また、CPU41は、抽出プロセス54を実行することで、図1に示す抽出部14として動作する。また、CPU41は、選択プロセス56を実行することで、図1に示す選択部16として動作する。また、CPU41は、出力プロセス58を実行することで、図1に示す出力部18として動作する。これにより、機械学習説明プログラム50を実行したコンピュータ40が、機械学習説明装置10として機能することになる。なお、プログラムを実行するCPU41はハードウェアである。
【0039】
なお、機械学習説明プログラム50により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
【0040】
次に、本実施形態に係る機械学習説明装置10の作用について説明する。機械学習説明装置10に訓練データが入力され、説明情報の出力が指示されると、機械学習説明装置10において、図11に示す機械学習説明処理が実行される。なお、機械学習説明処理は、開示の技術の機械学習説明方法の一例である。
【0041】
ステップS10で、生成部12が、機械学習説明装置10に入力された訓練データを取得する。そして、生成部12が、訓練データに含まれる各項目の値で表される説明変数の網羅的な組み合わせのそれぞれを条件として生成し、生成した各条件を満たす訓練データのラベルに基づいて、各条件に結論を対応付けてルールを生成する。さらに、生成部12が、各ルールについて、ルールの成立可能性を示す値として、例えば(1)式のconfを算出する。そして、生成部12が、生成した条件のうち、算出したconfの値が所定範囲内であるなどの所定の制約を満たすルールを抽出して列挙する。
【0042】
次に、ステップS12で、抽出部14が、上記ステップS10で列挙されたルールの集合において、ルールKを満たす訓練データの集合Sと、ルールの集合{R}を満たす訓練データの集合{U}とが(3)式を満たすか否かを判定する。抽出部14は、(3)式を満たすSと{R}とに対応するルールKとルールの集合{R}との関係を被覆関係として抽出する。
【0043】
次に、ステップS14で、選択部16が、上記ステップS12で被覆関係として抽出されたルールK及びルールの集合{R}に含まれるconfのパターン数を算出する。次に、ステップS16で、選択部16が、ルールの集合{R}に含まれるルールRiの数が、上記ステップS14で算出したパターン数に所定値λを加えた値より多いか否かを判定する。ルールRの数>パターン数+λの場合には、ステップS18へ移行し、ルールRの数≦パターン数+λの場合には、ステップS22へ移行する。
【0044】
ステップS18では、選択部16が、ルールKのconfと、ルールRのconfとの差が所定の閾値未満のルールRを選択する。次に、ステップS20で、出力部18が、ルールKと、ルールの集合{R}に含まれるルールRのうち、上記ステップS18で選択されたルールR以外のルールRとを含む説明情報を、機械学習モデルの推論結果用に出力する。一方、ステップS22では、出力部18が、上記ステップS12で被覆関係として抽出されたルールKと、ルールの集合{R}とを含む説明情報を、機械学習モデルの推論結果用に出力する。そして、機械学習説明処理は終了する。
【0045】
以上説明したように、本実施形態に係る機械学習説明装置は、機械学習モデルの訓練に用いられた訓練データに基づいて、条件と条件を満たす場合の結論とをそれぞれが含む第1の複数のルールを生成する。また、機械学習説明装置は、訓練データのうち第1のルールに含まれる第1の条件を満たす第1の複数のデータと、訓練データのうち第2の複数のルールに含まれる複数の条件の少なくとも1つを満たす第2の複数のデータとが一致するルールの被覆関係を抽出する。さらに、機械学習説明装置は、訓練データに基づく第1のルールの成立可能性を示す値と第2の複数のルールのそれぞれの成立可能性を示す複数の値との比較結果に基づいて、第2の複数のルールから一又は複数のルールを選択する。そして、機械学習説明装置は、第1のルールと第2の複数のルールのうち一又は複数のルール以外の他のルールとを含む説明情報を機械学習モデルの推論結果用に出力する。これにより、全体とその例外となるルールが説明情報として出力されるため、機械学習モデルの推論結果の説明情報として、解釈がし易い説明情報を提供することができる。
【0046】
なお、上記実施形態では、機械学習説明プログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記憶媒体に記憶された形態で提供することも可能である。
【符号の説明】
【0047】
10 機械学習説明装置
12 生成部
14 抽出部
16 選択部
18 出力部
40 コンピュータ
41 CPU
42 メモリ
43 記憶部
49 記憶媒体
50 機械学習説明プログラム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11