(57)【要約】【課題】予測モデルの妥当性を網羅的に評価可能とする。【解決手段】機械学習プログラム検証装置１００において、機械学習によって作成されたプログラムに関して、その決定木における決定木パスを示すパス論理式を論理積結合して決定木論理式を得て、決定木論理式に対し、検証性質論理式と目的変数計算論理式とを論理積結合し結合論理式を作成し、この結合論理式を充足可能性判定器に入力して充足可能性判定を行い、この判定結果が充足性を示す場合、該当充足解から検証性質に違反する説明変数の値である違反入力値と目的変数の値である違反出力値を取得する演算装置１０４を含む構成とする。【選択図】図１
2020135171.tif 000002
【特許請求の範囲】
【請求項１】
複数の決定木から構成されるアンサンブルツリーによる予測アルゴリズムに従い、説明変数の値を入力として目的変数の値を出力する、機械学習によって作成されたプログラムを保持する記憶装置と、
前記プログラムに関して、前記決定木における決定木パスを示すパス論理式を、論理積結合することで決定木論理式を作成する処理と、
前記決定木論理式に対し、前記プログラムに関して検証対象とする検証性質を示す検証性質論理式と、前記決定木ごとの決定木出力値と前記目的変数の値との関係を定義する目的変数計算論理式とを論理積結合して、結合論理式を作成する処理と、
前記結合論理式を、所定の充足可能性判定器に入力することで、前記結合論理式の充足可能性判定結果を取得し、当該充足可能性判定結果に基づいて、前記プログラムが前記検証性質を充足するか判定する処理と、
前記判定の結果が充足性を示す場合、前記充足可能性判定器が示す充足解から、前記検証性質に違反する説明変数の値である違反入力値と、当該違反入力値の場合の目的変数の値である違反出力値を取得する処理と、を実行する演算装置と、
を備えることを特徴とする機械学習プログラム検証装置。
【請求項２】
前記演算装置は、
前記決定木論理式の作成に際し、前記決定木から決定木パスを抽出し、抽出した前記決定木パスのパス条件から構成されるパス論理式を作成し、
前記検証性質論理式の作成に際し、前記説明変数および目的変数の関係として定義される検証性質のユーザ入力を入力装置で受け付け、前記受け付けた前記検証性質に基づいて前記検証性質論理式を作成するものである、
ことを特徴とする請求項１に記載の機械学習プログラム検証装置。
【請求項３】
前記演算装置は、
前記充足可能性判定結果が充足性を示す場合、前記説明変数を、所定ルールないしユーザ指定に基づき検索対象説明変数と非検索対象説明変数に分類する処理と、
前記違反入力値を構成する前記検索対象説明変数の値である検索対象違反入力値と、前記違反入力値を構成する前記非検索対象説明変数の値である非検索対象違反入力値とについて、前記検索対象違反入力値を含むべく前記検索対象説明変数の上限値および下限値を作成し、前記上限値以下かつ前記下限値以上の範囲を前記検索対象説明変数の検索範囲と特定する処理と、
前記検索対象説明変数の値が前記検索範囲の内にあることを意味する検索範囲論理式を作成する処理と、
前記非検索対象説明変数の前記非検索対象違反入力値を、前記非検索対象説明変数の制限範囲とし、前記非検索対象説明変数の値が前記制限範囲内にあることを意味する制限範囲論理式を作成する処理と、
前記検索範囲論理式および前記制限範囲論理式を、前記結合論理式に論理積結合することで、第二の結合論理式を作成する処理と、
前記第二の結合論理式を前記充足可能性判定器に入力することで、前記第二の結合論理式の充足可能性判定結果を取得し、当該充足可能性判定結果が充足性を示す場合、前記上限値以下かつ前記下限値以上の範囲を、前記検索対象説明変数の違反範囲と特定する処理と、
を更に実行するものである、
ことを特徴とする請求項１に記載の機械学習プログラム検証装置。
【請求項４】
前記演算装置は、
前記第二の結合論理式の充足可能性判定結果が充足性を示す場合、
前記説明変数を、所定ルールないしユーザ指定に基づき、第二の検索対象説明変数と第二の非検索対象説明変数に分類する処理と、
前記第二の検索対象説明変数に対して違反範囲を作成済みの場合、前記違反範囲を含むように前記第二の検索対象説明変数の上限値と下限値を作成する処理と、
前記上限値以下かつ前記下限値以上で、前記違反範囲を含まない範囲を、前記第二の検索対象説明変数の検索範囲とし、前記第二の検索対象説明変数の値が前記検索範囲内にあることを意味する検索範囲論理式を作成する処理と、
前記第二の非検索対象説明変数に対して違反範囲を作成済みの場合、前記違反範囲を前記第二の非検索対象説明変数の制限範囲とし、前記第二の非検索対象説明変数の値が前記制限範囲内にあることを意味する制限範囲論理式を作成する処理と、
前記検索範囲論理式および前記制限範囲論理式を、前記結合論理式に論理積結合することで、第三の結合論理式を作成する処理と、
前記第三の結合論理式を前記充足可能性判定器に入力することで、前記第三の結合論理式の充足可能性判定結果を取得し、前記充足可能性判定結果が充足性を示す場合、前記上限値以下かつ前記下限値以上の範囲を、前記第二の検索対象説明変数の違反範囲と特定する処理と、
を更に実行するものである、
ことを特徴とする請求項３に記載の機械学習プログラム検証装置。
【請求項５】
前記演算装置は、
前記第二の結合論理式または前記第三の結合論理式の充足可能性判定結果が、充足不能を示す場合、前記説明変数を取得して、
前記説明変数に違反範囲が設定されている場合、前記説明変数の値は前記違反範囲外にあることを意味する前提範囲指定論理式を作成する処理と、
前記説明変数に違反範囲が設定されていない場合、前記説明変数の値が前記違反入力値と等しいことを意味する前提範囲指定論理式を作成する処理と、
前記前提範囲指定論理式を前記結合論理式に結合することで、第四の結合論理式を作成する処理と、
前記第四の結合論理式を充足可能性判定器に入力することで、前記第四の結合論理式の充足可能性判定結果を取得し、当該充足可能性判定結果が充足性を示す場合、前記充足可能性判定器からその充足解を取得し、前記充足解から、前記検証性質に違反する説明変数の値である違反入力値と当該違反入力値の場合の目的変数の値である違反出力値とを取得する処理と、
を更に実行するものである、
ことを特徴とする請求項４に記載の機械学習プログラム検証装置。
【請求項６】
前記演算装置は、
前記第二の結合論理式または前記第三の結合論理式の充足可能性判定結果が充足性を示す場合、当該充足解を取得して、
前記充足解から、前記検証性質に違反する説明変数の値である違反入力値と当該違反入力値の場合の目的変数の値である違反出力値とを取得する処理を更に実行するものである、
ことを特徴とする請求項４に記載の機械学習プログラム検証装置。
【請求項７】
前記演算装置は、
前記パス論理式に現れる前記説明変数の値が、前記違反入力値または前記第二の違反入力値と一致することを意味する違反入力値指定論理式を作成する処理と、
前記違反入力値指定論理式を、前記パス論理式に論理積結合することで、違反入力値指定済みパス論理式を作成する処理と、
前記違反入力値指定済みパス論理式を、前記充足可能性判定器に入力することで、前記
違反入力値指定済み論理式の充足可能性判定結果を取得し、前記充足可能性判定結果が充足性を示す場合、対応する前記決定木パスを違反パスとして取得する処理と、
前記決定木を決定木グラフとして画面に表示し、前記決定木グラフ上において、前記違反パスを強調表示する処理と、
を更に実行するものである、
ことを特徴とする請求項４に記載の機械学習プログラム検証装置。
【請求項８】
前記演算装置は、
前記パス論理式に現れる前記説明変数の値が、前記違反範囲に含まれることを示す違反範囲指定論理式を作成する処理と、
前記違反範囲指定論理式を、前記パス論理式に論理積結合することで、違反範囲指定パス論理式を作成する処理と、
前記違反範囲指定パス論理式を、前記充足可能性判定器に入力することで、前記違反範囲指定パス論理式の充足可能性判定結果を取得し、前記充足可能性判定結果が充足性を示す場合、対応する前記決定木パスを違反パスとして取得する処理と、
前記決定木を決定木グラフとして画面に表示し、前記決定木グラフ上において、前記違反パスを強調表示する処理と、
を更に実行するものである、
ことを特徴とする請求項３に記載の機械学習プログラム検証装置。
【請求項９】
前記演算装置は、
前記違反入力値または前記第二の違反入力値について、前記決定木グラフ上に前記違反パスを強調表示し、前記決定木グラフを構成するノードのうち、前記強調表示された前記違反パスが分岐していないノードを非分岐ノードとして取得する処理と、
前記非分岐ノードで使用されている説明変数を原因説明変数として出力する処理と、
を更に実行するものである、
ことを特徴とする請求項７または８に記載の機械学習プログラム検証装置。
【請求項１０】
前記演算装置は、
前記プログラムに対する入力値として、前記説明変数の値を入力装置にて受け付け、前記説明変数の値が前記違反範囲のいずれにも含まれない場合、前記入力値を前記プログラムに送信する入力フィルタプログラムのソースコードを生成する処理を更に実行するものである、
ことを特徴とする請求項１に記載の機械学習プログラム検証装置。
【請求項１１】
前記記憶装置は、
前記プログラムを機械学習によって作成する際に使用した、前記説明変数の値および前記目的変数の値の組で構成されるデータセットを保持し、
前記演算装置は、
前記結合論理式を作成するに際し、
前記データセットを参照して前記説明変数の最大値と最小値を取得し、前記説明変数の値は前記最大値以下で前記最小値以上であることを示す説明変数範囲制限論理式を作成し、前記決定木論理式、前記検証性質論理式、および前記目的変数計算論理式に加えて、前記説明変数範囲制限論理式を論理積結合することで、前記結合論理式を作成するものである、
ことを特徴とする請求項１に記載の機械学習プログラム検証装置。
【請求項１２】
前記記憶装置は、
前記プログラムを機械学習によって作成する際に使用した、前記説明変数の値および前記目的変数の値の組で構成されるデータセットを保持し、
前記演算装置は、
前記検索範囲の特定に際し、
前記データセットを参照して前記説明変数の最大値と最小値を取得し、前記最大値または最小値に所定ルールを適用して、前記上限値および下限値を作成する際、前記検索対象違反入力値に加算あるいは減算する単位値を算出するものである、
ことを特徴とする請求項３に記載の機械学習プログラム検証装置。
【請求項１３】
前記演算装置は、
前記検索対象違反入力値に加算あるいは減算する前記単位値を、所定期間に前記加算ないし前記減算を行った回数に基づいて所定ルールで変更する、
ことを特徴とする請求項１２に記載の機械学習プログラム検証装置
【請求項１４】
前記演算装置は、
前記第二の結合論理式あるいは第三の結合論理式についての、充足可能性判定結果が充足不能を示す場合、
前記検索対象説明変数の前記検索範囲、および前記非検索対象説明変数の前記制限範囲に含まれる範囲を記憶する処理と、
前記違反範囲を表す入力値の多次元空間を、前記検索対象説明変数の前記検索範囲の上限値を通り、前記検索対象説明変数の基底ベクトルが法線ベクトルとなる第一の超平面と、前記検索対象説明変数の前記検索範囲の下限値を通り、前記検索対象説明変数の基底ベクトルが法線ベクトルとなる第二の超平面と、前記非検索対象説明変数の前記制限範囲の上限値を通り、前記非検索対象説明変数の基底ベクトルが法線ベクトルとなる第三の超平面と、前記非検索対象説明変数の前記制限範囲の下限値を通り、前記非検索対象説明変数の基底ベクトルが法線ベクトルとなる第四の超平面とで分割する処理と、
前記分割で得られた分割後空間のうち、前記第一の超平面と、前記第三の超平面と、前記第四の超平面とに囲まれた空間を再確認空間と特定し、入力値が前記再確認空間に含まれることを意味する再確認空間論理式を作成する処理と、
前記再確認空間論理式を前記結合論理式に論理積結合することで、第五の結合論理式を作成する処理と、
前記第五の結合論理式を前記充足可能性判定器に入力することで、前記第五の結合論理式の充足可能性判定結果を取得する処理と、
前記充足可能性判定結果が充足性を示す場合、前記分割後空間から、前記第一の超平面、前記第二の超平面、前記第三の超平面、および前記第四の超平面で囲まれる空間を除いて得られる、複数の多次元空間を違反範囲と特定する処理と、
前記充足可能性判定結果が充足不能を示す場合、前記分割後空間から、前記第一の超平面、前記第二の超平面、前記第三の超平面、および前記第四の超平面で囲まれる空間と、前記再確認空間を除いた複数の多次元空間とを違反範囲と特定する処理と、
を更に実行するものである、
ことを特徴とする請求項３に記載の機械学習プログラム検証装置。
【請求項１５】
情報処理装置が、
複数の決定木から構成されるアンサンブルツリーによる予測アルゴリズムに従い、説明変数の値を入力として目的変数の値を出力する、機械学習によって作成されたプログラムを保持する記憶装置を備えて、
前記プログラムに関して、前記決定木における決定木パスを示すパス論理式を、論理積結合することで決定木論理式を作成する処理と、
前記決定木論理式に対し、前記プログラムに関して検証対象とする検証性質を示す検証性質論理式と、前記決定木ごとの決定木出力値と前記目的変数の値との関係を定義する目的変数計算論理式とを論理積結合して、結合論理式を作成する処理と、
前記結合論理式を、所定の充足可能性判定器に入力することで、前記結合論理式の充足
可能性判定結果を取得し、当該充足可能性判定結果に基づいて、前記プログラムが前記検証性質を充足するか判定する処理と、
前記判定の結果が充足性を示す場合、前記充足可能性判定器が示す充足解から、前記検証性質に違反する説明変数の値である違反入力値と、当該違反入力値の場合の目的変数の値である違反出力値を取得する処理と、
を実行することを特徴とする機械学習プログラム検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習プログラム検証装置および機械学習プログラム検証方法に関するものであり、具体的には、予測モデルの妥当性を網羅的に評価可能とする技術に関する。
【背景技術】
【０００２】
近年、ランダムフォレストや勾配ブーストなど、決定木を用いた機械学習手法が提案されている。これらの手法では、訓練によって、複数の決定木を表すプログラムを作成する。
【０００３】
こうして作成したプログラムは、予測（正確には分類や回帰）モデルと呼ばれる。この予測モデルは、入力値に対して各々の決定木で分析を行い、得られた分析結果を合成することで最終的な出力値（予測値）を作成する。
【０００４】
一方、上述のように複数の決定木からなる予測モデルを対象に、その妥当性を評価する従来技術が存在する。例えば、分類対象データの分類に用いられる木構造の分類モデルにおける個々の分岐の評価値を算出する分岐評価部と、前記木構造の分類モデルを用いて前記分類対象データを分類して分類結果を取得する分類部と、前記分類部による分類における前記木構造の分類モデル上の経路に含まれるノードからの分岐の前記評価値に基づいて、前記分類部による分類に関する評価値を算出する分類結果評価部と、を備える分類装置（特許文献１参照）などが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−４５５１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
予測モデルにおける決定木の数が少ない場合、予測モデルのロジックを可視化し、これをユーザが目視確認することで、その妥当性を容易に評価できる。また、従来技術においては、テスト実行した入力値に対して予測モデルの妥当性を評価できる（情報利得を指標とする評価）。
【０００７】
ところが、予測モデルにおいて実用的な汎化性能を得るためには、多数の決定木を作成する必要がある。その場合、上述のようにユーザが目視確認を行おうとしても、時間的またコスト的に実用的な範囲で妥当性評価を行うことは困難である。
【０００８】
他方、従来技術のごとき手法を採用するとしても、予測モデルの入力値空間が膨大であれば、限られた開発期間内に全ての入力値をテストできるとは限らない。その場合、テスト未実行の入力値に対する評価を行わずに、当該予測モデルをシステムに搭載し、出荷することになる。その結果、該当システムにおいて重大な不具合が発生する恐れが残る。
【０００９】
そこで本発明の目的は、予測モデルの妥当性を網羅的に評価可能とする技術を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決する本発明の機械学習プログラム検証装置は、複数の決定木から構成されるアンサンブルツリーによる予測アルゴリズムに従い、説明変数の値を入力として目的
変数の値を出力する、機械学習によって作成されたプログラムを保持する記憶装置と、前記プログラムに関して、前記決定木における決定木パスを示すパス論理式を、論理積結合することで決定木論理式を作成する処理と、前記決定木論理式に対し、前記プログラムに関して検証対象とする検証性質を示す検証性質論理式と、前記決定木ごとの決定木出力値と前記目的変数の値との関係を定義する目的変数計算論理式とを論理積結合して、結合論理式を作成する処理と、前記結合論理式を、所定の充足可能性判定器に入力することで、前記結合論理式の充足可能性判定結果を取得し、当該充足可能性判定結果に基づいて、前記プログラムが前記検証性質を充足するか判定する処理と、前記判定の結果が充足性を示す場合、前記充足可能性判定器が示す充足解から、前記検証性質に違反する説明変数の値である違反入力値と、当該違反入力値の場合の目的変数の値である違反出力値を取得する処理と、を実行する演算装置と、を備えることを特徴とする。
【００１１】
また、本発明の機械学習プログラム検証方法は、情報処理装置が、複数の決定木から構成されるアンサンブルツリーによる予測アルゴリズムに従い、説明変数の値を入力として目的変数の値を出力する、機械学習によって作成されたプログラムを保持する記憶装置を備えて、前記プログラムに関して、前記決定木における決定木パスを示すパス論理式を、論理積結合することで決定木論理式を作成する処理と、前記決定木論理式に対し、前記プログラムに関して検証対象とする検証性質を示す検証性質論理式と、前記決定木ごとの決定木出力値と前記目的変数の値との関係を定義する目的変数計算論理式とを論理積結合して、結合論理式を作成する処理と、前記結合論理式を、所定の充足可能性判定器に入力することで、前記結合論理式の充足可能性判定結果を取得し、当該充足可能性判定結果に基づいて、前記プログラムが前記検証性質を充足するか判定する処理と、前記判定の結果が充足性を示す場合、前記充足可能性判定器が示す充足解から、前記検証性質に違反する説明変数の値である違反入力値と、当該違反入力値の場合の目的変数の値である違反出力値を取得する処理と、を実行することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、予測モデルの妥当性を網羅的に評価可能となる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態の機械学習プログラム検証装置の構成図である。
【図２】本実施形態における機械学習プログラム検証装置のハードウェア構成例を示す図である。
【図３】本実施形態における機械学習モデルの構成例を示す図である。
【図４】本実施形態におけるデータセットの構成例を示す図である。
【図５】本実施形態の機械学習プログラム検証方法のフロー例１を示す図である。
【図６】本実施形態における決定木論理式の例を示す図である。
【図７】本実施形態における検証性質論理式の例を示す図である。
【図８】本実施形態における目的変数計算論理式の例を示す図である。
【図９】本実施形態における説明変数上下限論理式の例を示す図である。
【図１０】本実施形態における結合論理式の例を示す図である。
【図１１】本実施形態における検証結果例１を示す図である。
【図１２】本実施形態における検証結果例２を示す図である。
【図１３】本実施形態の機械学習プログラム検証方法のフロー例２を示す図である。
【図１４】本実施形態の機械学習プログラム検証方法のフロー例３を示す図である。
【図１５】本実施形態の機械学習プログラム検証方法のフロー例４を示す図である。
【図１６】本実施形態の機械学習プログラム検証方法のフロー例５を示す図である。
【図１７】本実施形態における違反入力値・出力値の例を示す図である。
【図１８Ａ】本実施形態における違反範囲検索の概念例１を示す図である。
【図１８Ｂ】本実施形態における違反範囲検索の概念例２を示す図である。
【図１８Ｃ】本実施形態における違反範囲検索の概念例３を示す図である。
【図１９】本実施形態の機械学習プログラム検証方法のフロー例６を示す図である。
【図２０】本実施形態における違反範囲の分割概念例を示す図である。
【図２１】本実施形態における違反範囲の例を示す図である。
【図２２】本実施形態の機械学習プログラム検証方法のフロー例７を示す図である。
【図２３】本実施形態の機械学習プログラム検証方法のフロー例８を示す図である。
【図２４】本実施形態における違反パスの表示例を示す図である。
【図２５】本実施形態の機械学習プログラム検証方法のフロー例９を示す図である。
【図２６】本実施形態における強調パスの分岐例を示す図である。
【図２７】本実施形態における入力フィルタのソースコードを示す図である。
【発明を実施するための形態】
【００１４】
−−−装置構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態の機械学習プログラム検証装置１００を含むネットワーク構成図である。図１に示す機械学習プログラム検証装置１００は、予測モデルの妥当性を網羅的に評価可能とするコンピュータ装置である。こうした機械学習プログラム検証装置１００によれば、多数の決定木が処理対象となっても、現実的な時間内で検証処理が完了する。一方、従来技術等において、違反点を逐一特定する際の単位時間が少なくとも数秒、長い場合には１時間を要する現状では、多数の決定木を処理対象とした場合、違反点が億単位で存在することも珍しくないことをふまえると、とても現実的な時間内で処理を完了することはできない。
【００１５】
ここで、機械学習プログラムとは、複数の決定木から構成されるアンサンブルツリーによる予測アルゴリズムに従い、説明変数の値を入力として目的変数の値を出力する、機械学習によって作成されたプログラムである。本実施形態では、この機械学習プログラムを機械学習モデル１２５１と称する。
【００１６】
機械学習プログラム検証装置１００は、例えば、当該機械学習モデル１２５１の開発や運用を担う事業者が運用する情報処理装置を想定する。また、機械学習モデル１２５１は、例えば、過去の販売実績等の業務データに基づいて、当該製品らの販売数量やこれに基づく価格設定等について予測を行うモデルなどを想定出来る（勿論、これに限定しない）。
【００１７】
こうした機械学習プログラム検証装置１００は、図１に示すように、決定木論理式作成部１１０、検証性質論理式作成部１１１、目的変数計算論理式作成部１１２、説明変数上下限論理式作成部１１３、検証部１１４、充足可能性判定部１１５、違反パス表示部１１６、原因抽出部１１７、違反範囲検索部１１８、違反範囲分割部１１９、および入力フィルタ生成部１２０、といった機能部を備えて構成される。
【００１８】
このうち、決定木論理式作成部１１０は、機械学習モデル１２５１（後述）に関して、前記決定木における決定木パスを示すパス論理式を、論理積結合することで決定木論理式を作成する。この場合、決定木論理式作成部１１０は、決定木から決定木パスを抽出し、抽出した決定木パスのパス条件から構成されるパス論理式を作成するものとする。
【００１９】
また、検証性質論理式作成部１１１は、上述の機械学習モデル１２５１における説明変数および目的変数の関係として定義される検証性質のユーザ入力を入力装置１０５（図２）で受け付け、ここで受け付けた検証性質に基づいて検証性質論理式を作成する。
【００２０】
また、目的変数計算論理式作成部１１２は、決定木のアルゴリズムに従って決定木ごとに作成される決定木出力値と目的変数の値との関係に基づいて目的変数計算論理式を作成
する。
【００２１】
また、説明変数上下限論理式作成部１１３は、例えば、データセット１２６１（図１）を参照し、商品価格などの説明変数における最大値、最小値を、説明変数の上限値、下限値として特定し、当該上限値、下限値を記述した論理式を処理アルゴリズムで生成する。
【００２２】
また、検証部１１４は、決定木論理式に対し、上述の検証性質論理式および目的変数計算論理式を論理積結合して、結合論理式を作成する。
【００２３】
なお、検証部１１４は、上述の結合論理式を作成するに際し、データセット１２６１を参照して説明変数の最大値と最小値を取得し、この説明変数の値は最大値以下で最小値以上であることを示す説明変数範囲制限論理式を作成し、決定木論理式、検証性質論理式、および目的変数計算論理式に加えて、説明変数範囲制限論理式を論理積結合することで、結合論理式を作成するとすれば好適である。こうした結合論理式の作成手法は、違反範囲検索部１１８において結合論理式を作成するとした場合でも同様に適用できるものとする。
【００２４】
また、充足可能性判定部１１５は、上述の結合論理式を、充足可能性判定器１１５１に入力することで、当該結合論理式の充足可能性判定結果を取得し、当該充足可能性判定結果に基づいて、機械学習モデル１２５１が検証性質を充足するか判定する。また、充足可能性判定部１１５は、この判定の結果が充足性を示す場合、充足可能性判定器１１５１が示す充足解から、検証性質に違反する説明変数の値である違反入力値と、当該違反入力値の場合の目的変数の値である違反出力値を取得し、これを違反入力値・出力値保持部１２７に格納する。
【００２５】
また、違反パス表示部１１６は、上述のパス論理式に現れる説明変数の値が、違反入力値または第二の違反入力値と一致することを意味する違反入力値指定論理式を作成し、違反入力値指定論理式をパス論理式に論理積結合することで、違反入力値指定済みパス論理式を作成する。
【００２６】
また、違反パス表示部１１６は、違反入力値指定済みパス論理式を、充足可能性判定器１１５１に入力することで、違反入力値指定済み論理式の充足可能性判定結果を取得し、充足可能性判定結果が充足性を示す場合、対応する決定木パスを違反パスとして取得する。
【００２７】
また、違反パス表示部１１６は、決定木を決定木グラフとして表示装置１０６（図２）の画面に表示し、当該決定木グラフ上において、違反パスを強調表示する。
【００２８】
また、違反パス表示部１１６は、パス論理式に現れる説明変数の値が、違反範囲に含まれることを示す違反範囲指定論理式を作成し、この違反範囲指定論理式をパス論理式に論理積結合することで、違反範囲指定パス論理式を作成する。
【００２９】
また、違反パス表示部１１６は、違反範囲指定パス論理式を充足可能性判定器１１５１に入力することで、違反範囲指定パス論理式の充足可能性判定結果を取得し、充足可能性判定結果が充足性を示す場合、対応する決定木パスを違反パスとして取得する。
【００３０】
また、違反パス表示部１１６は、決定木を決定木グラフとして表示装置１０６の画面に表示し、決定木グラフ上において違反パスを強調表示する。
【００３１】
また、原因抽出部１１７は、上述の違反入力値または第二の違反入力値について、決定
木グラフ上に違反パスを強調表示し、決定木グラフを構成するノードのうち、強調表示された違反パスが分岐していないノードを非分岐ノードとして取得する。
【００３２】
また、原因抽出部１１７は、上述の非分岐ノードで使用されている説明変数を原因説明変数として表示装置１０６にて出力する。
【００３３】
また、違反範囲検索部１１８は、充足可能性判定部１１５における充足可能性判定結果が充足性を示す場合、説明変数を、所定ルールないしユーザ指定に基づき検索対象説明変数と非検索対象説明変数に分類する。
【００３４】
また、違反範囲検索部１１８は、上述の違反入力値を構成する検索対象説明変数の値である検索対象違反入力値と、違反入力値を構成する非検索対象説明変数の値である非検索対象違反入力値とについて、検索対象違反入力値を含むべく検索対象説明変数の上限値および下限値を作成し、上限値以下かつ下限値以上の範囲を検索対象説明変数の検索範囲と特定する。
【００３５】
なお、違反範囲検索部１１８は、上述の検索範囲の特定に際し、データセット１２６１を参照して説明変数の最大値と最小値を取得し、この最大値または最小値に所定ルールを適用して、上述の上限値および下限値を作成する際に、検索対象違反入力値に加算あるいは減算する単位値を算出するとすれば好適である。例えば、最大値が１０００である場合、これを１００で除算して、単位値を１０とする。また、最大値が１０である場合、これを１で除算して、単位値を１とする。つまり、最大値や最小値の桁数の大きさに応じて、除算する値も比例させて大きくし、検索範囲を拡大する（すなわち検索対象違反入力値に加算あるいは減算する）際の刻みを、該当説明変数の値の範囲に応じた適度なものとできる。
【００３６】
また、この場合の違反範囲検索部１１８は、上述の検索対象違反入力値に加算あるいは減算する単位値を、所定期間に加算ないし減算を行った回数に基づいて所定ルールで変更するとしてもよい。例えば、直近の１０分間で加算を５回行っている場合、加算の度合いが足りないと判定して、単位値を所定割合だけ大きくする、といった運用を想定できる。
【００３７】
また、違反範囲検索部１１８は、検索対象説明変数の値が検索範囲の内にあることを意味する検索範囲論理式を作成する。
【００３８】
また、違反範囲検索部１１８は、非検索対象説明変数の非検索対象違反入力値を、非検索対象説明変数の制限範囲とし、非検索対象説明変数の値が制限範囲内にあることを意味する制限範囲論理式を作成する。
【００３９】
また、違反範囲検索部１１８は、検索範囲論理式および制限範囲論理式を、結合論理式に論理積結合することで、第二の結合論理式を作成し、この第二の結合論理式を充足可能性判定器１１５１に入力することで、第二の結合論理式の充足可能性判定結果を取得する。
【００４０】
また、違反範囲検索部１１８は、この充足可能性判定結果が充足性を示す場合、上限値以下かつ下限値以上の範囲を、検索対象説明変数の違反範囲と特定する。
【００４１】
また、違反範囲検索部１１８は、上述の第二の結合論理式の充足可能性判定結果が充足性を示す場合、説明変数を、所定ルールないしユーザ指定に基づき、第二の検索対象説明変数と第二の非検索対象説明変数に分類する。
【００４２】
また、違反範囲検索部１１８は、第二の検索対象説明変数に対して違反範囲を作成済みの場合、違反範囲を含むように第二の検索対象説明変数の上限値と下限値を作成する。
【００４３】
また、違反範囲検索部１１８は、上限値以下かつ下限値以上で、違反範囲を含まない範囲を、第二の検索対象説明変数の検索範囲とし、第二の検索対象説明変数の値が検索範囲内にあることを意味する検索範囲論理式を作成する。
【００４４】
また、違反範囲検索部１１８は、第二の非検索対象説明変数に対して違反範囲を作成済みの場合、違反範囲を第二の非検索対象説明変数の制限範囲とし、第二の非検索対象説明変数の値が制限範囲内にあることを意味する制限範囲論理式を作成する。
【００４５】
また、違反範囲検索部１１８は、検索範囲論理式および記制限範囲論理式を、結合論理式に論理積結合することで、第三の結合論理式を作成し、この第三の結合論理式を充足可能性判定器１１５１に入力することで、第三の結合論理式の充足可能性判定結果を取得する。
【００４６】
また、違反範囲検索部１１８は、上述の充足可能性判定結果が充足性を示す場合、上限値以下かつ下限値以上の範囲を、第二の検索対象説明変数の違反範囲と特定する。
【００４７】
また、違反範囲検索部１１８は、上述の第二の結合論理式または第三の結合論理式の充足可能性判定結果が、充足不能を示す場合、説明変数を取得して、この説明変数に違反範囲が設定されている場合、説明変数の値は違反範囲外にあることを意味する前提範囲指定論理式を作成する。
【００４８】
また、違反範囲検索部１１８は、説明変数に違反範囲が設定されていない場合、説明変数の値が違反入力値と等しいことを意味する前提範囲指定論理式を作成し、この提範囲指定論理式を結合論理式に結合することで、第四の結合論理式を作成する。
【００４９】
また、違反範囲検索部１１８は、上述の第四の結合論理式を充足可能性判定器１１５１に入力することで、当該第四の結合論理式の充足可能性判定結果を取得する。
【００５０】
また、違反範囲検索部１１８は、上述の充足可能性判定結果が充足性を示す場合、充足可能性判定器１１５１からその充足解を取得し、この充足解から、検証性質に違反する説明変数の値である違反入力値と当該違反入力値の場合の目的変数の値である違反出力値とを取得する。
【００５１】
また、違反範囲検索部１１８は、上述の第二の結合論理式または第三の結合論理式の充足可能性判定結果が充足性を示す場合、当該充足解を取得して、この充足解から、検証性質に違反する説明変数の値である違反入力値と当該違反入力値の場合の目的変数の値である違反出力値とを取得する。
【００５２】
また、違反範囲分割部１１９は、上述の第二の結合論理式あるいは第三の結合論理式についての、充足可能性判定結果が充足不能を示す場合、検索対象説明変数の検索範囲、および非検索対象説明変数の制限範囲に含まれる範囲を記憶し、また、違反範囲を表す入力値の多次元空間を、検索対象説明変数の検索範囲の上限値を通り、検索対象説明変数の基底ベクトルが法線ベクトルとなる第一の超平面と、検索対象説明変数の検索範囲の下限値を通り、検索対象説明変数の基底ベクトルが法線ベクトルとなる第二の超平面と、非検索対象説明変数の制限範囲の上限値を通り、非検索対象説明変数の基底ベクトルが法線ベクトルとなる第三の超平面と、非検索対象説明変数の制限範囲の下限値を通り、非検索対象説明変数の基底ベクトルが法線ベクトルとなる第四の超平面とで分割する。
【００５３】
また、違反範囲分割部１１９は、上述の分割で得られた分割後空間のうち、第一の超平面と、第三の超平面と、第四の超平面とに囲まれた空間を再確認空間と特定し、入力値が再確認空間に含まれることを意味する再確認空間論理式を作成し、再確認空間論理式を結合論理式に論理積結合することで、第五の結合論理式を作成する。
【００５４】
また、違反範囲分割部１１９は、第五の結合論理式を充足可能性判定器１１５１に入力することで、第五の結合論理式の充足可能性判定結果を取得し、これが充足性を示す場合、分割後空間から、第一の超平面、第二の超平面、第三の超平面、および第四の超平面で囲まれる空間を除いて得られる、複数の多次元空間を違反範囲と特定する。
【００５５】
一方、違反範囲分割部１１９は、上述の判定結果が充足不能を示す場合、分割後空間から、第一の超平面、第二の超平面、第三の超平面、および第四の超平面で囲まれる空間と、再確認空間を除いた複数の多次元空間とを違反範囲と特定する。
【００５６】
また、入力フィルタ生成部１２０は、機械学習モデル１２５１に対する入力値として、説明変数の値を入力装置１０５にて受け付け、説明変数の値が違反範囲のいずれにも含まれない場合、当該入力値を機械学習モデル１２５１に送信する入力フィルタプログラムのソースコード１２０１（図２７参照）を生成する。
【００５７】
また、機械学習プログラム検証装置１００は、上述の各機能部が利用する情報の格納部として、或いは処理結果を格納する格納部として、機械学習モデル保持部１２５、データセット保持部１２６、違反入力値・出力値保持部１２７、および違反範囲保持部１２８を備える。
【００５８】
このうち機械学習モデル保持部１２５は、機械学習モデル１２５１を保持する記憶部である。この機械学習モデル１２５１の具体例については後述する。
【００５９】
また、データセット保持部１２６は、データセット１２６１を保持する記憶部である。このデータセット１２６１の具体例については後述する。
【００６０】
また、違反入力値・出力値保持部１２７は、違反入力値・出力値１２７１を保持する記憶部である。この違反入力値・出力値１２７１の具体例については後述する。
【００６１】
また、違反範囲保持部１２８は、違反範囲１２８１を保持する記憶部である。この違反範囲１２８１の具体例については後述する。
【００６２】
−−−ハードウェア構成−−−
また、機械学習プログラム検証装置１００のハードウェア構成は、図２に示す如くとなる。すなわち機械学習プログラム検証装置１００は、外部記憶装置１０１、メモリ１０３、ＣＰＵ１０４、入力装置１０５、表示装置１０６、および外部媒体入出力装置１０７、を備える。
【００６３】
このうち、外部記憶装置１０１は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）やハードディスクドライブなど適宜な不揮発性記憶素子で構成される。
【００６４】
また、メモリ１０３は、ＲＡＭなど揮発性記憶素子で構成される。
【００６５】
また、ＣＰＵ１０４は、外部記憶装置１０１に保持されるプログラム１０２をメモリ１０３に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び
制御処理を行なう演算装置である。
【００６６】
また、入力装置１０５は、ユーザからのキー入力や音声入力を受け付けるディスプレイやマウス、マイク等である。
【００６７】
また、表示装置１０６は、処理データの表示を行うディスプレイ等である。
【００６８】
また、外部媒体入出力装置１０７は、種々の記憶媒体のインターフェイスを備え、当該記憶媒体から当該インターフェイスを回してデータの入出力を行う装置である。例えば、機械学習モデル１２５１やデータセット１２６１を記憶した記憶媒体が、この外部媒体入出力装置１０７にセットされ、機械学習モデル１２５１が機械学習モデル保持部１２５に格納され、データセット１２６１がデータセット保持部１２６に格納される、といった運用形態を想定できる。
【００６９】
なお、外部記憶装置１０１内には、本実施形態の機械学習プログラム検証装置１００として必要な機能を実装する為のプログラム１０２に加えて、既に述べた、機械学習モデル保持部１２５、データセット保持部１２６、違反入力値・出力値保持部１２７、および違反範囲保持部１２８が少なくとも格納されている。
【００７０】
また、ＣＰＵ１０４がプログラム１０２を実行することで実装される機能としては、既に述べた、決定木論理式作成部１１０、検証性質論理式作成部１１１、目的変数計算論理式作成部１１２、説明変数上下限論理式作成部１１３、検証部１１４、充足可能性判定部１１５、違反パス表示部１１６、原因抽出部１１７、違反範囲検索部１１８、違反範囲分割部１１９、および入力フィルタ生成部１２０、が存在する。
【００７１】
−−−機械学習モデルの例−−−
図３に、本実施形態における機械学習モデル１２５１の構成例を示す。本実施形態における機械学習モデル１２５１は、複数の決定木から構成されるアンサンブルツリーによる予測アルゴリズムに従い、説明変数の値を入力として目的変数の値を出力する、機械学習によって作成されたプログラムである。
【００７２】
その構成は、図３で例示するように、複数の決定木１２５１０を含み、それぞれの決定木１２５１０は、ノード１２５１１、パス１２５１２、およびリーフ１２５１３から構成されている。
【００７３】
このうちノード１２５１１は、説明変数（例：Ｘ０、Ｘ１、・・・）の条件式に対応している。また、パス１２５１２は、ノード１２５１１における条件分岐を示す。また、リーフ１２５１３は、ルーツとするノード１２５１１における条件分岐により特定される目的変数の値、を示している。
【００７４】
−−−データセットの例−−−
図４に、本実施形態におけるデータセット１２６１の構成例を示す。本実施形態のデータセット１２６１は、機械学習モデル１２５１の学習において、入力となる実績データであって、ここではある企業が製造、販売する各商品の価格、在庫、および販売数（月間）の実績データ、を想定し例示した。このデータセット１２６１は、上述の目的変数の値の上限値および下限値の元データとなりうる。
【００７５】
−−−フロー例１−−−
以下、本実施形態における機械学習プログラム検証方法の実際手順について図に基づき説明する。以下で説明する機械学習プログラム検証方法に対応する各種動作は、機械学習
プログラム検証装置１００がメモリ等に読み出して実行するプログラム１０２によって実現される。そして、このプログラム１０２は、以下に説明される各種の動作を行うためのコードから構成されている。
【００７６】
図５は、本実施形態における機械学習プログラム検証方法のフロー例１を示す図である。
【００７７】
この場合、決定木論理式作成部１１０は、機械学習モデル１２５１に関して、決定木における決定木パスを示すパス論理式を、論理積結合することで決定木論理式（図６の決定木論理式１１０１参照）を作成する（ｓ１）。この場合、決定木論理式作成部１１０は、決定木から決定木パスを抽出し、抽出した決定木パスのパス条件から構成されるパス論理式を作成することとなる。いずれにせよ、決定木から決定木パスを抽出し、その論理式を生成する既存技術を適宜に適用すればよい。
【００７８】
続いて、検証性質論理式作成部１１１は、上述の機械学習モデル１２５１における説明変数および目的変数の関係として定義される検証性質のユーザ入力を入力装置１０５で受け付け、ここで受け付けた検証性質に基づいて検証性質論理式（図７の検証性質論理式１１１１参照）を作成する（ｓ２）。
【００７９】
次に、目的変数計算論理式作成部１１２は、決定木ごとの決定木出力値（決定木１２５１０におけるリーフ１２５１３）と目的変数の値（各リーフ１２５１３の値を合算した値で機械学習モデル１２５１の出力値ｙ）との関係を定義する目的変数計算論理式（図８の目的変数計算論理式１１２１）を作成する（ｓ３）。この作成は、それぞれの決定木１２５１０のリーフ１２５１３を足し合わせる数式を自動生成するケースの他、ユーザ指定を受け付けて行うとしてもよい。
【００８０】
続いて、説明変数上下限論理式作成部１１３は、データセット１２６１を参照して説明変数の最大値と最小値を取得し、説明変数の値は最大値以下で最小値以上であることを示す説明変数範囲制限論理式（図９の説明変数上下限論理式１１４１参照）を作成する（ｓ４）。こうした論理式の自動生成は、既存技術を適宜に適用すればよい（以下同様）。
【００８１】
続いて、検証部１１４は、上述の決定木論理式１１０１に対し、機械学習モデル１２５１に関して検証対象とする検証性質を示す上述の検証性質論理式１１１１と、決定木ごとの決定木出力値と目的変数の値との関係を定義する目的変数計算論理式１１２１と、説明変数上下限論理式１１３１とを論理積結合し、結合論理式（図１０の結合論理式１１４１参照）を作成する（ｓ５）。
【００８２】
また、充足可能性判定部１１５は、ｓ５で得た結合論理式を、充足可能性判定器１１５１に入力することで、当該結合論理式の充足可能性判定結果を取得する（ｓ６）。
【００８３】
上述の充足可能性判定の結果が、充足可能性を示さない場合（ｓ７：ＮＯ）、機械学習モデル１２５１に問題は無いと判定し、その結果（図１２の検証結果例１１５２参照）を表示装置１０６に出力し（ｓ９）、処理を終了する。
【００８４】
他方、上述の充足可能性判定の結果が、充足性を示す場合（ｓ７：ＹＥＳ）、機械学習モデル１２５１に問題ありと判定し、充足可能性判定器１１５１が示す充足解から、検証性質に違反する説明変数の値である違反入力値と、当該違反入力値の場合の目的変数の値である違反出力値を取得する（ｓ８）。
【００８５】
また、充足可能性判定部１１５は、これら違反入力値、違反出力値を含む検証結果（図
１１の検証結果例１１５２参照）を、表示装置１０６に出力し（ｓ９）、処理を終了する。
【００８６】
−−−フロー例２−−−
図１３は、本実施形態の機械学習プログラム検証方法のフロー例２を示す図であり、具体的には、決定木論理式作成部１１０におけるフローを示す図である。
【００８７】
この場合、決定木論理式作成部１１０は、機械学習モデル１２５１を、機械学習モデル保持部１２５から取得する（ｓ１０）。
【００８８】
また、決定木論理式作成部１１０は、上述の機械学習モデル１２５１を構成する決定木１２５１０を取得する（ｓ１１）。
【００８９】
続いて、決定木論理式作成部１１０は、ｓ１１で得た決定木１２５１０において、深さ優先探索を実行して、パスを抽出する（ｓ１２）。
【００９０】
また、決定木論理式作成部１１０は、ｓ１２で抽出したパスの節ノードに記載されている条件が成立する場合に、リーフ１２５１３（リーフノード）の条件が成立することを表すパス論理式を作成する（ｓ１３）。
【００９１】
続いて、決定木論理式作成部１１０は、ここまでの処理で、ｓ１０で得ている機械学習モデル１２５１における全ての決定木１２５１０について処理を行ったか判定する（ｓ１４）。
【００９２】
上述の判定の結果、未処理の決定木１２５１０が残されている場合（ｓ１４：ＮＯ）、決定木論理式作成部１１０は、処理をｓ１１に戻す。
【００９３】
他方、上述の判定の結果、全ての決定木１２５１０について処理を行っていれば（ｓ１４：ＹＥＳ）、決定木論理式作成部１１０は、決定木ごとに作成したパス論理式を論理積結合することで決定木論理式し（ｓ１５）、処理を終了する。
【００９４】
−−−フロー例３−−−
図１４は、本実施形態の機械学習プログラム検証方法のフロー例３を示す図であり、具体的には、説明変数上下限論理式作成部１１３におけるフロー例を示す図である。
【００９５】
この場合、説明変数上下限論理式作成部１１３は、データセットを取得する（ｓ２０）。
【００９６】
また、説明変数上下限論理式作成部１１３は、説明変数を１つ選択（例：係数や添字の値の小さい順／大きい順などの予め定めた所定ルールに沿って選択）する（ｓ２１）。
【００９７】
また、説明変数上下限論理式作成部１１３は、データセットを検索し、当該説明変数の最大値と最小値を取得する（ｓ２２）。
【００９８】
続いて、説明変数上下限論理式作成部１１３は、当該説明変数は、ｓ２２で得た最大値以下かつ最小値以上であることを意味する論理式を作成する（ｓ２３）。
【００９９】
続いて、説明変数上下限論理式作成部１１３は、これまでの処理を、全ての説明変数について行ったか判定する（ｓ２４）。
【０１００】
上述の判定の結果、未処理の説明変数が残されている場合（ｓ２４：ＮＯ）、説明変数上下限論理式作成部１１３は、処理をｓ２１に戻す。
【０１０１】
他方、上述の判定の結果、全ての説明変数について処理を行っている場合（ｓ２４：ＹＥＳ）、説明変数上下限論理式作成部１１３は、説明変数ごとに作成した上限論理式および下限論理式を論理積結合し（ｓ２５）、処理を終了する。
【０１０２】
−−−フロー例４、５−−−
図１５および図１６は、本実施形態の機械学習プログラム検証方法のフロー例４、５を示す図であり、具体的には、違反範囲検索部１１８におけるフロー例を示す図である。また、図１７は、本実施形態における違反入力値・出力値の例を示す図であり、図１８Ａ〜図１８Ｃは、本実施形態における違反範囲検索の概念例１〜３を示す図である。
【０１０３】
この場合、違反範囲検索部１１８は、違反入力値を取得する（ｓ３０）。この違反入力値は、図５のフローの結果、既に得ている検証結果例１１５２が該当する。
【０１０４】
続いて、違反範囲検索部１１８は、予め定めたルール（例：説明変数の添字が小さい順。ｆ１を検索対象説明変数、ｆ２を非検索対象説明変数と選択）により、検索対象説明変数と非検索対象説明変数を選定する（ｓ３１）。
【０１０５】
また、違反範囲検索部１１８は、検索対象説明変数に対して違反範囲が設定されているか判定する（ｓ３２）。これは、上述の違反入力値に単位値を加算／減算して範囲を設定済みであるか否か、を判定する処理となる。
【０１０６】
上述の判定の結果、違反範囲が設定されてない場合（ｓ３２：ＮＯ）、違反範囲検索部１１８は、違反入力値に基づいて上下限値を作成する（ｓ３３）。
【０１０７】
この作成に際し、違反範囲検索部１１８は、データセット１２６１を参照して説明変数の最大値と最小値を取得し、この最大値または最小値に所定ルールを適用して上述の単位値を算出しているものとする。例えば、最大値が１０００である場合、これを１００で除算して、単位値を１０とする。また、最大値が１０である場合、これを１で除算して、単位値を１とする。つまり、最大値や最小値の桁数の大きさに応じて、除算する値も比例させて大きくし、検索範囲を拡大する（すなわち検索対象違反入力値に加算あるいは減算する）際の刻みを、該当説明変数の値の範囲に応じた適度なものとできる。
【０１０８】
また、違反範囲検索部１１８は、ｓ３３で作成した上下限値に基づいて、検索対象説明変数の検索範囲論理式を作成する（ｓ３４）。
【０１０９】
また、この場合の違反範囲検索部１１８は、上述の検索対象違反入力値に加算あるいは減算する単位値を、所定期間に加算ないし減算を行った回数に基づいて所定ルールで変更するとしてもよい。例えば、直近の１０分間で加算を５回行っている場合、加算の度合いが足りないと判定して、単位値を所定割合だけ大きくする、といった運用を想定できる。
【０１１０】
他方、上述の判定の結果、違反範囲が設定済みである場合（ｓ３２：ＹＥＳ）、違反範囲検索部１１８は、設定済みの違反範囲に基づいて新たな上下限値を作成する（ｓ３５）。この値の作成手法自体は、ｓ３３と同様である。
【０１１１】
また、違反範囲検索部１１８は、設定済みの違反範囲と新たに作成した上下限値に基づいて、検索対象説明変数の検索範囲論理式を作成する（ｓ３６）。
【０１１２】
続いて、違反範囲検索部１１８は、非検索対象説明変数に対して違反範囲が設定されているか判定する（ｓ３７）。
【０１１３】
上述の判定の結果、違反範囲の設定がない場合（ｓ３７：ＮＯ）、違反範囲検索部１１８は、違反入力値に基づいて制限範囲論理式を作成する（ｓ３８）。
【０１１４】
他方、上述の判定の結果、違反範囲が設定されている場合（ｓ３７：ＹＥＳ）、違反範囲検索部１１８は、設定済みの違反範囲に基づいて制限範囲論理式を作成する（ｓ３９）。
【０１１５】
続いて、違反範囲検索部１１８は、検索範囲論理式および制限範囲論理式を結合論理式に論理積結合する（ｓ４０）。
【０１１６】
また、違反範囲検索部１１８は、ｓ４０で作成した論理式を充足可能性判定器１１５１に入力する（ｓ４１）。
【０１１７】
続いて、違反範囲検索部１１８は、上述のｓ４１の結果が充足性を示すか判定する（ｓ４２）。
【０１１８】
上述の判定の結果、充足性を示さないである場合（ｓ４２：ＮＯ）、違反範囲検索部１１８は、処理をｓ４５に遷移させる。
【０１１９】
他方、上述の判定の結果、充足性を示す場合（ｓ４２：ＹＥＳ）、違反範囲検索部１１８は、充足解から第二の違反入力値、および第二の違反出力値を取得して保持する（ｓ４３）。
【０１２０】
続いて、違反範囲検索部１１８は、検索対象説明変数の違反入力値と上下限値に基づいて、新たな違反範囲を作成する（ｓ４４）。
【０１２１】
続いて、違反範囲検索部１１８は、検索範囲と制限範囲を、充足不能範囲として記憶する（ｓ４５）。
【０１２２】
続いて、違反範囲検索部１１８は、全ての説明変数を検索対象説明変数として選択したか判定する（ｓ４６）。
【０１２３】
上述の判定の結果、未選択の説明変数が残されている場合（ｓ４６：ＮＯ）、違反範囲検索部１１８は、処理をｓ３１に戻す。
【０１２４】
他方、上述の判定の結果、全ての説明変数を検索対象説明変数として選択していた場合（ｓ４６：ＹＥＳ）、違反範囲検索部１１８は、説明変数を取得する（ｓ４７）。
【０１２５】
また、違反範囲検索部１１８は、取得した説明変数に対して違反範囲が設定されているか判定する（ｓ４８）。
【０１２６】
上述の判定の結果、違反範囲が設定されていない場合（ｓ４８：ＮＯ）、違反範囲検索部１１８は、説明変数の値は違反入力値とは異なることを意味する前提範囲指定論理式を作成する（ｓ４９）。
【０１２７】
他方、上述の判定の結果、違反範囲が設定されている場合（ｓ４８：ＹＥＳ）、違反範囲検索部１１８は、説明変数の値は違反範囲外であることを意味する前提範囲指定論理式
を作成する（ｓ５０）。
【０１２８】
また、違反範囲検索部１１８は、全ての説明変数を取得したか判定する（ｓ５１）。
【０１２９】
上述の判定の結果、未取得の説明変数が残されている場合（ｓ５１：ＮＯ）、違反範囲検索部１１８は、処理をｓ４７に戻す。
【０１３０】
他方、上述の判定の結果、全ての説明変数を取得している場合（ｓ５１：ＹＥＳ）、違反範囲検索部１１８は、作成した前提範囲指定論理式を結合論理式に論理積結合し（ｓ５２）、処理を終了する。この場合、検証部が再実行されることとなる。
【０１３１】
−−−フロー例６−−−
図１９は、本実施形態の機械学習プログラム検証方法のフロー例６を示す図であり、具体的には、違反範囲分割部１１９におけるフロー例を示す図である。また、図２０は本実施形態における違反範囲の分割概念例を示す図である。
【０１３２】
この場合、違反範囲分割部１１９は、違反範囲を取得する（ｓ６０）。
【０１３３】
また、違反範囲分割部１１９は、充足不能範囲（上述のフロー例５のｓ４５で得ているもの）を取得する（ｓ６１）。
【０１３４】
続いて、違反範囲分割部１１９は、充足不能範囲を構成する検索対象説明変数の検索範囲および非検索対象説明変数の制限範囲に基づいて、超平面を作成する（ｓ６２）。
【０１３５】
また、違反範囲分割部１１９は、作成した超平面で、違反範囲分割することで分割後空間を取得する（ｓ６３）。
【０１３６】
また、違反範囲分割部１１９は、分割後空間から再確認空間を取得する（ｓ６４）。
【０１３７】
続いて、違反範囲分割部１１９は、入力値が再確認空間に含まれることを意味する再確認空間論理式を作成する（ｓ６５）。
【０１３８】
続いて、違反範囲分割部１１９は、再確認空間論理式を結合論理式に論理積結合する（ｓ６６）。
【０１３９】
また、違反範囲分割部１１９は、作成した論理式を充足可能性判定器に入力する（ｓ６７）。
【０１４０】
続いて、違反範囲分割部１１９は、充足可能性について判定する（ｓ６８）。
【０１４１】
上述の判定の結果、充足可能性が無い場合（ｓ６８：ＮＯ）、違反範囲分割部１１９は、処理をｓ７０に遷移させる。
【０１４２】
他方、上述の判定の結果、充足性を示す場合（ｓ６８：ＹＥＳ）、違反範囲分割部１１９は、再確認空間を含めて違反範囲（図２１の違反範囲１２８１参照）を作成し（ｓ６９）、処理を終了する。
【０１４３】
また、違反範囲分割部１１９は、再確認空間を除いて違反範囲（図２１の違反範囲１２８１参照）を作成し（ｓ７０）、処理を終了する。
【０１４４】
−−−フロー例７、８−−−
図２２、２３は、本実施形態の機械学習プログラム検証方法のフロー例７、８を示す図であり、具体的には、違反パス表示部１１６におけるフロー例を示す図である。また、図２４は、本実施形態における違反パスの表示例を示す図である。なお、図２３のフローは、図２２のフローとの相違点として、対象が「違反入力値」のケースと「違反範囲」のケースとなっている点以外は同様であるため、ここで図２２のフローに基づき説明する。
【０１４５】
この場合、違反パス表示部１１６は、違反入力値を取得する（ｓ８０）。
【０１４６】
続いて、違反パス表示部１１６は、各説明変数の値が、ｓ８０で得た違反入力値と一致することを意味する違反入力値指定論理式を作成する（ｓ８１）。
【０１４７】
また、違反パス表示部１１６は、決定木のパス論理式を取得する（ｓ８２）。
【０１４８】
続いて、違反パス表示部１１６は、ｓ８１で得た違反入力値指定論理式と、ｓ８２で得たパス論理式とを論理積結合する（ｓ８３）。
【０１４９】
また、違反パス表示部１１６は、ｓ８３で作成した論理式を充足可能性判定器１１５１に入力する（ｓ８４）。
【０１５０】
また、違反パス表示部１１６は、ｓ８４による結果として、該当論理式における充足可能性について判定する（ｓ８５）。
【０１５１】
上述の判定の結果、充足可能ではない場合（ｓ８５：ＮＯ）、違反パス表示部１１６は、処理をｓ８７に遷移させる。
【０１５２】
他方、上述の判定の結果、充足可能である場合（ｓ８５：ＹＥＳ）違反パス表示部１１６は、決定木グラフ１２５１において、パス論理式に対応するパス１２５１２Ａ（図２４参照）について、その線分を太くするといった強調表示をする（ｓ８６）。
【０１５３】
また、違反パス表示部１１６は、全てのパスを取得済みか判定する（ｓ８７）。
【０１５４】
上述の判定の結果、未取得のパスが残されている場合（ｓ８７：ＮＯ）、違反パス表示部１１６は、処理をｓ８５に遷移させる。
【０１５５】
他方、全てのパスを取得済みである場合（ｓ８７：ＹＥＳ）、違反パス表示部１１６は、処理を終了する。
【０１５６】
−−−フロー例９−−−
図２５は、本実施形態の機械学習プログラム検証方法のフロー例９を示す図であり、具体的には、原因抽出部１１７におけるフロー例を示す図である。
【０１５７】
この場合、原因抽出部１１７は、パスを強調表示した決定木グラフ（図２４の決定木）を取得する（ｓ１００）。
【０１５８】
続いて、原因抽出部１１７は、強調表示されたパスを構成する節ノードを参照する（ｓ１０１）。節ノードは、複数のパスの派生元となっているノードである。図２６の例の場合、ノード１２５１１Ｘ、１２５１１Ｙが節ノードとなる。ここでの処理対象を、例えば、ノード１２５１１Ｙとする。
【０１５９】
また、原因抽出部１１７は、強調パス１２５１２Ａが、上述のｓ１０１で特定した節ノード１２５１１Ｙにおいて分岐しているか判定する（ｓ１０２）。
【０１６０】
上述の判定の結果、強調パス１２５１２Ａは、節ノード１２５１１Ｙで分岐しており（ｓ１０２：ＹＥＳ）、原因抽出部１１７は、処理をｓ１０４に遷移させる。
【０１６１】
他方、上述の判定の結果、強調パス１２５１２Ａは、節ノード１２５１１Ｘでは分岐しておらず（ｓ１０２：ＮＯ）、原因抽出部１１７は、節ノード１２５１１Ｘで使用されている説明変数を原因説明変数として抽出する（ｓ１０３）。
【０１６２】
続いて、原因抽出部１１７は、全ての節ノードを参照済みか判定する（ｓ１０４）。
【０１６３】
上述の判定の結果、未参照の節ノードが残されている場合（ｓ１０４：ＮＯ）、原因抽出部１１７は、処理をｓ１０１に戻す。
【０１６４】
他方、上述の判定の結果、全ての節ノードを参照済みである場合（ｓ１０４：ＹＥＳ）、原因抽出部１１７は、処理を終了する。
【０１６５】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【０１６６】
こうした本実施形態によれば、予測モデルの妥当性を網羅的に評価可能となる。
【０１６７】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の機械学習プログラム検証装置において、前記演算装置は、前記決定木論理式の作成に際し、前記決定木から決定木パスを抽出し、抽出した前記決定木パスのパス条件から構成されるパス論理式を作成し、前記検証性質論理式の作成に際し、前記説明変数および目的変数の関係として定義される検証性質のユーザ入力を入力装置で受け付け、前記受け付けた前記検証性質に基づいて前記検証性質論理式を作成するものである、としてもよい。
【０１６８】
これによれば、決定木論理式作成および検証性質論理式作成を精度良く行うこととなり、ひいては、予測モデルの妥当性をより網羅的に評価可能となる。
【０１６９】
また、本実施形態の機械学習プログラム検証装置において、前記演算装置は、前記充足可能性判定結果が充足性を示す場合、前記説明変数を、所定ルールないしユーザ指定に基づき検索対象説明変数と非検索対象説明変数に分類する処理と、前記違反入力値を構成する前記検索対象説明変数の値である検索対象違反入力値と、前記違反入力値を構成する前記非検索対象説明変数の値である非検索対象違反入力値とについて、前記検索対象違反入力値を含むべく前記検索対象説明変数の上限値および下限値を作成し、前記上限値以下かつ前記下限値以上の範囲を前記検索対象説明変数の検索範囲と特定する処理と、前記検索対象説明変数の値が前記検索範囲の内にあることを意味する検索範囲論理式を作成する処理と、前記非検索対象説明変数の前記非検索対象違反入力値を、前記非検索対象説明変数の制限範囲とし、前記非検索対象説明変数の値が前記制限範囲内にあることを意味する制限範囲論理式を作成する処理と、前記検索範囲論理式および前記制限範囲論理式を、前記結合論理式に論理積結合することで、第二の結合論理式を作成する処理と、前記第二の結合論理式を前記充足可能性判定器に入力することで、前記第二の結合論理式の充足可能性判定結果を取得し、当該充足可能性判定結果が充足性を示す場合、前記上限値以下かつ前記下限値以上の範囲を、前記検索対象説明変数の違反範囲と特定する処理と、を更に実行するものである、としてもよい。
【０１７０】
これによれば、違反範囲の検索を効率的で精度良好なものとし、ひいては、予測モデルの妥当性をより網羅的に評価可能となる。
【０１７１】
また、本実施形態の機械学習プログラム検証装置において、前記演算装置は、前記第二の結合論理式の充足可能性判定結果が充足性を示す場合、前記説明変数を、所定ルールないしユーザ指定に基づき、第二の検索対象説明変数と第二の非検索対象説明変数に分類する処理と、前記第二の検索対象説明変数に対して違反範囲を作成済みの場合、前記違反範囲を含むように前記第二の検索対象説明変数の上限値と下限値を作成する処理と、前記上限値以下かつ前記下限値以上で、前記違反範囲を含まない範囲を、前記第二の検索対象説明変数の検索範囲とし、前記第二の検索対象説明変数の値が前記検索範囲内にあることを意味する検索範囲論理式を作成する処理と、前記第二の非検索対象説明変数に対して違反範囲を作成済みの場合、前記違反範囲を前記第二の非検索対象説明変数の制限範囲とし、前記第二の非検索対象説明変数の値が前記制限範囲内にあることを意味する制限範囲論理式を作成する処理と、前記検索範囲論理式および前記制限範囲論理式を、前記結合論理式に論理積結合することで、第三の結合論理式を作成する処理と、前記第三の結合論理式を前記充足可能性判定器に入力することで、前記第三の結合論理式の充足可能性判定結果を取得し、前記充足可能性判定結果が充足性を示す場合、前記上限値以下かつ前記下限値以上の範囲を、前記第二の検索対象説明変数の違反範囲と特定する処理と、を更に実行するものである、としてもよい。
【０１７２】
これによれば、違反範囲の検索をさらに効率的で精度良好なものとし、ひいては、予測モデルの妥当性をより網羅的に評価可能となる。
【０１７３】
また、本実施形態の機械学習プログラム検証装置において、前記演算装置は、前記第二の結合論理式または前記第三の結合論理式の充足可能性判定結果が、充足不能を示す場合、前記説明変数を取得して、前記説明変数に違反範囲が設定されている場合、前記説明変数の値は前記違反範囲外にあることを意味する前提範囲指定論理式を作成する処理と、前記説明変数に違反範囲が設定されていない場合、前記説明変数の値が前記違反入力値と等しいことを意味する前提範囲指定論理式を作成する処理と、前記前提範囲指定論理式を前記結合論理式に結合することで、第四の結合論理式を作成する処理と、前記第四の結合論理式を充足可能性判定器に入力することで、前記第四の結合論理式の充足可能性判定結果を取得し、当該充足可能性判定結果が充足性を示す場合、前記充足可能性判定器からその充足解を取得し、前記充足解から、前記検証性質に違反する説明変数の値である違反入力値と当該違反入力値の場合の目的変数の値である違反出力値とを取得する処理と、を更に実行するものである、としてもよい。
【０１７４】
これによれば、違反範囲の検索を一層、効率的で精度良好なものとし、ひいては、予測モデルの妥当性をより網羅的に評価可能となる。
【０１７５】
また、本実施形態の機械学習プログラム検証装置において、前記演算装置は、前記第二の結合論理式または前記第三の結合論理式の充足可能性判定結果が充足性を示す場合、当該充足解を取得して、前記充足解から、前記検証性質に違反する説明変数の値である違反入力値と当該違反入力値の場合の目的変数の値である違反出力値とを取得する処理を更に実行するものである、としてもよい。
【０１７６】
これによれば、違反入力値、出力値の収集を効率的なものとし、ひいては、予測モデルの妥当性をより網羅的に評価可能となる。
【０１７７】
また、本実施形態の機械学習プログラム検証装置において、前記演算装置は、前記パス論理式に現れる前記説明変数の値が、前記違反入力値または前記第二の違反入力値と一致
することを意味する違反入力値指定論理式を作成する処理と、前記違反入力値指定論理式を、前記パス論理式に論理積結合することで、違反入力値指定済みパス論理式を作成する処理と、前記違反入力値指定済みパス論理式を、前記充足可能性判定器に入力することで、前記違反入力値指定済み論理式の充足可能性判定結果を取得し、前記充足可能性判定結果が充足性を示す場合、対応する前記決定木パスを違反パスとして取得する処理と、前記決定木を決定木グラフとして画面に表示し、前記決定木グラフ上において、前記違反パスを強調表示する処理と、を更に実行するものである、としてもよい。
【０１７８】
これによれば、ユーザとして問題点を視認容易となり、ひいては、予測モデルの妥当性をより網羅的に評価可能となる。
【０１７９】
また、本実施形態の機械学習プログラム検証装置において、前記演算装置は、前記パス論理式に現れる前記説明変数の値が、前記違反範囲に含まれることを示す違反範囲指定論理式を作成する処理と、前記違反範囲指定論理式を、前記パス論理式に論理積結合することで、違反範囲指定パス論理式を作成する処理と、前記違反範囲指定パス論理式を、前記充足可能性判定器に入力することで、前記違反範囲指定パス論理式の充足可能性判定結果を取得し、前記充足可能性判定結果が充足性を示す場合、対応する前記決定木パスを違反パスとして取得する処理と、前記決定木を決定木グラフとして画面に表示し、前記決定木グラフ上において、前記違反パスを強調表示する処理と、を更に実行するものである、としてもよい。
【０１８０】
これによれば、ユーザとして問題点をより視認容易となり、ひいては、予測モデルの妥当性をより網羅的に評価可能となる。
【０１８１】
また、本実施形態の機械学習プログラム検証装置において、前記演算装置は、前記違反入力値または前記第二の違反入力値について、前記決定木グラフ上に前記違反パスを強調表示し、前記決定木グラフを構成するノードのうち、前記強調表示された前記違反パスが分岐していないノードを非分岐ノードとして取得する処理と、前記非分岐ノードで使用されている説明変数を原因説明変数として出力する処理と、を更に実行するものである、としてもよい。
【０１８２】
これによれば、ユーザとして問題点をさらに視認容易となり、ひいては、予測モデルの妥当性をより網羅的に評価可能となる。
【０１８３】
また、本実施形態の機械学習プログラム検証装置において、前記演算装置は、前記プログラムに対する入力値として、前記説明変数の値を入力装置にて受け付け、前記説明変数の値が前記違反範囲のいずれにも含まれない場合、前記入力値を前記プログラムに送信する入力フィルタプログラムのソースコードを生成する処理を更に実行するものである、としてもよい。
【０１８４】
これによれば、違反範囲の入力値であれば機械学習モデルを実行させないことが可能となり、ひいては、予測モデルの妥当性をより網羅的に評価可能となる。
【０１８５】
また、本実施形態の機械学習プログラム検証装置において、前記記憶装置は、前記プログラムを機械学習によって作成する際に使用した、前記説明変数の値および前記目的変数の値の組で構成されるデータセットを保持し、前記演算装置は、前記結合論理式を作成するに際し、前記データセットを参照して前記説明変数の最大値と最小値を取得し、前記説明変数の値は前記最大値以下で前記最小値以上であることを示す説明変数範囲制限論理式を作成し、前記決定木論理式、前記検証性質論理式、および前記目的変数計算論理式に加えて、前記説明変数範囲制限論理式を論理積結合することで、前記結合論理式を作成する
ものである、としてもよい。
【０１８６】
これによれば、違反範囲検索がさらに効率的で精度良好なものとなり、ひいては、予測モデルの妥当性をより網羅的に評価可能となる。
【０１８７】
また、本実施形態の機械学習プログラム検証装置において、前記記憶装置は、前記プログラムを機械学習によって作成する際に使用した、前記説明変数の値および前記目的変数の値の組で構成されるデータセットを保持し、前記演算装置は、前記検索範囲の特定に際し、前記データセットを参照して前記説明変数の最大値と最小値を取得し、前記最大値または最小値に所定ルールを適用して、前記上限値および下限値を作成する際、前記検索対象違反入力値に加算あるいは減算する単位値を算出するものである、としてもよい。
【０１８８】
これによれば、違反範囲検索が一層、効率的で精度良好なものとなり、ひいては、予測モデルの妥当性をより網羅的に評価可能となる。
【０１８９】
また、本実施形態の機械学習プログラム検証装置において、前記演算装置は、前記検索対象違反入力値に加算あるいは減算する前記単位値を、所定期間に前記加算ないし前記減算を行った回数に基づいて所定ルールで変更する、としてもよい。
【０１９０】
これによれば、違反範囲検索を状況に応じて効率化することが可能となり、ひいては、予測モデルの妥当性をより網羅的に評価可能となる。
【０１９１】
また、本実施形態の機械学習プログラム検証装置において、前記演算装置は、前記第二の結合論理式あるいは第三の結合論理式についての、充足可能性判定結果が充足不能を示す場合、前記検索対象説明変数の前記検索範囲、および前記非検索対象説明変数の前記制限範囲に含まれる範囲を記憶する処理と、前記違反範囲を表す入力値の多次元空間を、前記検索対象説明変数の前記検索範囲の上限値を通り、前記検索対象説明変数の基底ベクトルが法線ベクトルとなる第一の超平面と、前記検索対象説明変数の前記検索範囲の下限値を通り、前記検索対象説明変数の基底ベクトルが法線ベクトルとなる第二の超平面と、前記非検索対象説明変数の前記制限範囲の上限値を通り、前記非検索対象説明変数の基底ベクトルが法線ベクトルとなる第三の超平面と、前記非検索対象説明変数の前記制限範囲の下限値を通り、前記非検索対象説明変数の基底ベクトルが法線ベクトルとなる第四の超平面とで分割する処理と、前記分割で得られた分割後空間のうち、前記第一の超平面と、前記第三の超平面と、前記第四の超平面とに囲まれた空間を再確認空間と特定し、入力値が前記再確認空間に含まれることを意味する再確認空間論理式を作成する処理と、前記再確認空間論理式を前記結合論理式に論理積結合することで、第五の結合論理式を作成する処理と、前記第五の結合論理式を前記充足可能性判定器に入力することで、前記第五の結合論理式の充足可能性判定結果を取得する処理と、前記充足可能性判定結果が充足性を示す場合、前記分割後空間から、前記第一の超平面、前記第二の超平面、前記第三の超平面、および前記第四の超平面で囲まれる空間を除いて得られる、複数の多次元空間を違反範囲と特定する処理と、前記充足可能性判定結果が充足不能を示す場合、前記分割後空間から、前記第一の超平面、前記第二の超平面、前記第三の超平面、および前記第四の超平面で囲まれる空間と、前記再確認空間を除いた複数の多次元空間とを違反範囲と特定する処理と、を更に実行するものである、としてもよい。
【０１９２】
これによれば、違反範囲が当初広大であっても、これを適宜に細分化することが可能となり、ひいては予測モデルの妥当性をより網羅的に評価可能となる。
【符号の説明】
【０１９３】
１００  機械学習プログラム検証装置
１０１  外部記憶装置
１０２  プログラム
１０３  メモリ
１０４  ＣＰＵ（演算装置）
１０５  入力装置
１０６  表示装置
１０７  外部媒体入出力装置
１１０  決定木論理式作成部
１１０１  決定木論理式
１１１  検証性質論理式作成部
１１１１  検証性質論理式
１１２  目的変数計算論理式作成部
１１２１  目的変数計算論理式
１１３  説明変数上下限論理式作成部
１１３１  説明変数上下限論理式
１１４  検証部
１１４１  結合論理式
１１５  充足可能性判定部
１１５１  充足可能性判定器
１１５２  検証結果
１１６  違反パス表示部
１１７  原因抽出部
１１８  違反範囲検索部
１１９  違反範囲分割部
１２０  入力フィルタ生成部
１２０１  入力フィルタのソースコード
１２５  機械学習モデル保持部
１２５１  機械学習モデル
１２６  データセット保持部
１２６１  データセット
１２７  違反入力値・出力値保持部
１２７１  違反入力値・出力値
１２８  違反範囲保持部
１２８１  違反範囲
【図１】
2020135171.tif 000003
【図２】
2020135171.tif 000004
【図３】
2020135171.tif 000005
【図４】
2020135171.tif 000006
【図５】
2020135171.tif 000007
【図６】
2020135171.tif 000008
【図７】
2020135171.tif 000009
【図８】
2020135171.tif 000010
【図９】
2020135171.tif 000011
【図１０】
2020135171.tif 000012
【図１１】
2020135171.tif 000013
【図１２】
2020135171.tif 000014
【図１３】
2020135171.tif 000015
【図１４】
2020135171.tif 000016
【図１５】
2020135171.tif 000017
【図１６】
2020135171.tif 000018
【図１７】
2020135171.tif 000019
【図１８Ａ】
2020135171.tif 000020
【図１８Ｂ】
2020135171.tif 000021
【図１８Ｃ】
2020135171.tif 000022
【図１９】
2020135171.tif 000023
【図２０】
2020135171.tif 000024
【図２１】
2020135171.tif 000025
【図２２】
2020135171.tif 000026
【図２３】
2020135171.tif 000027
【図２４】
2020135171.tif 000028
【図２５】
2020135171.tif 000029
【図２６】
2020135171.tif 000030
【図２７】
2020135171.tif 000031