(57)【要約】【課題】予測結果に対してどのような施策をとるのが効果的かをユーザが容易に判断できる技術を提供する。【解決手段】データ分析装置１は、機械学習モデルに入力する説明変数のデータを生成し、生成したデータを機械学習モデルに入力して目的変数のデータを得るデータセット生成部１２４と、データセット生成部１２４が生成した説明変数のデータと目的変数のデータとに基づいて、説明変数と目的変数との関係性を算出するモデル評価部１２５と、を備える。【選択図】図１
2018147280.tif 000002
【特許請求の範囲】
【請求項１】
機械学習モデルに入力する説明変数のデータを生成し、生成した前記説明変数のデータを前記機械学習モデルに入力して目的変数のデータを得るデータセット生成部と、
前記データセット生成部が生成した前記説明変数のデータと前記目的変数のデータとに基づいて、前記説明変数と前記目的変数との関係性を算出するモデル評価部と、
を備えるデータ分析装置。
【請求項２】
前記モデル評価部が算出した前記説明変数と前記目的変数との関係性を前記機械学習モデルの説明変数を入力するインターフェースと併せて表示部に表示する評価出力部をさらに備える、
請求項１に記載のデータ分析装置。
【請求項３】
前記モデル評価部は、前記説明変数のデータと前記目的変数のデータとのデータセットに重回帰分析を行うことによって、前記説明変数毎に有意確率又は標準偏回帰係数の少なくとも一つを算出する、
請求項１に記載のデータ分析装置。
【請求項４】
前記モデル評価部は、前記目的変数を前記説明変数によって説明できる度合いを示す決定係数を算出する、
請求項１に記載のデータ分析装置。
【請求項５】
機械学習モデルに入力する説明変数のデータを生成し、生成した前記説明変数のデータを前記機械学習モデルに入力して目的変数のデータを得るステップと、
生成した前記説明変数のデータと前記目的変数のデータとに基づいて、前記説明変数と前記目的変数との関係性を算出するステップと、
を含むデータ分析方法。
【請求項６】
算出した前記説明変数と前記目的変数との関係性を前記機械学習モデルの説明変数を入力するインターフェースと併せて表示部に表示するステップをさらに含む、
請求項５に記載のデータ分析方法。
【請求項７】
前記説明変数と前記目的変数との関係性を算出する前記ステップは、前記説明変数のデータと前記目的変数のデータとのデータセットに重回帰分析を行うことによって、前記説明変数毎に有意確率又は標準偏回帰係数の少なくとも一つを算出するステップである、
請求項５に記載のデータ分析方法。
【請求項８】
前記説明変数と前記目的変数との関係性を算出する前記ステップは、前記目的変数を前記説明変数によって説明できる度合いを示す決定係数を算出するステップである、
請求項５に記載のデータ分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、機械学習における入力データ及び出力データの関係性を分析するデータ分析装置及びデータ分析方法に関する。
【背景技術】
【０００２】
従来、ニューラルネットワーク等の機械学習技術が注目を集めている。機械学習により得られた機械学習モデルを利用して様々な問題を解決することが行われている。
【０００３】
特許文献１においては、機械学習手法を通じて、金融与信問題、クレジットカードの不正顧客の発見、ネットワークにおける不正アクセスの発見等の用途に活用できる技術が提案されている。特許文献１に記載された手法は、類似事例に基づく予測結果の確信度に、その確信度の信頼度を示す信頼性尺度を付加することにより、予測結果に対するユーザのその後の判断を支援する仕組みを持っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３２３６０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載された手法を用いた場合、ユーザは個別の説明変数が予測結果に対して寄与している度合いを知ることができない。すなわち、ユーザはどのような要因により入力データから予測結果が導かれたかを知ることができない。換言すると、ユーザは、ニューラルネットワークにおいて説明変数と予測結果である目的変数との関連性が未知のまま機械学習モデルを利用していた。このため、ユーザは予測結果に基づいてどのような判断をすべきか知ることが困難であった。
【０００６】
本開示はこのような状況に鑑みてなされたものであり、予測結果に基づいてどのような判断をすべきかをユーザが容易に知ることができる技術を提供する。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、代表的な本開示のデータ分析装置の一つは、機械学習モデルに入力する説明変数のデータを生成し、生成した前記説明変数のデータを前記機械学習モデルに入力して目的変数のデータを得るデータセット生成部と、前記データセット生成部が生成した前記説明変数のデータと前記目的変数のデータとに基づいて、前記説明変数と前記目的変数との関係性を算出するモデル評価部と、を備える。
【０００８】
また、代表的な本開示のデータ分析方法の一つは、機械学習モデルに入力する説明変数のデータを生成し、生成した前記説明変数のデータを前記機械学習モデルに入力して目的変数のデータを得るステップと、生成した前記説明変数のデータと前記目的変数のデータとに基づいて、前記説明変数と前記目的変数との関係性を算出するステップと、を含む。
【発明の効果】
【０００９】
本開示によれば、学習済の機械学習モデルに対し、説明変数毎に目的変数に対する影響の度合いを算出することが可能となる。これにより、機械学習モデルがどのような要因で出力結果を求めたのかを推測することが容易になり、ユーザがその後の施策を行う際の判断が容易になる。
なお、上述した以外の課題、構成及び効果は、以下の本発明を実施するための形態及び添付図面によって明らかになるものである。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係るデータ分析装置の概略構成を示す機能ブロック図である。
【図２】モデルデータの一例を示す図である。
【図３】入出力データの一例を示す図である。
【図４】シミュレーションデータの一例を示す図である。
【図５】評価データの表示画面の一例を示す図である。
【図６】シミュレーション処理を説明するためのフローチャートである。
【図７】評価処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。なお、本願明細書において学習済みモデルとは機械学習によって得られたモデルのことであり、機械学習モデルとも称する。
【００１２】
＜データ分析装置の構成＞
図１は、実施形態に係るデータ分析装置１の概略構成を示す機能ブロック図である。このデータ分析装置１は、必要な演算処理及び制御処理等を行う中央処理装置（プロセッサ）１００と、データの入出力を行うための入出力装置１１０と、中央処理装置１００による処理に必要なプログラムを格納するプログラムメモリ１２０と、中央処理装置１００による処理の対象となるデータ又は中央処理装置１００によって処理した後のデータを格納する記憶装置１３０と、を有している。
【００１３】
入出力装置１１０は、データを表示するための表示部１１１やプリンタ（図示せず）等で構成される出力デバイスと、表示されたデータに対してメニューを選択するなどの操作を行うためのキーボード１１２、マウスなどのポインティングデバイス１１３と、を有している。
【００１４】
プログラムメモリ１２０は、機械学習によって生成された学習済みモデルに対し、様々な入力データを入力して出力結果を得るシミュレーションプログラム１２１と、シミュレーション処理の結果を分析する評価プログラム１２２と、シミュレーション処理の分析結果を表示部１１１に表示する出力プログラム１２３と、を格納している。各処理プログラムは、プログラムコードとしてプログラムメモリ１２０に格納されており、中央処理装置１００が各プログラムコードを実行することによって各処理が実現される。
【００１５】
中央処理装置１００は、シミュレーションプログラム１２１を実行することによりデータセット生成部１２４として機能し、評価プログラム１２２を実行することによりモデル評価部１２５として機能し、出力プログラム１２３を実行することにより評価出力部１２６として機能する。
【００１６】
データセット生成部１２４は、機械学習モデルに入力する説明変数のデータを生成し、当該機械学習モデルに生成した上記データを入力して目的変数のデータを得る。モデル評価部１２５は、データセット生成部１２４が生成した説明変数のデータと目的変数のデータとに基づいて、説明変数と目的変数との関係性を算出する。説明変数と目的変数との関係性とは、例えば、説明変数と目的変数との統計的な相関関係を指す。評価出力部１２６は、モデル評価部１２５が算出した説明変数と目的変数との関係性を、機械学習モデルの説明変数を入力するインターフェースと併せて表示部１１１に表示する。
【００１７】
記憶装置１３０は、あらかじめ機械学習によって生成された学習済みモデルのデータであるモデルデータ１３１と、モデルデータ１３１の生成時に使用した機械学習の教師データの入出力形式である入出力データ１３２と、入出力データ１３２をもとにシミュレーション用に生成したシミュレーションデータ１３３と、シミュレーションデータ１３３を分析処理した後に得られる評価データ１３４と、を格納している。なお、記憶装置１３０は、ネットワークを介して遠隔的に配置されていているストレージシステムであってもよい。
【００１８】
以上に述べた処理プログラム・データ・各プログラム等は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ等の種々の記録媒体に格納して提供することもできる。
【００１９】
＜モデルデータ＞
図２は、記憶装置１３０内のモデルデータ１３１の一例を示す図である。モデルデータには、機械学習により得られた学習済みモデルの設定データ及び学習済モデルで構成されるデータ種類２０１がある。設定データ及び学習済モデルは、それぞれデータ項目２０２及びその値２０３で構成される。
【００２０】
設定データのデータ項目には、例えば、入力次元数や出力次元数等がある。入力次元数とは、機械学習のモデルに入力する際の説明変数の数である。また、出力次元数とは、機械学習のモデルが出力する目的変数の数である。例えば、ある日の売上、次の日の降水確率及び曜日を説明変数とし、次の日の売上を目的変数とする機械学習モデルの場合、入力次元数は３、出力次元数は１となる。
【００２１】
学習済モデルのデータ項目には、前述のような入力データを入力して出力データを得るための学習済みモデルを特徴づけるパラメータが含まれる。なお、学習済みモデルのパラメータはユーザが把握しておく必要はなく、機械学習モデルを呼び出した際にプログラム内で自動的に使用される。
【００２２】
＜入出力データ＞
図３は、記憶装置１３０内の入出力データ１３２の一例を示す図である。入出力データは、モデルの入力と出力、すなわち説明変数と目的変数を格納するデータ項目３０１と、データ項目３０１に格納された各変数のデータの種類を表すデータ型３０２と、データ項目３０１に格納された各変数のデータの値の範囲を表す値範囲３０３で構成される。
【００２３】
データ型３０２には、例えば、浮動小数点型や２値型といった値が格納される。浮動小数点型とは、値に実数値を持つデータ型であり、例えば０．１といった値が格納される。２値型とは、男女、購入/非購入等のように２種類の値のみが格納されるデータ型であり、２種類を区別するために０又は１といった値が格納される。値範囲３０３には、取り得る値の範囲が格納される。例えば、データタイプが浮動小数点型で、０−１であれば、０から１の範囲の実数値が格納される。
【００２４】
＜シミュレーションデータ＞
図４は、記憶装置１３０内のシミュレーションデータ１３３の一例を示す図である。シミュレーションデータは、説明変数群４０１、４０２、４０３と、説明変数をモデルに入力した時に出力される目的変数４０４の組み合わせを格納するデータで構成される。説明変数及び目的変数の数はモデルデータ１３１における、入力次元数及び出力次元数で決定される。説明変数群の数値は、入出力データ１３２における、各説明変数の値範囲に含まれる値の中から重複がないように決定される。
【００２５】
図４に示した例では、図３に示した入出力データに基づいてシミュレーションを行った場合のデータセットが示されている。図４に示すシミュレーションの例では、例えば、説明変数１及び３は０−１の範囲からランダムに値が生成され、説明変数２は０か１のどちらかの数値がランダムに生成される。目的変数１には、生成した説明変数１〜３を機械学習モデルに入力して得られた値が記録されている。
【００２６】
＜評価データ＞
図５は、記憶装置１３０内の評価データ１３４の表示画面の例を示す図である。評価データは、評価対象のモデルにおける、各説明変数に対する評価値と、モデル全体に対する評価値で構成される。具体的には、評価データ１３４には、各説明変数のＩＤである説明変数５０１と、各説明変数に対する評価項目が１つ以上格納される。図５では、評価項目１として標準偏回帰係数５０２が、評価項目２として有意確率ｐ値が格納されている。また、モデル全体に対する評価値として、モデル評価項目５０４と、その値であるモデル評価値５０５が格納される。
【００２７】
図５に示した評価データ表示画面は、例えば、ユーザが利用したい機械学習モデルを選択した際に、評価出力部１２６が当該機械学習モデルに関する評価データ１３４を読み込み、機械学習モデルに説明変数の値を入力するインターフェースと併せて出力することによって表示部１１１に表示する。
【００２８】
＜データ分析装置における処理概要＞
上述の構成を有するデータ分析装置１において行われる処理について説明する。まず、中央処理装置１００は、シミュレーションプログラム１２１を実行してデータセット生成部１２４として機能する。データセット生成部１２４は、記憶装置１３０に格納されたモデルデータ１３１、入出力データ１３２を読み込み、シミュレーションを行う。中央処理装置１００は、シミュレーションによって得られたシミュレーションデータ１３３を記憶装置１３０に格納する。
【００２９】
次に、中央処理装置１００は、評価プログラム１２２を実行してモデル評価部１２５として機能する。モデル評価部１２５は、記憶装置１３０からシミュレーションデータ１３３を読み込み、機械学習モデルの各説明変数に対する評価値と機械学習モデル全体に対する評価値を算出し、算出した評価値を評価データ１３４として記憶装置１３０に格納する。
【００３０】
中央処理装置１００は、出力プログラム１２３を実行して評価出力部１２６として機能する。そして評価出力部１２６が、評価データ１３４の内容を表示部１１１に表示する。上記それぞれの処理について、以下に詳細を説明する。
【００３１】
＜シミュレーション処理＞
図６は、データセット生成部１２４が実行するシミュレーション処理を説明するためのフローチャートである。データセット生成部１２４は、シミュレーション処理において、図４に示すような説明変数の値の組を生成する。データセット生成部１２４は、上記説明変数の値と、生成した説明変数の値を機械学習のモデルに入力した場合に得られる目的変数の値と、の組み合わせのパターンを求める処理を行う。説明変数と目的変数との組み合わせのパターンは、例えば数百万〜数億のパターンを生成する。
【００３２】
ステップ６０１では、データセット生成部１２４が、モデルデータ１３１と入出力データ１３２とを読み込む。
【００３３】
ステップ６０２では、データセット生成部１２４が、まずモデルデータ１３１から入力次元数と出力次元数を読み込み、入出力データ１３２から各説明変数のデータタイプと値範囲を読み込む。次にそれらのデータに基づいて、各説明変数の値範囲において網羅的に説明変数の組み合わせのパターンを生成する。
【００３４】
例えば、図３の入出力データの例では、説明変数１、説明変数２、説明変数３の値の組み合わせを、（説明変数１の値、説明変数２の値、説明変数３の値）のように表す時、図４のように、（０．１、０、０．２）、（０．１、０、０．３）、（０．１、１、０．２）等のような組み合わせパターンが出力される。この時点では、目的変数１の値は設定されない。組み合わせパターンをどの程度の網羅性、すなわちデータの粒度にするかは任意に設定可能である。一般的に、網羅性が高いほどモデルの評価精度が良くなるが、処理時間は多くなる。逆に網羅性が低いほどモデルの評価精度は悪くなるが、処理時間は短くなる。
【００３５】
ステップ６０３では、データセット生成部１２４が、モデルデータから学習済モデルを読み込み、ステップ６０２で生成したシミュレーションデータを学習済モデルに入力し、出力結果すなわち目的変数を求める。
【００３６】
ステップ６０４では、データセット生成部１２４が、ステップ６０３で得られた目的変数の値を、対応する説明変数群のレコードに格納し、シミュレーションデータを更新する。
【００３７】
＜評価処理＞
図７は、モデル評価部１２５及び評価出力部１２６が実行する評価処理を説明するためのフローチャートである。評価処理では、図４のようなシミュレーションデータに基づいて、例えば図５に示す評価結果を出力する。
【００３８】
ステップ７０１では、モデル評価部１２５がシミュレーションデータ１３３を読み込む。
【００３９】
ステップ７０２では、モデル評価部１２５がシミュレーションデータ１３３に対し、評価モデルを適用する。評価モデルとは、目的変数に対する影響の度合いを説明変数毎に求めるために使用するものであり、例えば重回帰分析が評価モデルに使用できる。この目的を実現できれば任意の評価モデルを適用可能である。
【００４０】
以下、評価モデルに重回帰分析を用いた場合で説明する。シミュレーションデータのレコードに対し重回帰分析を適用すると、説明変数毎に標準偏回帰係数や有意確率ｐ値を算出することができる。標準偏回帰係数とは、その説明変数が目的変数に与える影響度の強さを表し、かつ各説明変数のスケールを統一したものである。すなわち、説明変数毎の標準偏回帰係数を比較することによって説明変数の影響の大きさを把握することができる。また、有意確率ｐ値とは、重回帰分析によって算出された標準偏回帰係数の確からしさを表す。一般に、有意確率ｐ値が5%を下回っていると、その説明変数は目的変数に対して「関係性がある」と判断できる。
【００４１】
また、シミュレーションデータのレコードに対し重回帰分析を適用すると、モデル全体に対する評価項目として、決定係数や自由度調整済決定係数が算出できる。決定係数とは、目的変数の全変動のうち、全ての説明変数によって説明できる割合を表し、回帰方程式とサンプルデータとのあてはまりの良さを示す値である。また、自由度調整済決定係数とは、説明変数の数を考慮した決定係数であり、通常の決定係数が説明変数の数が増えるほど大きくなってしまう欠点を補ったものである。このようにして得られた各出力値は、評価データ１３４として記憶装置１３０に格納される。
【００４２】
ステップ７０３では、評価出力部１２６が評価データ１３４を表示部１１１に表示する。このように画面表示することで、機械学習による学習済モデルにおいて、目的変数に影響を与える度合いを定量化し把握することが可能となる。
【００４３】
＜まとめ＞
以上説明したように、本実施形態によれば、説明変数の値を網羅的に又は十分に大きな数だけ機械学習モデルに入力し、対応する目的変数を求め、その結果に対して評価モデルを適用することにより、目的変数に影響を与える度合いを説明変数毎に定量化することが可能となる。これにより、ある説明変数群に対して出力される目的変数が、どの説明変数の影響を強く受けて出力されたかを把握することが容易になる。また、モデルの学習時に使用した教師データと正解データのみを用いて、学習済みモデルに評価モデルを適用した場合と比較して、本実施形態にように網羅的にシミュレーションを行うことにより、学習済みモデルの評価を精密に行うことが可能となる。
【００４４】
また、実施形態のデータ分析装置１は、例えば、説明変数と目的変数との関係性を機械学習モデルの説明変数を入力するインターフェースと併せて表示部１１１に表示する。そのため、ユーザが機械学習モデルの使用時に、表示部１１１に表示された当該機械学習モデルの評価を確認しながら、説明変数の値を入力することができる。それ故、ユーザは機械学習モデルの出力に対する信頼性についてより定量的に検証することが可能となる。
【００４５】
なお、本発明は、実施形態そのままに限定されるものではなく、実施段階では、その要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００４６】
また、実施形態で示された各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現しても良い。また、上記各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現しても良い。各機能等を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、ＳＳＤ（Solid State Drive）等の記録或いは記憶装置、又はＩＣカード、ＳＤカード、ＤＶＤ等の記録或いは記憶媒体に格納することができる。また、本実施形態のデータ分析装置１が実行するプログラムの一部または全ては、専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【００４７】
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
【符号の説明】
【００４８】
１００…中央処理装置（プロセッサ）
１１０…入出力装置
１１１…表示部
１１２…キーボード
１１３…マウス
１２０…プログラムメモリ
１２１…シミュレーションプログラム
１２２…評価プログラム
１２３…出力プログラム
１２４…データセット生成部
１２５…モデル評価部
１２６…評価出力部
１３０…記憶装置
１３１…モデルデータ
１３２…入出力データ
１３３…シミュレーションデータ
１３４…評価データ
【図１】
2018147280.tif 000003
【図２】
2018147280.tif 000004
【図３】
2018147280.tif 000005
【図４】
2018147280.tif 000006
【図５】
2018147280.tif 000007
【図６】
2018147280.tif 000008
【図７】
2018147280.tif 000009