(57)【要約】【課題】  従来の機械学習では、データが少ない事象に関しては予測精度が低くなるという問題があった。【解決手段】  本発明の好ましい一態様では、元データを入力して予測結果を出す情報処理システムにおいて、元データから、少なくとも第１のデータと第２のデータが生成される。第１のデータを用いて予測を行う第１の予測式は少なくとも一つのパラメータを有し、第１の予測式による第１の予測結果を用いて該パラメータを調整する第１の学習器を有する。第２のデータを用いて予測を行う第２の予測式は少なくとも一つのパラメータを有し、第２の予測式による第２の予測結果を用いて該パラメータを調整する第２の学習器を有する。そして、第１の学習器が調整するパラメータと第２の学習器が調整するパラメータに、共通のパラメータが少なくとも一つある。【選択図】  図１
2019109648.tif 000002
【特許請求の範囲】
【請求項１】
元データを入力して予測結果を出力する情報処理システムにおいて、
前記元データから、少なくとも第１のデータと第２のデータが生成され、
前記第１のデータを用いて予測を行う第１の予測式は少なくとも一つのパラメータを有し、
前記第１の予測式による第１の予測結果を用いて該パラメータを調整する第１の学習器を有し、
前記第２のデータを用いて予測を行う第２の予測式は少なくとも一つのパラメータを有し、
前記第２の予測式による第２の予測結果を用いて該パラメータを調整する第２の学習器を有し、
前記第１の学習器が調整するパラメータと前記第２の学習器が調整するパラメータに、共通のパラメータが少なくとも一つあることを特徴とする情報処理システム。
【請求項２】
請求項１の情報処理システムにおいて、
前記第２のデータにおける教師データは、前記元データからのデータを用いず、前記元データとは異なるラベルあるいは数値を与えられたデータであることを特徴とする情報処理システム。
【請求項３】
請求項１の情報処理システムにおいて、
前記第１の予測式は、重みつき和と非線形関数を含むことを特徴とする情報処理システム。
【請求項４】
請求項１の情報処理システムにおいて、
前記第１の予測式は、積と重みつき和を含むことを特徴とする情報処理システム。
【請求項５】
請求項１の情報処理システムにおいて、
前記第２の学習器は、学習部と反応性評価部を備え、
前記学習部は、前記共通のパラメータを含む複数のパラメータを調整するものであって、
前記第２のデータと前記第２の予測結果の誤差が小さくなるように前記複数のパラメータを調整し、
前記反応性評価部は、
前記複数のパラメータのうち、パラメータの変化に対して前記誤差の変化量が所定以上大きなパラメータを抽出する、情報処理システム。
【請求項６】
請求項１の情報処理システムにおいて、
前記第２の学習器は、学習部と反応性評価部を備え、
前記学習部は、前記共通のパラメータを含む複数のパラメータを調整するものであって、
前記第２のデータと前記第２の予測結果の誤差が小さくなるように前記複数のパラメータを調整し、
前記反応性評価部は、
前記複数のパラメータのうち、パラメータの変化に対して前記第２のデータと前記第２の予測結果の相関係数の変化量が所定以上大きなパラメータを抽出する、情報処理システム。
【請求項７】
請求項１の情報処理システムにおいて、
前記第２の学習器は、学習部と反応性評価部とパラメータ補正部を備え、
前記学習部は、前記共通のパラメータを含む複数のパラメータを調整するものであって、
前記第２のデータと前記第２の予測結果の誤差が小さくなるように前記複数のパラメータを調整し、
前記反応性評価部は、
前記複数のパラメータのうち、パラメータの変化に対して前記誤差あるいは前記第２のデータと前記第２の予測結果の相関係数の変化量が所定以上大きなパラメータを抽出し、
前記パラメータ補正部は、
抽出された前記パラメータについて、前記第１の学習器が調整するパラメータを補正する、情報処理システム。
【請求項８】
請求項７の情報処理システムにおいて、
前記パラメータ補正部は、
抽出された前記パラメータについて、前記第１の学習器が調整するパラメータの重みを小さくする補正を行なう、情報処理システム。
【請求項９】
請求項７の情報処理システムにおいて、
前記パラメータ補正部は、
抽出された前記パラメータについて、前記第１の学習器が調整するパラメータを０に近づける補正を行なう、情報処理システム。
【請求項１０】
請求項７の情報処理システムにおいて、
前記パラメータ補正部は、
抽出された前記パラメータについて、前記第１の学習器が、前記第１のデータと前記第１の予測結果の誤差が大きくなるように前記複数のパラメータを調整する補正を行なう、情報処理システム。
【請求項１１】
説明変数と第１の結果データの組からなる教師データを複数準備し、
説明変数の組からなる第１の学習用データを複数準備し、
複数のパラメータからなる予測パラメータを用いた予測式を用いて、前記第１の学習用データから第１の予測データを得、
前記第１の結果データと前記第１の予測データの誤差が小さくなるように、前記予測パラメータを変更して第１の予測パラメータを得、
説明変数と第２の結果データの組からなる改変データを複数準備し、
説明変数の組からなる第２の学習用データを複数準備し、
前記予測パラメータを用いた予測式を用いて、前記第２の学習用データから第２の予測データを得、
前記第２の結果データと前記第２の予測データの誤差が小さくなるように、前記予測パラメータを変更して第２の予測パラメータを得、
前記第２の予測パラメータの変化に対する前記誤差の変化、および、前記第２の予測パラメータの変化に対する前記第２の結果データと前記第２の予測データの相関係数の変化、の少なくとも一つを評価して、前記予測パラメータから所定のパラメータを抽出し、
前記第１の予測パラメータのうち、抽出した前記所定のパラメータに該当するパラメータについて、前記第１の予測パラメータを調整する、
情報処理システムの学習方法。
【請求項１２】
請求項１１の情報処理システムの学習方法において、
前記教師データは元データの一部であり、前記改変データは前記元データを改変したデータであって、前記元データとは相違するデータである、
情報処理システムの学習方法。
【請求項１３】
請求項１１の情報処理システムの学習方法において、
前記第１の予測パラメータのうち、前記所定のパラメータに該当するパラメータについて、前記第１の予測パラメータの重みを小さくを補正する、
情報処理システムの学習方法。
【請求項１４】
請求項１１の情報処理システムの学習方法において、
前記第１の予測パラメータのうち、前記所定のパラメータに該当するパラメータについて、前記第１の結果データと前記第１の予測データの誤差が大きくなるように、前記予測パラメータを変更することにより、前記第１の予測パラメータを補正する、
情報処理システムの学習方法。
【請求項１５】
請求項１１の情報処理システムの学習方法において、
前記教師データは元データの一部であり、前記改変データは前記元データを改変したデータであって、前記元データとは相違するデータであり、
前記元データを改変する方式について、変更が可能である、
情報処理システムの学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、企業や人間や社会活動のデータを用いて、予測や判断を支援するための情報処理システムに関する。
【背景技術】
【０００２】
企業や社会に時々刻々収集され蓄積されているデータを活用するために、人工知能技術が注目されている。
【０００３】
特に、データの特徴を捉えることにより、画像から顔や対象の識別を行う画像認識や音声の特徴から言語を識別する音声認識などに関しては、ディープラーニングという技術により大幅な精度向上が近年実現された。
【０００４】
ディープラーニングを含む機械学習や人工知能の技術の発展によって、データからビジネスや社会の予測が可能になることが期待されている。このようなデータと機械学習を用いた予測技術は、企業業績の予測、需要の予測、事故や故障の予測などに幅広い活用が期待されている。このような先行技術に例えば特許文献１のようなものがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−２０１５２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
機械学習では、過去のデータに潜む事象の特徴を抽出することで、データから予測のモデル式を生成する。これを人工知能（ＡＩ）の用語では「学習」と呼ぶ。
【０００７】
ところが、発生頻度が低い稀な事象に対して学習を行うのは、過去の実績データが少ないため、より困難になる。
【０００８】
従来のディープラーニングを含む機械学習では、過去の実績データを用いて予測誤差が小さくなるように予測式に含まれる予測パラメータを調整する。しかし発生頻度の低い事象においては、特定の状況でたまたま起きた事象にあわせて予測パラメータを調整することで過剰適応に陥り、新たな状況ではむしろ予測精度を下げてしまうという「過学習」という現象が起きるのが大きな問題であった。
【課題を解決するための手段】
【０００９】
本発明の好ましい一態様では、元データを入力して予測結果を出す情報処理システムにおいて、元データから、少なくとも第１のデータと第２のデータが生成される。第１のデータを用いて予測を行う第１の予測式は少なくとも一つのパラメータを有し、第１の予測式による第１の予測結果を用いて該パラメータを調整する第１の学習器を有する。第２のデータを用いて予測を行う第２の予測式は少なくとも一つのパラメータを有し、第２の予測式による第２の予測結果を用いて該パラメータを調整する第２の学習器を有する。そして、第１の学習器が調整するパラメータと第２の学習器が調整するパラメータに、共通のパラメータが少なくとも一つある。
【００１０】
本発明の好ましい他の一態様では、説明変数と第１の結果データの組からなる教師データを複数準備し、説明変数の組からなる第１の学習用データを複数準備し、複数のパラメータからなる予測パラメータを用いた予測式を用いて、第１の学習用データから第１の予測データを得、第１の結果データと第１の予測データの誤差が小さくなるように、予測パラメータを変更して第１の予測パラメータを得る。また、説明変数と第２の結果データの組からなる改変データを複数準備し、説明変数の組からなる第２の学習用データを複数準備し、予測パラメータを用いた予測式を用いて、第２の学習用データから第２の予測データを得、第２の結果データと第２の予測データの誤差が小さくなるように、予測パラメータを変更して第２の予測パラメータを得る。そして、第２の予測パラメータの変化に対する誤差の変化、および、第２の予測パラメータの変化に対する第２の結果データと第２の予測データの相関係数の変化、の少なくとも一つを評価して、予測パラメータから所定のパラメータを抽出し、第１の予測パラメータのうち、抽出した所定のパラメータに該当するパラメータについて、第１の予測パラメータを補正する。
【発明の効果】
【００１１】
従来の機械学習（ディープラーニング含む）が抱えていた、データが少ない事象に関しては、予測精度が低くなるという問題を回避することができる。
【図面の簡単な説明】
【００１２】
【図１】実施例の情報処理システムを示す概念図である。
【図２】実施例を構成する予測器を示すブロック図である。
【図３】実施例の情報処理システムの構成を示すブロック図である。
【図４】実施例の情報処理システムを構成する学習器２を示すブロック図である。
【図５】実施例の学習器２の処理フローを示す流れ図である。
【発明を実施するための形態】
【００１３】
実施の形態について、図面を用いて詳細に説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００１４】
以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
【００１５】
本明細書等における「第１」、「第２」、「第３」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【００１６】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
【００１７】
本明細書で引用した刊行物、特許および特許出願は、そのまま本明細書の説明の一部を構成する。
【００１８】
本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。
【００１９】
以下で説明される具体的な実施例では、過去のデータを使って予測誤差を小さくする従来の第１の学習サイクルに加え、意図的に間違ったデータをＡＩに入力することで、間違ったデータに影響をうけないことを学習する第２の学習サイクルを備える。これは、過去のデータから、反応すべき「シグナル」の特徴を学習するだけでなく、意味のない「ノイズ」に影響を受けないことをも学習するものである。
【００２０】
さらに好ましい形態では、人工知能から得られた結果の根拠を説明可能とするために、従来のディープラーニングが用いていた「多数決」に代わり、「和・積・否定」を基本要素として多層化したネットワーク構造により、予測式を構成する。
【００２１】
これにより、従来の機械学習（ディープラーニング含む）が抱えていた、データが少ない事象に関しては、予測精度が低くなるという問題を回避し、少ないデータでも高度な予測能力をもちつつ、その結果に対し、排他的に分解して説明することができるようにできる。
【実施例１】
【００２２】
図１は、本発明の情報処理システムの具体例を示す概念図である。この具体例では、元データ（１０１）を入力し、元データに含まれる教師データ（正解データ）を予測する精度のよい予測モデルを出力する。ここで、予測モデルとは、具体的には予測のためのアルゴリズムである予測器１（１０６）と、そのパラメータである予測パラメータ（１１２）である。
【００２３】
具体例として融資審査の予測を考える。元データは、融資先の情報（たとえば、住宅ローンなどの融資の申し込みデータに含まれる、性別、年齢、勤続年数、借り入れ金額、年収などの条件を規定する条件データ）であり、教師データは、融資の案件が貸し倒れになったかという過去の実績（結果）のデータすなわち、結果データである。条件データは説明変数に相当し、結果データは目的変数に相当する。様々な過去の融資先に関して、融資先の情報（説明変数）Ｍ個と貸し倒れしたかという教師データ（目的変数）１個の両者をあわせ、様々な融資先の過去の実績に関して、Ｎ個のデータセットを準備する。一件の融資は、Ｍ＋１個のデータからなるデータの束（即ちベクトル）で表される。このＭ＋１次元のベクトルデータを、Ｎ件分集めると、元データは、Ｎ行、Ｍ＋１列の表データあるいはデータベースやテキストデータになる。この情報処理システムは、融資の結果、その融資先が貸し倒れするかどうかを予測するモデル（予測式と予測パラメータ）を出力する。
【００２４】
この情報処理システムを融資予測の例で説明する。まず元データを計算機処理しやすい形態に前処理する（１０２）。たとえば、データに勤務先分類が含まれていることを考える分類としては、金融業、製造業、公務員などというカテゴリで分類されているとする。これを、申込者が金融業の時には、１、そうでないときには０という１と０の数値に置き換える。これは勤務先が金融業であることをあらわす数値になる。カテゴリで分類されるデータはこのようにして、１と０の数値情報（カテゴリ毎に複数のデータカラムになる）に変換することができる。
【００２５】
元データが数値データの場合を説明する。たとえば、年収の数値が入力されている場合には、これを年収の値を５段階に分類する。たとえば最も年収の高い分類を１億円以上とすれば、申込者の年収が１億円以上の場合には１とし、そうでない場合には０とする。これにより、年収のような数値情報も、０から１の正規化された情報に変換することができる。ただし、これを５つの分類すべてに行って１と０に変換すると、分類内の違いが丸められてしまう。たとえば、５００万円から１０００万円という分類に着目すると、５０１万円も９９９万円の申し込み者も同じカテゴリで同じ扱いになってしまう。これを避けるには、以下のようにする。たとえば、申し込み者の年収が５００万円以下の場合には０とし、１０００万円以上の場合には１とし、５００万円から１０００万円の場合には、（年収−５００万円）÷５００万円という式で０から１に変化する連続値（アナログ値）とする。これにより、年収に応じて、０から１の正規化された連続的に変化する数字にすることができる。これにより、元の連続的な変化の情報を丸めずに正規化することができる。
【００２６】
この加工済みデータ（１２３）から学習用データ１（１０５）をデータ抽出器１（１０４）によって抽出する。加工済みデータはＮ行あるとすれば、これを学習用のより小さな単位毎に学習を行う。このため、もとのデータからランダムにデータを抽出する。このために、乱数生成１（１０３）を用いる。生成した乱数に対応するデータ行を抽出することで、ランダムに抽出を行うことができる。このような抽出のルールは、学習前に予め利用者（オペレータ）が設定しておくことができる。
【００２７】
データ抽出器１の出力は二つある。ひとつは、学習用データ１（１０５）である。これは、説明変数を抽出したものである。もうひとつは、教師データ（１０７）である。これは学習用データ１（１０５）に対応する過去の実績（結果）データであり、融資の場合には、貸し倒れしたかどうかを１と０で数値化したものである（例えば、貸し倒れは「１」、貸し倒れでない場合は「０」とする）。
【００２８】
この学習用データ１（１０５）を予測器１（１０６）に入力し、貸し倒れの確率を予測する。この予測器１は、予測パラメータ（１１２）を組み込んだ予測式に基づき予測値を計算する。予測式の具体例については後ほど図２を用いて詳細に説明するが、いずれにせよ、予測パラメータを組み込んだ数式である。この予測パラメータは最初、適当な初期値（たとえば乱数生成３（１１０）で生成した乱数を用いる）にしておく。したがって、最初予測結果の予測データ１（１０８）と過去の教師データ（１０７）は全くあわない。即ち誤差が大きい。しかし、この予測誤差を計算可能である。学習器１（１０９）の中では、この予測誤差を下記のように計算する。
予測誤差＝（教師データの数値）−（予測データの数値）
【００２９】
そこで、予測式に含まれる予測パラメータ（１１２）のひとつひとつをわずかに変動（増加あるいは減少）させると、この予測誤差も変化する。予測誤差が小さくなるように予測パラメータを少しずつ変化（増減）させることで、予測誤差を小さくでき、予測式の精度を向上できる。
【００３０】
この予測パラメータ（１１２）の調整を行うのが学習器１（１０９）である。具体的には、予測誤差を予測パラメータで微分し、その微分係数に比例する大きさだけ、予測パラメータ（１１２）を変動させることにより、効率よく予測誤差を下げ、予測精度を向上することができる。この比例係数は、学習パラメータ１（１１１）の具体例のひとつである。このように学習器１（１０９）は、予測パラメータ（１１２）を調整することで、予測器１（１０６）→予測データ１（１０８）→学習器１（１０９）→予測パラメータ（１１２）→予測器１（１０６）という学習サイクル上の処理を実行することにより、予測精度をある程度まで向上することができる。このような学習サイクルは、従来の教師あり機械学習の技術で行なうことができる。
【００３１】
ところが、予測対象が、融資における貸し倒れのように、稀にしか起きない事象の場合には、この学習だけでは十分な予測精度が実現できないという問題がある。
【００３２】
一般に、発生頻度の低い事象においては、特定の状況でたまたま起きた事象にあわせて予測パラメータを調整することで過剰適応に陥り、新たな状況ではむしろ予測精度を下げてしまうという「過学習」という現象が起きやすくなる。
【００３３】
本実施例では、このような稀にしかおきない事象にも精度よく予測を行うために、第２の学習サイクルを設けている。これを以下に説明する。
【００３４】
加工済みデータ（１２３）からデータ抽出器２（１１４）が学習用データ２（１１５）を抽出する。加工済みデータはＮ行あるとすれば、これを学習用のより小さな単位毎に学習を行う。このため、もとのデータからランダムにデータを抽出する。このために、乱数生成２（１０３）を用いる。学習用データ２（１１５）は、学習用データ１（１０５）と同じでもよい。このとき、平行して、教師データ（１０７）とは敢えて異なる改変データ（１１９）を自動で生成する。改変データの作成方法としては、もともと貸し倒れしていたデータ群（もともとは貸し倒れが１だったケース）に対して、１と０を敢えて混在させて割り当てたり、貸し倒れしていないデータ群に対して、同様に１と０を混在して割り当てることもできる。乱数生成４（１２２）を使って、このような元データとは異なる（誤った）データを割り当てることもできる。学習用データ２（１１５）の抽出のためのルールは、予め利用者（オペレータ）が設定しておくことができる。また、学習用データ２（１１５）における教師データ（すなわち改変データ（１１９））は、元データ（１０１）からのデータを用いず、元データの説明変数に対して、異なるラベルあるいは数値を目的変数として与えることで生成が可能である。
【００３５】
学習器２（１２０）では、学習器１（１０９）と同様に教師あり学習を行ない、予測パラメータ（１１２）を学習する。ただし、教師となるデータは改変データ（１１９）である。そして、学習の後、学習器２（１２０）では、改変データ（１１９）が予測パラメータに与える反応の大きさを評価する（反応性評価）。
【００３６】
なお、本実施例では予測器１（１０６）と予測器２（１１６）では、アルゴリズム（予測器）は共通である必要はないが、予測に用いる特徴量は共通なものが含まれる必要がある。これにより、予測器１（１０６）と予測器２（１１６）とで特徴量間で対応がつけられるようにする。
【００３７】
反応性評価では、例えばこの教師にはならない（誤った）改変データ（１１９）と予測器２（１１６）で予測した予測データ２（１１７）を比較して、誤差を計算する。そして、学習器２（１２０）は、予測器２（１１６）の各予測パラメータの変化に対する、改変データ（１１９）と予測データ２（１１７）の誤差の変化量を計算して評価する。ある予測パラメータの変化に対して誤差の変化が大きければ、その予測パラメータは改変データに対して敏感に反応するパラメータであるといえる。誤差の変化の大きさは、単純な方法としては、誤差の変化とパラメータの変化との比例係数の大きさに着目する。
【００３８】
また、別の反応性評価の手法では、改変データ（１１９）と予測データ２（１１７）の相関係数を計算して類似性を数値化する。そして、予測器２による予測式に用いる特徴量の変化に対し、予測データ２（１１７）と改変データ（１１９）との間の相関係数を計算することでも数値化できる。もし、ある特徴量の変化に対して両者の相関係数の変化が大きければ、その特徴量は改変データに対して敏感に反応するパラメータであるといえる。すなわち、この手法では相関係数の変化の大きさに着目する。
【００３９】
そこで、この敏感に反応する特徴量に関係する予測器１（１０６）のパラメータを０に近づける。なぜなら、このパラメータは、データに含まれる誤った情報やノイズ、さらにデータが少ないためにおきやすいデータの偏りに対し、敏感に反応してしまうパラメータであるためである。具体的な手法としては、各パラメータに重み係数を割り当てておき、改変データに対して敏感に反応するパラメータに対しては、他のパラメータよりも小さな重み係数を割り当てる。パラメータを小さくする方法としては、そのパラメータが大きくなると誤差が大きく見えるようなペナルティを与えることで、実質的に、そのパラメータを小さくすることができる。
【００４０】
データ抽出器２（１１４）でのデータ抽出方法の一例として、具体的には下記が効果的である。データ抽出器２（１１４）では、学習用データ１（１０５）において教師データが１のケースｐ個を抽出し、これにまだ学習していない加工済みデータ（１２３）の中から、教師データが１のケースｑ個を追加する。このデータセットを、学習用データ２（１１５）として抽出する。この学習用データ２における教師データは、本来ｐ＋ｑ個の１ばかりからなるデータセットになる。ここで、ｑ個の１を０に反転する。従って、ｐ個の１とｑ個の０からなる改変データ（１１９）が作れる。これはもちろん現実とは異なるものであるが、これを学習させると、それに敏感に反応する予測パラメータの変化は大きくなる。このようなパラメータは、データの偏りやノイズに過敏に反応するパラメータなので、これを０に近づけることで、予測精度を向上することができる。具体的には、各パラメータに重みをつけておき、敏感に反応する予測パラメータについては、他のパラメータより重みを小さくすれば良い。なお、上記のｐ、ｑなどのパラメータは、利用者（オペレータ）が予め設定することができる。
【００４１】
この予測器２（１１６）→予測データ２（１１７）→学習器２（１２０）→予測パラメータ（１１２）→予測器２（１１６）からなる学習サイクルを、データ抽出器２（１１４）から抽出される様々なケースについて学習することで、反応すべきでないデータに対して鈍感になるための学習ができる。
【００４２】
以上説明したように、図１の左側の予測器１（１０６）→予測データ１（１０８）→学習器１（１０９）→予測パラメータ（１１２）→予測器１（１０６）という学習サイクルが、データに潜む、反応すべき兆候に敏感に反応することを学習する学習サイクルである。これに対し、右側の予測器２（１１６）→予測データ２（１１７）→学習器２（１２０）→予測パラメータ（１１２）→予測器２（１１６）の学習サイクルが、反応すべきでない兆候への鈍感さを学習する学習サイクルになる。
【００４３】
この両者の学習サイクルにより予測パラメータを学習することで、発生頻度が低い希な事業の予測精度を大幅に向上することができる。本実施例では、この両者の学習サイクルは同期して行なわれる。図１の左側の予測器１（１０６）を含む学習サイクルは、従来からあるディープニューラルネットワーク（ＤＮＮ）の学習方式を踏襲することができる。一方、図１の右側の予測器２（１１６）を含む学習サイクルは、従来からあるＤＮＮの学習方式を踏襲し、かつ、その学習結果に基づいて、左側の予測器１（１０６）を含む学習サイクルに基づく予測パラメータの変更を補正する。
【００４４】
なお、学習パラメータ１（１１１）、学習パラメータ２（１２１）は、それぞれの学習器１（１０９）、学習器２（１２０）に対して、学習を行なう前に利用者（オペレータ）が設定しておくものとする。学習パラメータを変更すると、学習結果（学習速度や予測精度）が変化するので、学習の結果を参照して利用者が学習パラメータを変更できるようにしておくのがよい。あるいは、学習パラメータを所定のルールで自動的に変更するようにしておき、各学習パラメータを用いたときの学習の結果に基づいて、好ましい学習パラメータを自動設定するようにしてもよい。
【００４５】
また、データ抽出器１（１０４）、データ抽出器２（１１４）によるデータ抽出ルールは、学習を行なう前に利用者（オペレータ）が設定しておくものとする。データ抽出ルールを変更すると、学習結果（学習速度や予測精度）が変化するので、学習の結果を参照して利用者がデータ抽出ルールを変更できるようにしておくのがよい。あるいは、データ抽出ルールを所定のルールで自動的に変更するようにしておき、各データ抽出ルールを用いたときの学習の結果に基づいて、好ましいデータ抽出ルールを自動設定するようにしてもよい。
【００４６】
図１の中の予測器１（１０６）および予測器２（１１６）は、従来用いられていたＤＮＮを適用することができる。一般的なＤＮＮの各層は通常非線形の演算を行なう。しかし、さらに金融や産業界などでの社会的責任を伴う判断に人工知能技術（機械学習を含む）を適用する際には、予測の根拠が人間に理解可能な形で提供されることが求められている。しかし、一般のディープラーニングでは、予測結果がなぜ正しいのかの根拠を説明するのが困難であり、ブラックボックスであることが適用を阻む壁になっている。
【００４７】
図２に、図１の中の予測器１（１０６）および予測器２（１１６）の他の構成の例を示す。図２の入力層（２０１）は、x1からxmというm個のベクトルデータを入力する層である。このデータは、たとえば融資の申込者の年収や性別などの属性情報が入る。
【００４８】
この図で矢印は、データの流れを示す。この入力されたデータが処理層（２１１）で処理され、出力層（２１２）に予測値を出力する。学習用データ１（１０５）に含まれる様々なケース（融資の場合には、融資の申し込み案件）毎にこの予測値を出力したものが、予測データ１（１０８）である。
【００４９】
処理層（２１１）は、単層ないし複数の層から構成され、処理層１（２０２）では、入力層の複数のデータ間で積を計算する。これをp1，p2，…，pkとする。図中で、
p1＝x1×x2、p2＝x1×x3である。ここで×は算術積あるいは論理積を意味する。この積処理により、p1には「x1が１であり、かつx2が１」という複合指標が生成され、より詳細な条件を表現できるようになる。p2以降についても同様である。
【００５０】
処理層２（２０３）では、処理層１で生成された多数の組み合わせ指標から重要な指標を選択する。この例では、p1，p3，pkは選択されたが、p2は選択されていない（矢印がつながっていない）。この選択を具体的に行うには、例えば、処理層１で生成された多数の指標間で相関を計算し、相関の絶対値によって、指標間の類似性を数値化する。これにより、類似な指標を固まり（クラスタ）としてまとめて、そのクラスタ毎に最も教師データと最も相関の高い指標を選択する。これにより、類似な指標を間引き、使用する指標を互いに独立性の高い指標にすることができる。指標が互いに独立であるほど、予測式は安定性が高まる。
【００５１】
処理層２で選択された指標（これをq1，q2，…qoとする)は処理層３（２０４）の入力になる。処理層３では、この指標を組合せて重みつき和を計算する。具体的には、
重み付つき和＝w1×q1＋w2×q2＋…
であり、ここでw1，w2，…はそれぞれの指標の重みである。重みの値が大きいということは、その指標を重視することに対応する。図１では、このq1，q2，…に相当する矢印が、破線にしているが、これは重みつきであることを区別するためである。
【００５２】
処理層３の出力は、さらに処理層４（２０５）の入力となる。処理層４では、重みつき和を非線形関数に入力する。非線形関数としては、シグモイド関数やしきい値以下では０しきい値以上では直線的に上昇するランプ関数を用いる。これにより、非線形な依存性を表現できる。処理層３の重みつき和と処理層４の非線形関数を合わせて多数決論理とも呼ぶ。
【００５３】
このように、図２で○によって表現した演算処理（積、選択、重みつき和、非線形関数）を組み合わせたり、順序を変えたり、ネットワークの接続形態を変えたりして、複雑な関数（予測式）を表現できる。また、重みつき和（２０４）に用いる重みや選択層（２０３）に用いる選択基準（例えば所定の相関以下の指標を独立なクラスタにする場合に、所定の相関値）をパラメータとして変化させることで、関数を柔軟に変化させることが可能である。図１において予測パラメータ（１１２）として表現したのは、これらの重みや選択基準等のパラメータを指している。
【００５４】
この図では４つ以上の処理層を含む例を示したが、最も単純な場合には、入力層の指標をそのまま出力させることも可能である。逆に、このような多様な処理層を多層に組み合わせて極めて複雑な予測式を作ることも可能である。
【００５５】
ここで、処理層を積と選択と重みつき和だけの組合せで構成し、出力層だけに非線形層を用いることで、予測式は、
Y＝σ[Σw(Πxi)]     σ[・]は非線形関数（例えばシグモイド関数）を表す。
(例えばy＝w1(x1)(x2)＋w2(x2)(x3)(x8)(x9)、この場合はσは恒等関数)
という形にすることができる。上記の例では、結果（出力）は「x1かつx2である」ことと、「x2かつx3かつx8かつx9である」ことによって決まっていることが分かる。このように、予測の結果を常にその要因に分解し、式を人が理解できる言葉で説明することが可能になる。これは従来のディープラーニングやニューラルネットにはない特徴である。
【００５６】
図３に本実施例のシステム構成図を示す。本実施例のハードウェア構成は、一般的な情報処理装置、例えばサーバで構成することができる。情報処理装置は、処理装置（３０１）と記憶装置を含む。記憶装置は、たとえばデータベース（３０２）、プログラム記憶装置（３０３）、演算記憶装置（３０４）を含む。また、図示しないが、情報処理装置として一般的な、入力装置および出力装置を備える。
【００５７】
処理装置（３０１）は、プログラム記憶装置（３０３）に格納された各種プログラムを実行する。
【００５８】
データベース（３０２）は、例えば磁気ディスク装置であって、予測パラメータ（１１２）、加工済みデータ（１２３）、元データ（１０１）、学習用データ１（１０５）、学習用データ２（１１５）、教師データ（１０７）、改変データ（１１９）、学習パラメータ１（１１１）、学習パラメータ２（１２１）等を記憶している。
【００５９】
プログラム記憶装置（３０３）は、前処理器（１０２）、乱数生成（１０３，１１３，１１０，１２２）、データ抽出器１（１０４）、データ抽出器２（１１４）、予測器１（１０６）、予測器２（１１６）、学習器１（１０９）、学習器２（１２０）等のプログラムを格納している。
【００６０】
演算記憶装置（３０４）は、データベース（３０２）やプログラム記憶装置（３０３）から読み出したデータを一時的に格納したり、処理装置（３０１）が演算などを行なう際のデータを格納する。プログラム記憶装置（３０３）や演算記憶装置（３０４）は、公知の各種半導体メモリを使用することができる。
【００６１】
本実施例では計算や制御等の機能は、プログラム記憶装置（３０３）に格納されたプログラムが処理装置（３０１）によって実行されることで、定められた処理を他のハードウェアと協働して実現される。計算機などが実行するプログラム、その機能、あるいはその機能を実現する手段を、「機能」、「手段」、「部」、「器」、「モジュール」等と呼ぶ場合がある。また、この構成は、単体のコンピュータで構成してもよいし、あるいは、入力装置、出力装置、処理装置、記憶装置の任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。また、本実施例中、プログラムを使用して構成した機能と同等の機能は、FPGA（Field Programmable Gate Array）、ASIC（Application Specific Integrated Circuit）などのハードウェアでも実現できる。そのような態様も本実施例の範囲に含まれる。
【００６２】
図４は学習器２（１２０）の詳細を示すブロック図である。学習器２（１２０）は、学習部（１２０１）と、反応性評価部（１２０２）と、パラメータ補正部（１２０３）を含む。
【００６３】
図５は学習器２（１２０）が行なう処理の流れ図である。処理Ｓ５０１で学習部（１２０１）は、改変データ（１１９）を教師データとして、従来の教師有り学習を行なう。ただし、既述のように改変データ（１１９）は、例えば本来「貸し倒れあり（１）」であった加工済みデータのいくつかを、「貸し倒れなし（０）」に変更したデータである。あるいは本来「貸し倒れなし（０）」であった加工済みデータのいくつかを、「貸し倒れあり（１）」に変更したデータでもよい。学習部（１２０１）での学習の結果、改変データ（１１９）との誤差が小さくなるように、予測パラメータが計算される。
【００６４】
処理Ｓ５０２で反応性評価部（１２０２）は、各パラメータの改変データ（１１９）に対する反応の敏感さを評価する（反応性評価）。このため、既述のように、例えば予測パラメータの変化に対する予測誤差の変化を評価する。そして、改変データに対して敏感な予測パラメータを抽出する。
【００６５】
処理Ｓ５０２でパラメータ補正部（１２０３）は、敏感なパラメータについて「鈍感になる」ような補正を行なう。そのための一つの方法は、Ｓ５０２で抽出した敏感なパラメータについては、学習器１（１０９）で学習したパラメータの値に他のパラメータより小さな重みをつける。あるいは、そのパラメータをゼロにする。このために、学習器２（１２０）は、予測パラメータ（１１２）を補正する。
【００６６】
他の方法としては、敏感なパラメータについては学習器１（１０９）における学習で、通常とは逆に予測誤差が大きくなるような学習を行なう。このためには、学習器２（１２０）は、学習器１（１０９）の特定のパラメータについて、学習アルゴリズムに補正を加える。予測誤差が大きくなるような学習を行なうことにより、改変データの影響をより強く抑制することができる。以上は、敏感なパラメータを「鈍感にする」具体例であるが、これら複数の方式を組み合わせても良い。
【実施例２】
【００６７】
別の例では、図１において、元データを変えることで、この同じ情報処理システムを、投資判断のための予測にも用いることができる。この場合には、元データは、投資先の会社の経営情報や財務情報や対象市場の状況を表す数値群（Ｍ個）である。教師データは、投資の結果投資先から得られたリターン（たとえば得られた配当の額）の実績のデータ１個である。様々な投資先Ｎ件に関して、この投資先の情報と結果のリターンの情報を入力し、未知の投資先に投資したときに、どれほどリターンが得られるかのモデルを出力する。
【００６８】
元となるデータとしては、Ｍ＋１列、Ｎ行のデータセットになり、これを表形式やテキストやデータベースの形態で元データ（１０１）に入力する。
【００６９】
これ以外にも、サプライチェーンにおける在庫や欠品の予測に用いることが可能になる。この場合には、在庫や欠品などの状況、納期、曜日、天気などの情報を説明変数にして、結果の在庫や欠品（受注残）の量を教師データ（目的変数）にして表形式のデータを入力することができる。
【００７０】
プラントにおける事故の予測に用いることも可能である。この場合には、プラントから収集された温度や圧力などのセンサ値や従業員の特徴（経験他）を説明変数とし、結果として事故が起きたかを教師データにする。
【００７１】
さらに、製造ラインにおける不良の予測が可能になる。製造装置の稼働情報や温度などの条件、さらに環境温度や材料の仕入れ先などの情報を説明変数にし、教師データ（目的変数）に不良の有無を入力する。
【００７２】
新商品のヒットの予測にも用いることが可能である。これまでの商品の属性（製品カテゴリ、色、名称の特徴、値段など）や投入時期などを説明変数にし、発売後の売上を教師データ（目的変数）にすることができる。
【００７３】
本発明は、説明変数と教師データからなるデータを準備できれば、ここに挙げた以外の幅広い用途に適用することができる。
【００７４】
以上説明した実施例では、機械学習を用いて、データから予測のモデル式を生成する際、発生頻度が低い稀な事象では、特定の状況でたまたま起きた事象にあわせてパラメータを調整することで過剰適応に陥り、予測精度を下げてしまうという「過学習」が起きるという点に着目した。そして、過去のデータを使って予測誤差を小さくする第１の学習に加え、意図的に間違ったデータをＡＩに入力することで、間違ったデータに影響をうけないことを学習する第２の学習サイクルを備える構成を提案している。
【符号の説明】
【００７５】
１０１・・・元データ
１０２・・・前処理器
１０３・・・乱数生成１
１０４・・・データ抽出器１
１０５・・・学習用データ１
１０６・・・予測器１
１０７・・・教師データ
１０８・・・予測データ１
１０９・・・学習器１
１１０・・・乱数生成３
１１１・・・学習パラメータ１
１１２・・・予測パラメータ
１１３・・・乱数生成２
１１４・・・データ抽出器２
１１５・・・学習用データ２
１１６・・・予測器２
１１７・・・予測データ２
１１９・・・教師データとは異なる改変データ
１２０・・・学習器２
１２１・・・学習パラメータ２
１２２・・・乱数生成４
１２３・・・加工済みデータ
【図１】
2019109648.tif 000003
【図２】
2019109648.tif 000004
【図３】
2019109648.tif 000005
【図４】
2019109648.tif 000006
【図５】
2019109648.tif 000007