(57)【要約】【課題】予測器を構成する決定木が不必要に大きくならないように、予測器を学習することができるようにする。【解決手段】事前予測器構成部２４が、事前予測器集合を構成する。初期目標予測器設定部３０が、初期状態の目標予測器集合を構成する。学習サンプル選択部３２が、学習サンプル集合から、学習サンプルを選択する。目標予測器補正部３４が、目標予測器集合、及び選択学習サンプルを用いて、学習サンプル付随情報に基づいて、目標予測器を構成する決定木に新たなノードを追加するか否かを判定し、選択学習サンプルに適合するように目標予測器集合を補正する。反復判定部３６が、反復終了条件を満たすまで、学習サンプル選択部３２及び目標予測器補正部３４の処理を繰り返し実行させる。【選択図】図１
2018026020.tif 000002
【特許請求の範囲】
【請求項１】
多次元ベクトルとして表現される学習サンプル特徴量と前記学習サンプル特徴量の付随情報である学習サンプル付随情報とで構成される学習サンプルの集合である学習サンプル集合から、前記多次元ベクトルと前記付随情報との関係性を表現する、決定木によって構成された予測器である出力予測器の集合である出力予測器集合を構築する予測器学習方法であって、
事前予測器構成部が、前記出力予測器を構成するための初期的な予測器である事前予測器の集合である事前予測器集合を構成する、事前予測器構成ステップと、
初期目標予測器設定部が、前記事前予測器集合から初期状態の目標予測器集合を構成する、初期目標予測器設定ステップと、
学習サンプル選択部が、前記学習サンプル集合から、任意に学習サンプルを選択するか、もしくは与えられた順序で学習サンプルを選択する、学習サンプル選択ステップと、
目標予測器補正部が、前記目標予測器集合、及び前記学習サンプル選択部によって選択された学習サンプルである選択学習サンプルを用いて、前記選択学習サンプルに適合するように前記目標予測器集合を補正する、目標予測器補正ステップと、
反復判定部が、予め定められた反復終了条件を満たすまで、前記学習サンプル選択部による学習サンプル選択ステップ、及び前記目標予測器補正部による目標予測器補正ステップを繰り返し実行させる、反復判定ステップと、
を含み、
前記目標予測器補正ステップでは、前記目標予測器補正部が、前記選択学習サンプルに適合するように目標予測器を補正する際に、前記選択学習サンプルの前記学習サンプル付随情報に基づいて、前記目標予測器を構成する決定木に新たなノードを追加するか否かを判定し、新たなノードを追加すると判定された場合、前記目標予測器を構成する決定木に新たなノードを追加するように前記目標予測器を補正することを特徴とする、予測器学習方法。
【請求項２】
前記目標予測器を構成する決定木の各ノードが、前記多次元ベクトルの各次元における最小値と最大値により決定される範囲情報である学習サンプル存在範囲情報、前記学習サンプルを当該ノードから子ノードへ移動させる際に、何れの子ノードへ移動させるかを決定するための分岐関数、及び当該ノードにおける前記学習サンプル特徴量と前記学習サンプル付随情報との関係性に関する情報である学習サンプル関係性情報を保持し、
前記目標予測器補正ステップは、
選択学習サンプル入力部が、各目標予測器に対し、前記目標予測器を構成する決定木の根ノードに前記選択学習サンプルを入力し、前記選択学習サンプルが位置するノードを注目ノードとして設定する、選択学習サンプル入力ステップと、
新規ノード追加判定部が、各目標予測器に対し、前記選択学習サンプル、前記注目ノードにおける前記学習サンプル存在範囲情報、及び前記学習サンプル関係性情報を用いて，前記注目ノードの親もしくは子に新たなノードを追加するか否かを判定する、新規ノード追加判定ステップと、
新規ノード追加部が、前記新規ノード追加判定部によって前記注目ノードの親もしくは子に新たなノードを追加すると判定された場合に、所定の位置にノードを追加すると共に、追加されたノードである追加ノード、前記注目ノード、並びに前記追加ノード及び前記注目ノードの子ノードの各々における前記学習サンプル存在範囲情報、前記分岐関数、及び前記学習サンプル関係性情報を更新する、新規ノード追加ステップと、
注目ノード更新部が、前記選択学習サンプル、及び前記注目ノードの分岐関数を用いて、現在の注目ノードの子ノードの何れかに注目ノードを移動する、注目ノード更新ステップと、
目標予測器更新部が、前記注目ノードが葉ノードに到達するまで、前記新規ノード追加判定部による新規ノード追加判定ステップ、前記新規ノード追加部による新規ノード追加ステップ、及び前記注目ノード更新部による注目ノード更新ステップを繰り返し実行させ、注目ノードとなった葉ノードの前記学習サンプル存在範囲情報及び前記学習サンプル関係性情報を更新することで、前記目標予測器を構成する決定木を更新する、目標予測器更新ステップと、
を含むことを特徴とする、請求項１に記載の予測器学習方法。
【請求項３】
前記事前予測器構成ステップでは、前記学習サンプル集合の部分集合である事前サンプル集合を用いて前記事前予測器集合を構成し、
前記学習サンプル選択ステップでは、前記学習サンプル集合に代えて、前記事前サンプル集合とは異なる前記学習サンプルの部分集合である目標サンプル集合から、前記選択学習サンプルを選択することを特徴とする、請求項１又は２に記載の予測器学習方法。
【請求項４】
学習サンプル分配部が、前記目標サンプル集合を分割して構成した部分集合である分配学習サンプル集合を複数構成する、目標サンプル分配ステップと、
目標予測器集約部が、前記分配学習サンプル集合の各々を用いて構成した目標予測器集合である分配目標予測器集合を入力とし、前記分配目標予測器集合を集約することで、目標予測器集合を構成する、目標予測器集約ステップと、
を更に含み、
前記初期目標予測器設定ステップでは、前記事前予測器集合から、複数の目標予測器集合である分配目標予測器集合を構成し、
前記学習サンプル選択ステップ、前記目標予測器補正ステップ、及び前記反復判定ステップの各々が、並列分散処理で実行され、
前記学習サンプル選択ステップでは、前記学習サンプル集合に代えて前記分配学習サンプル集合を用いて、前記分配学習サンプル集合から前記選択学習サンプルを選択し、
前記目標予測器補正ステップでは、前記目標予測器集合に代えて前記分配目標予測器集合を用いて、前記分配目標予測器集合を補正することを特徴とする、請求項３に記載の予測器学習方法。
【請求項５】
目標予測器順次補正部が、予め定められた反復終了条件を満たすまで、前記学習サンプル分配部による目標サンプル分配ステップ、前記学習サンプル選択部による学習サンプル選択ステップ、前記目標予測器補正部による目標予測器補正ステップ、前記反復判定部による反復判定ステップ、及び前記目標予測器集約部による目標予測器集約ステップを繰り返し実行させ、
繰り返し実行する際に、前記目標予測器集約部によって構成された前記目標予測器集合から、複数の分配目標予測器集合を構成する目標予測器順次補正ステップを更に含む請求項４に記載の予測器学習方法。
【請求項６】
前記出力予測器集合を構成する各予測器が、前記多次元ベクトルからクラスラベルを予測する分類予測器、又は前記多次元ベクトルから目標値を予測する回帰予測器である請求項１〜請求項５の何れか１項に記載の予測器学習方法。
【請求項７】
多次元ベクトルとして表現される学習サンプル特徴量と前記学習サンプル特徴量の付随情報である学習サンプル付随情報とで構成される学習サンプルの集合である学習サンプル集合から、前記多次元ベクトルと前記付随情報との関係性を表現する、決定木によって構成された予測器である出力予測器の集合である出力予測器集合を構築する予測器学習装置であって、
前記出力予測器を構成するための初期的な予測器である事前予測器の集合である事前予測器集合を構成する、事前予測器構成部と、
前記事前予測器集合から初期状態の目標予測器集合を構成する、初期目標予測器設定部と、
前記学習サンプル集合から、任意に学習サンプルを選択するか、もしくは与えられた順序で学習サンプルを選択する、学習サンプル選択部と、
前記目標予測器集合、及び前記学習サンプル選択部によって選択された学習サンプルである選択学習サンプルを用いて、前記選択学習サンプルに適合するように前記目標予測器集合を補正する、目標予測器補正部と、
予め定められた反復終了条件を満たすまで、前記学習サンプル選択部による選択、及び前記目標予測器補正部による補正を繰り返し実行させる、反復判定部と、
を含み、
前記目標予測器補正部は、前記選択学習サンプルに適合するように目標予測器を補正する際に、前記選択学習サンプルの前記学習サンプル付随情報に基づいて、前記目標予測器を構成する決定木に新たなノードを追加するか否かを判定し、新たなノードを追加すると判定された場合、前記目標予測器を構成する決定木に新たなノードを追加するように前記目標予測器を補正することを特徴とする、予測器学習装置。
【請求項８】
コンピュータに、請求項１〜請求項６の何れか１項に記載の予測器学習方法の各ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予測器学習方法、装置、及びプログラムに関する。
【背景技術】
【０００２】
Web、ソーシャルメディア、Machine to Machine (M2M)の普及により、様々な種類のデータが膨大に存在するビッグデータ時代に突入している。それら膨大なデータを処理するビッグデータ処理基盤の重要な構成要素として、データの背後に潜む法則や知識を導き出す機械学習技術への需要が高まっている。機械学習において、大量のデータを集めることは、求めるべき法則や知識を導き出す上で有利になる一方で、そのための計算量が増大するという問題を生じさせる。この計算量増大の問題を解決する一つのアプローチとして、保持する大量のデータをごく小規模の部分データに分割して、分割された部分データに対して逐次的に機械学習モデルを更新する、オンライン学習がある。このオンライン学習の導入により、非常に大規模なデータに対しても高速かつ省メモリでの機械学習が実現可能となる。
【０００３】
このオンライン学習技術として、非特許文献１に記載のMondrian Forestsが知られている。このMondrian Forestsは、機械学習における主要な問題の一つである分類問題に適した技術であり、決定木を弱学習器として用いるアンサンブル学習器として広く知られているrandom forestsを、オンラインで学習する方法を提供している。より具体的には、（１）決定木の各ノードが当該ノードに到達した学習サンプルが存在する範囲に関する情報を保持し（図１３）、（２）与えられた部分データに適合するように決定木を更新する際に、決定木の構造をすべて更新するのではなく、学習サンプルに関する範囲情報を参照することで、更新が必要と判断されたノードとその周辺のみでノードを追加もしくは更新する（図１４）。これにより、計算コストを抑えた効率的な学習手段を提供するものである。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Lakshminarayanan, Roy, and Teh , “Mondrian forests: Efficient online random forests,“ Advances in Neural Information Processing Systems, pp. 3140-3148, 2014.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、非特許文献１に記載のMondrian Forestsは、ノードの追加更新が必要であるかどうかを判断する際に、分類問題の教師信号であるラベル情報を用いていない。そのため、ラベル情報を適切に把握できていれば追加更新が不要であったノードも追加更新が必要と判断されることになり、決定木が不必要に大きくなる問題が生じる（図１５）。決定木が大きくなると、その保持のために必要となるメモリ量が増大するだけではなく、学習が完了したrandom forestsを分類に用いる際に、その計算コストが増大し、場合によっては分類性能も低下する。
【０００６】
本発明は、上記の事情を考慮してなされたものであり、予測器を構成する決定木が不必要に大きくならないように、予測器を学習することができる予測器学習方法、装置、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係る予測器学習方法は、多次元ベクトルとして表現される学習サンプル特徴量と前記学習サンプル特徴量の付随情報である学習サンプル付随情報とで構成される学習サンプルの集合である学習サンプル集合から、前記多次元ベクトルと前記付随情報との関係性を表現する、決定木によって構成された予測器である出力予測器の集合である出力予測器集合を構築する予測器学習方法であって、事前予測器構成部が、前記出力予測器を構成するための初期的な予測器である事前予測器の集合である事前予測器集合を構成する、事前予測器構成ステップと、初期目標予測器設定部が、前記事前予測器集合から初期状態の目標予測器集合を構成する、初期目標予測器設定ステップと、学習サンプル選択部が、前記学習サンプル集合から、任意に学習サンプルを選択するか、もしくは与えられた順序で学習サンプルを選択する、学習サンプル選択ステップと、目標予測器補正部が、前記目標予測器集合、及び前記学習サンプル選択部によって選択された学習サンプルである選択学習サンプルを用いて、前記選択学習サンプルに適合するように前記目標予測器集合を補正する、目標予測器補正ステップと、反復判定部が、予め定められた反復終了条件を満たすまで、前記学習サンプル選択部による学習サンプル選択ステップ、及び前記目標予測器補正部による目標予測器補正ステップを繰り返し実行させる、反復判定ステップと、を含み、前記目標予測器補正ステップでは、前記目標予測器補正部が、前記選択学習サンプルに適合するように目標予測器を補正する際に、前記選択学習サンプルの前記学習サンプル付随情報に基づいて、前記目標予測器を構成する決定木に新たなノードを追加するか否かを判定し、新たなノードを追加すると判定された場合、前記目標予測器を構成する決定木に新たなノードを追加するように前記目標予測器を補正することを特徴とする。
【０００８】
本発明に係る予測器学習装置は、多次元ベクトルとして表現される学習サンプル特徴量と前記学習サンプル特徴量の付随情報である学習サンプル付随情報とで構成される学習サンプルの集合である学習サンプル集合から、前記多次元ベクトルと前記付随情報との関係性を表現する、決定木によって構成された予測器である出力予測器の集合である出力予測器集合を構築する予測器学習装置であって、前記出力予測器を構成するための初期的な予測器である事前予測器の集合である事前予測器集合を構成する、事前予測器構成部と、前記事前予測器集合から初期状態の目標予測器集合を構成する、初期目標予測器設定部と、前記学習サンプル集合から、任意に学習サンプルを選択するか、もしくは与えられた順序で学習サンプルを選択する、学習サンプル選択部と、前記目標予測器集合、及び前記学習サンプル選択部によって選択された学習サンプルである選択学習サンプルを用いて、前記選択学習サンプルに適合するように前記目標予測器集合を補正する、目標予測器補正部と、予め定められた反復終了条件を満たすまで、前記学習サンプル選択部による選択、及び前記目標予測器補正部による補正を繰り返し実行させる、反復判定部と、を含み、前記目標予測器補正部は、前記選択学習サンプルに適合するように目標予測器を補正する際に、前記選択学習サンプルの前記学習サンプル付随情報に基づいて、前記目標予測器を構成する決定木に新たなノードを追加するか否かを判定し、新たなノードを追加すると判定された場合、前記目標予測器を構成する決定木に新たなノードを追加するように前記目標予測器を補正することを特徴とする。
【０００９】
本発明に係るプログラムは、コンピュータに、上記の予測器学習方法の各ステップを実行させるためのプログラムである。
【発明の効果】
【００１０】
以上説明したように、本発明の予測器学習方法、装置、及びプログラムによれば、前記選択学習サンプルに適合するように目標予測器を補正する際に、前記選択学習サンプルの前記学習サンプル付随情報に基づいて、前記目標予測器を構成する決定木に新たなノードを追加するか否かを判定することにより、予測器を構成する決定木が不必要に大きくならないように、予測器を学習することができる、という効果が得られる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施の形態に係る予測器学習装置の一構成例を示すブロック図である。
【図２】本発明の第１の実施の形態に係る目標予測器補正部の詳細な一構成例を示すブロック図である。
【図３】ノード追加判定の方法を説明するための図である。
【図４】本発明の第１の実施の形態に係る予測器学習装置における予測器学習処理ルーチンの内容を示すフローチャートである。
【図５】本発明の第１の実施の形態に係る予測器学習装置における目標予測器集合を補正する処理の流れを示すフローチャートである。
【図６】本発明の第２の実施の形態に係る予測器学習装置の一構成例を示すブロック図である。
【図７】本発明の第２の実施の形態に係る目標予測器構成部の詳細な一構成例を示すブロック図である。
【図８】本発明の第２の実施の形態に係る予測器学習装置における予測器学習処理ルーチンの内容を示すフローチャートである。
【図９】本発明の第２の実施の形態に係る予測器学習装置における分配目標予測器集合を構成する処理の流れを示すフローチャートである。
【図１０】実験結果を示す図である。
【図１１】実験結果におけるワーカノードの数と、学習時間及び識別誤差との関係を示す図である。
【図１２】実験結果におけるワーカノードの数と、学習時間及び識別誤差との関係を示す図である。
【図１３】Ｍｏｎｄｒｉａｎ  Ｆｏｒｅｓｔｓの構造を示す図である。
【図１４】Ｍｏｎｄｒｉａｎ  Ｆｏｒｅｓｔｓによる学習方法を説明するための図である。
【図１５】Ｍｏｎｄｒｉａｎ  Ｆｏｒｅｓｔｓにおける問題点を説明するための図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施の形態を詳細に説明する。本発明の実施の形態では、多次元ベクトルとして表現される学習サンプル特徴量とその付随情報である学習サンプル付随情報とで構成される学習サンプルの集合である学習サンプル集合から、特徴量と付随情報との関連性を決定木によって表現する出力予測器の集合である出力予測器集合を構築する予測器学習装置に、本発明を適用した場合を例に説明する。
【００１３】
［第１の実施の形態］
＜システム構成＞
図１は、本発明の第１の実施の形態に係る予測器学習装置１００を示すブロック図である。予測器学習装置１００は、学習サンプル集合を入力し、出力予測器集合を学習する装置であり、具体的にはＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）と、ＲＡＭと、後述する予測器学習処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００１４】
予測器学習装置１００は、入力部１０、演算部２０、及び出力部４０を備えている。
【００１５】
入力部１０は、多次元ベクトルとして表現される学習サンプル特徴量とその付随情報である学習サンプル付随情報とで構成される学習サンプルの集合である学習サンプル集合を受け付ける。
【００１６】
学習サンプル付随情報の具体的な内容は、目的とする予測器によって異なる。目的の予測器が分類器、すなわち多次元ベクトルからクラスラベルを予測する分類問題を解くための予測器を構築する場合には、学習サンプル付随情報にクラスラベルを含む必要がある。また、目的の予測器が回帰器、すなわち多次元ベクトルから目標値を予測する回帰問題を解くための予測器を構築する場合には、学習サンプル付随情報に目標値を含む必要がある。付随情報に含まれる情報はこの限りではなく、予測器を構築する上で有用な情報であればいかなる形態の情報も利用可能である。
【００１７】
演算部２０は、事前予測器構成部２４及び目標予測器構成部２６を備えている。
【００１８】
事前予測器構成部２４は、入力部１０によって受け付けた学習サンプル集合を必要に応じて入力し、出力予測器を構成するための初期的予測器である事前予測器の集合である事前予測器集合を構成し、この事前予測器集合を出力する。
【００１９】
事前予測器集合を構成する方法は特に限定されるものではないが、以下では２通りの方法について述べる。
【００２０】
第１の方法は、学習サンプル集合を用いずに決定木を構成し、これを事前予測器とする方法である。例えば、ただ１つのノードで決定木を構成するなどの方法が考えられる。本実施形態における決定木のノードは、以下に示す分岐関数、学習サンプル存在範囲情報、及び学習サンプル関係性情報の３つの情報を保持する。
【００２１】
（１）分岐関数は、サンプルを当該ノードからその子ノードに移動させる際に、どちらの子ノードを選択するべきかを決定するための関数である。例えば、多次元ベクトルを入力とする識別関数
2018026020.tif 000003
（ただし、ｔとｍはそれぞれ決定木とノードのインデックス、Ｃはクラス数）が用いられ、多次元ベクトル
2018026020.tif 000004
に対する識別関数の応答ｆt,m（ｘ）が閾値θt,mより小さいときに左の子ノードに移動させ、そうでないときに右の子ノードに移動させる。
【００２２】
（２）学習サンプル存在範囲情報は、当該ノードに到達した学習サンプルが存在する範囲である。例えば、学習サンプル特徴量の各次元における最小値と最大値によって範囲が記述される。
【００２３】
（３）学習サンプル関係性情報は、当該ノードに到達した学習サンプルにおける多次元ベクトルと付随情報との関係性を記述した情報である。目的の予測器が分類器である場合には、例えば、当該ノードに到達した学習サンプルのクラスラベルの頻度を学習サンプル関係性情報として保持する。また、目的の予測器が回帰器である場合には、例えば、当該ノードに到達した学習サンプルに含まれる多次元ベクトルと目標値から学習した、多次元ベクトルから目標値を予測する回帰関数
2018026020.tif 000005
を学習サンプル関係性情報として保持する。
【００２４】
また、決定木の各ノードは、それまでに当該ノードに到達した学習サンプルの履歴を保持する。
【００２５】
本方法では学習サンプル集合を用いずに事前予測器の決定木を構成するため、分岐関数及び学習サンプル存在範囲情報を設定せずに、学習サンプル関係性情報をランダムに決定するなどの方法で設定する。
【００２６】
第２の方法は、学習サンプル集合の一部を事前サンプル集合として抽出し、事前サンプル集合を用いて事前予測器を構成する方法である。具体的な構成方法は特に限定されるものではないが、例えば、目的の予測器が分類器の場合には非特許文献２の方法で事前予測器を構成でき、目的の予測器が回帰器の場合には非特許文献３に記載の方法で事前予測器を構成できる。
【００２７】
［非特許文献２］：Breiman, “Random forests,” Machine Learning, Vol.45, pp.5-32, 2001.
【００２８】
［非特許文献３］：Criminisi, Shotton and Konukoglu, “Decision forests: A unified framework for classification, regression, density estimation, manifold learning and semi-supervised learning,” Foundations and Trends in Computer Graphics and Vision, Vol.7, No.2-3, pp.81-237, 2012.
【００２９】
目標予測器構成部２６は、学習サンプル集合及び事前予測器集合を入力し、学習サンプル集合に適合した予測器である目標予測器の集合である目標予測器集合を、事前予測器集合を基に構成し、この目標予測器集合を出力予測器集合として出力する。
【００３０】
目標予測器の構成方法は特に限定されるものではないが、本実施形態では、目標予測器構成部２６が、初期目標予測器設定部３０と、学習サンプル選択部３２と、目標予測器補正部３４と、反復判定部３６とを含んで構成される場合を例に説明する。
【００３１】
初期目標予測器設定部３０は、事前予測器集合を入力し、この事前予測器集合を用いて、目標予測器集合の初期状態を設定し、この目標予測器集合を出力する。
【００３２】
目標予測器集合の初期状態を設定する方法は特に限定されるものではないが、本実施形態では、事前予測器集合をそのまま目標予測器集合の初期状態とする。
【００３３】
学習サンプル選択部３２は、学習サンプル集合を入力し、学習サンプル集合から任意に選択し、もしくは与えられた順序で学習サンプルを選択し、選択された学習サンプルである選択学習サンプルを出力する。
【００３４】
選択学習サンプルを選択する方法は特に限定されるものではないが、本実施形態では、実用上重要となる以下の２つの方法について述べる。
【００３５】
第１の方法は、学習サンプル集合にあらかじめ順序が定められており、その順序に従って選択学習サンプルを選ぶ方法である。本方法は、学習サンプル集合が最初からすべて与えられるのではなく、オンラインで順に入力される場合に適している。
【００３６】
第２の方法は、学習サンプル集合からランダムに選択する方法である。本方法は、学習サンプル集合がすべて与えられている場合に採用可能である。
【００３７】
目標予測器補正部３４は、これまでに構成された目標予測器集合及び選択学習サンプルを入力し、選択学習サンプルに適合するように目標予測器集合を補正し、補正した目標予測器集合を出力する。
【００３８】
目標予測器集合を補正する方法は特に限定されるものではないが、本実施形態においては、図２に示すように、目標予測器補正部３４が、選択学習サンプル入力部５０と、新規ノード追加判定部５２と、新規ノード追加部５４と、注目ノード更新部５６と、目標予測器更新部５８とを含んで構成されている場合を例に説明する。
【００３９】
選択学習サンプル入力部５０は、選択学習サンプル及び目標予測器集合を入力し、目標予測器集合の各目標予測器を構成する決定木の根ノードに選択学習サンプルを与え、選択学習サンプルが位置するノードを注目ノードとして設定し、目標予測器ごとに設定された注目ノードをまとめた集合である注目ノード集合を出力する。すなわち、選択学習サンプル入力部５０の出力は、各目標予測器を構成する決定木の根ノードの集合となる。
【００４０】
新規ノード追加判定部５２は、選択学習サンプル、目標予測器集合、及び注目ノード集合を入力し、注目ノードにおける学習サンプル存在範囲情報、及び学習サンプル関係性情報を参照することで、注目ノードの親もしくは子に新たなノードを追加するかどうかを判定し、目標予測器ごとに得られた判定結果であるノード追加判定結果をまとめた集合であるノード追加判定結果集合を出力する。
【００４１】
ノード追加の判定方法は特に限定されるものではないが、本実施形態においては、選択学習サンプルを構成する学習サンプル付随情報である選択学習サンプル付随情報と、注目ノードにおける学習サンプル存在範囲情報及び学習サンプル関係性情報とを利用した方法について述べる。非特許文献１に示す方法では、ノード追加の判定に学習サンプル存在範囲情報のみを利用していたが、本実施形態では、さらに、選択学習サンプル付随情報、及び学習サンプル関係性情報を利用することで、不必要に新規ノードを追加することを防ぐことが可能となる。
【００４２】
図３に、新規ノード追加判定部５２による判定方法の概要を示す。
【００４３】
（１）まず、現在の注目ノードにおける学習サンプル存在範囲情報から、現在の選択学習サンプル特徴量が存在範囲の中にあるかどうかを判断する。選択学習サンプル特徴量が存在範囲の中にあるときには、「新規ノードを追加せず、注目ノードの情報も更新しない」ことを示すノード追加判定結果を出力する。
【００４４】
（２）存在範囲の外にある場合、さらに、現在の注目ノードの学習サンプル関係性情報を用いてノードを追加するかどうかを判定する。
【００４５】
（２−１）目的の予測器が分類器である場合、学習サンプル関係性情報から、現在の注目ノードにおける最頻クラスラベルを知ることができる。この最頻クラスラベルが選択学習サンプル付随情報、すなわち選択学習サンプルのクラスラベルと一致する場合には、「新規ノードは追加しないが、注目ノードの情報は更新する」ことを示すノード追加判定結果を出力する。一致しない場合には、「新規ノードを追加し、注目ノードの情報も更新する」ことを示すノード追加判定結果を出力する。
【００４６】
（２−２）目的の予測器が回帰器である場合、学習サンプル関係性情報から回帰関数ｇt,mが得られる。このとき、例えば、この回帰関数を用いて選択学習サンプル特徴量から推定した目標値と、選択学習サンプル付随情報を構成する目標値との差が、あらかじめ定められた閾値よりも大きくなる際に、「新規ノードを追加し、注目ノードの情報も更新する」ことを示すノード追加判定結果を出力する。そうでない場合には、「新規ノードは追加しないが、注目ノードの情報は更新する」ことを示すノード追加判定結果を出力する。
【００４７】
上述した新規ノード追加判定を目標予測器ごとに実行し、ノード追加判定結果集合を得る。
【００４８】
新規ノード追加部５４は、選択学習サンプル、目標予測器集合、注目ノード集合、及びノード追加判定結果集合を入力し、ノード追加判定結果に応じて注目ノードが属する目標予測器に新規ノード（追加ノード）を追加すると共に、ノード追加判定結果に応じて、追加ノード、注目ノード、及びそれらの子ノードが保持する情報を更新し、更新された目標予測器集合を出力する。
【００４９】
新規ノードの追加及びノード情報の更新についての方法は、特に限定されるものではないが、本実施形態では、例えば以下のような方法を採用する。
【００５０】
まず、新規ノードの追加方法について述べる。ノード追加判定結果において新規ノードを追加すると判定された場合にのみ、新規ノードを追加し、そうでない場合には何もしない。
【００５１】
（１）まず、分岐関数ｆt,mと選択学習サンプル特徴量ｘを用いて、選択学習サンプルがどちらの子ノードに移動することになるかを判定する。判定方法は事前予測器構成部２４と同様である。
【００５２】
（２）次に、移動先として指定された子ノードと注目ノードとの間に新規に追加ノードを追加する。以降の説明の便宜上、本追加ノードを追加ノードＡと呼ぶ。すなわち、この追加ノードＡは、注目ノードの子であり、移動先ノードの親となる。
【００５３】
（３）続いて、この追加ノードＡの子に葉ノードを追加する。この葉ノードを追加ノードＢと呼ぶ。ここまでの操作によって、追加ノードＡ及び追加ノードＢの２個が追加され、更新前の目標予測器が二分決定木であれば更新後の予測器も二分決定木となる。
【００５４】
（４）さらに、二つの追加ノードに、分岐関数、学習サンプル存在範囲情報、及び学習サンプル関係性情報を設定する。追加ノードＢは葉ノードであり、現在の選択学習サンプルのみが到達する。そのため、追加ノードＢについては、分岐関数及び学習サンプル存在情報を設定せず、学習サンプル関係性情報を現在の選択学習サンプルのみから計算して設定する。一方、追加ノードＡには、追加ノードＢではない子ノードに到達したサンプルに加え、現在の選択学習サンプルが到達する。そのため、追加ノードＡでは、分岐関数が追加ノードＢではない子ノードに到達したサンプルと現在の選択学習サンプルとを識別するように設定され、学習サンプル存在範囲情報及び学習サンプル関係性情報が、追加ノードＢではない子ノードに到達したサンプルと現在の選択学習サンプルとから計算される。
【００５５】
ノード追加判定結果において注目ノードを更新すると判定された場合には、注目ノードの分岐関数、学習サンプル存在範囲情報、及び学習サンプル関係性情報を更新する。
【００５６】
学習サンプル存在範囲情報は、現在の選択学習サンプルを含むように範囲を拡げることで更新する。学習サンプル関係性情報は、これまでに注目ノードに到達した学習サンプルに加えて、選択学習サンプルを含むように更新される。目的の予測器が分類器である場合には、注目ノードが保持していた学習サンプル関係性情報、すなわちクラスラベルの頻度分布に、現在の選択学習サンプル付随情報、すなわちクラスラベルを１つ追加することで更新できる。目的の予測器が回帰器である場合には、注目ノードに到達した学習サンプルと選択学習サンプルを合わせた集合から、回帰関数ｇt,mを予測し直すことで更新する。
【００５７】
分岐関数は、学習サンプル付随情報を考慮して更新する。非特許文献１に記載の方法では、学習サンプル付随情報を用いずに分岐関数を更新するため、目的の予測器を改善する分岐関数を設計できるとは限らない。それに対し本実施形態の方法では、学習サンプル付随情報を用いることでこの問題を解決する。具体的な方法は以下の通りである。
【００５８】
（１）まず、分岐関数の候補をランダムに複数生成する。このとき、分岐関数に利用する多次元ベクトルの次元の位置や個数に制約を設けることも可能である。
【００５９】
（２）次に、評価関数を用いてこれら生成した分岐関数候補を評価する。目的の予測器が分類器である場合には、以下の式に示す情報利得を評価関数とする。
【００６０】
【数１】
2018026020.tif 000006
【００６１】
ここで、ＳLは注目ノードの一方の子ノードに到達した学習サンプルの集合、ＳRは注目ノードのもう一方の子ノードに到達した学習サンプルの集合、Ｅ（Ｓ）は学習サンプル集合Ｓについての情報エントロピー、ｐc（Ｓ）はクラスラベルｃを持つ学習サンプル集合Ｓ内のサンプル数の比率を、それぞれ表す。目的の予測器が回帰器である場合には、以下の式に示す、回帰偏差に関する評価関数を利用する。
【００６２】
【数２】
2018026020.tif 000007
【００６３】
ここで、ｙ（ｓ）は学習サンプルｓを構成する学習サンプル付随情報、すなわち回帰の目標値である。
【００６４】
（３）そして、評価関数の出力値が最大となる分岐関数候補を分岐関数として決定する。
【００６５】
上記の通り、目標予測器ごとに新規ノードの追加及びノード情報の更新を行い、更新された目標予測器集合を出力する。
【００６６】
注目ノード更新部５６は、目標予測器集合、選択学習サンプル、及び注目ノード集合を入力し、目標予測器ごとに、選択学習サンプル及び注目ノードの学習サンプル関係性情報を用いて、現在の注目ノードの子のいずれかに注目ノードを移動し、移動後の注目ノードをまとめた注目ノード集合を出力する。
【００６７】
注目ノードの更新方法は特に限定されるものではないが、本実施形態では、例えば、選択学習サンプル特徴量ｘを分岐関数ｆt,mに与えることで、選択学習サンプルをどちらの子ノードに移動させるかを決定し、移動先の子ノードを注目ノードとする方法が考えられる。
【００６８】
目標予測器更新部５８は、新規ノード追加判定部５２、新規ノード追加部５４、及び注目ノード更新部５６の各処理を、注目ノードが葉ノードに到達するまで繰り返し実行させ、最終的に注目ノードとなった葉ノードの学習サンプル存在範囲情報及び学習サンプル関係性情報を更新することで各目標予測器を更新し、更新された目標予測器をまとめた目標予測器集合を出力する。学習サンプル存在範囲情報及び学習サンプル関係性情報の更新方法は、新規ノード追加部５４と同様である。
【００６９】
以上の方法により、目標予測器補正部３４は、目標予測器集合を補正し、補正した目標予測器集合を出力する。
【００７０】
反復判定部３６は、予め定められた反復終了条件を満たすまで、学習サンプル選択部３２及び目標予測器補正部３４の各処理を繰り返し実行させ、最終的な目標予測器集合を出力部４０により出力する。
【００７１】
以上の方法により、目標予測器構成部２６は、目標予測器集合を構成し、この目標予測器集合を出力予測器集合として出力する。
【００７２】
＜予測器学習装置の作用＞
次に、第１の実施の形態に係る予測器学習装置１００の作用について説明する。まず、学習サンプル集合が、予測器学習装置１００に入力されると、予測器学習装置１００によって、図４に示す予測器学習処理ルーチンが実行される。
【００７３】
まず、ステップＳ１００において、事前予測器構成部２４が、事前予測器集合を構成する。
【００７４】
ステップＳ１０２では、初期目標予測器設定部３０が、上記ステップＳ１００で構成された事前予測器集合を用いて、目標予測器集合の初期状態を設定する。
【００７５】
そして、ステップＳ１０４において、学習サンプル選択部３２が、入力された学習サンプル集合を入力し、学習サンプル集合から任意にもしくは与えられた順序で学習サンプルを選択し、選択された学習サンプルである選択学習サンプルを出力する。
【００７６】
ステップＳ１０６では、目標予測器補正部３４が、上記ステップＳ１０２で設定された、又はステップＳ１０６で前回補正された目標予測器集合、及び上記ステップＳ１０４で選択された選択学習サンプルを入力し、選択学習サンプルに適合するように目標予測器集合を補正し、補正した目標予測器集合を出力する。
【００７７】
ステップＳ１０８では、予め定められた反復終了条件を満たしたか否かを判定し、反復終了条件を満たしていない場合には、上記ステップＳ１０４へ戻り、ステップＳ１０４、Ｓ１０６の処理を繰り返す。一方、反復終了条件を満たした場合には、ステップＳ１１０において、最終的な目標予測器集合を出力部４０により出力して、予測器学習処理ルーチンを終了する。
【００７８】
上記ステップＳ１０６は、目標予測器集合の各目標予測器について、図５に示す処理ルーチンを実行することにより実現される。
【００７９】
ステップＳ１２０において、選択学習サンプル入力部５０は、上記ステップＳ１０４で選択された選択学習サンプル、及び上記ステップＳ１０２で設定された、又はステップＳ１０６で前回補正された当該目標予測器を入力し、当該目標予測器を構成する決定木の根ノードに選択学習サンプルを与え、選択学習サンプルが位置するノードを注目ノードとして設定する。
【００８０】
ステップＳ１２２では、新規ノード追加判定部５２は、上記ステップＳ１０４で選択された選択学習サンプル、上記ステップＳ１０２で設定された、又はステップＳ１０６で前回補正された当該目標予測器、及び上記ステップＳ１２０又はステップＳ１２８で設定された注目ノードを入力し、注目ノードにおける学習サンプル存在範囲情報、及び学習サンプル関係性情報を参照することで、注目ノードの親もしくは子に新たなノードを追加するか否か、及び注目ノードの情報を更新するか否かを判定し、ノード追加判定結果を出力する。
【００８１】
「新規ノードを追加せず、注目ノードの情報も更新しない」と判定された場合には、ステップＳ１２８へ移行する。「新規ノードは追加しないが、注目ノードの情報は更新する」と判定された場合には、ステップＳ１２６へ移行する。
【００８２】
「新規ノードを追加し、注目ノードの情報も更新する」と判定された場合には、ステップＳ１２４へ移行する。
【００８３】
ステップＳ１２４では、新規ノード追加部５４は、上記ステップＳ１０４で選択された選択学習サンプル、上記ステップＳ１０２で設定された、又はステップＳ１０６で前回補正された当該目標予測器、及び上記ステップＳ１２０又はステップＳ１２８で設定された注目ノードを入力し、注目ノードが属する目標予測器に新規ノード（追加ノード）を追加する。
【００８４】
ステップＳ１２６では、新規ノード追加部５４は、上記ステップＳ１０４で選択された選択学習サンプル、上記ステップＳ１０２で設定された、又はステップＳ１０６で前回補正された当該目標予測器、及び上記ステップＳ１２０又はステップＳ１２８で設定された注目ノードを入力し、追加ノード、注目ノード、及びそれらの子ノードが保持する情報を更新して、更新された当該目標予測器を出力する。
【００８５】
ステップＳ１２８では、注目ノード更新部５６が、上記ステップＳ１０６で補正された当該目標予測器、上記ステップＳ１０４で選択された選択学習サンプル、及び上記ステップＳ１２０又はステップＳ１２８で設定された注目ノードを入力し、選択学習サンプル及び注目ノードの学習サンプル関係性情報を用いて、現在の注目ノードの子のいずれかに注目ノードを移動し、注目ノードを設定する。
【００８６】
ステップＳ１３０では、目標予測器更新部５８は、注目ノードが葉ノードに到達したか否かを判定し、注目ノードが葉ノードに到達していない場合には、上記ステップＳ１２２へ戻り、ステップＳ１２２〜ステップＳ１２８の処理を繰り返す。一方、注目ノードが葉ノードに到達した場合には、ステップＳ１２２〜ステップＳ１２８の処理の繰り返しを終了して、ステップＳ１３２へ移行し、最終的に注目ノードとなった葉ノードの学習サンプル存在範囲情報及び学習サンプル関係性情報を更新することで当該目標予測器を更新して、処理ルーチンを終了する。
【００８７】
以上説明したように、第１の実施の形態に係る予測器学習装置によれば、目標予測器集合の各目標予測器について、選択学習サンプルに適合するように目標予測器を補正する際に、選択学習サンプルの学習サンプル付随情報に基づいて、目標予測器を構成する決定木に新たなノードを追加するか否かを判定することにより、予測器を構成する決定木が不必要に大きくならないように、予測器を学習することができる。
【００８８】
また、本実施の形態では、Mondrian Forestsによるrandom forestsのオンライン学習において、新規ノード追加判定部５２が、現在注目するノードの周辺でノードを追加もしくは更新する必要があるかどうかを、学習サンプル付随情報を考慮して決定し、新規ノード追加部５４が、ノードを追加もしくは更新する際に、当該ノードに到達したサンプルがいずれの子ノードに進むべきかを決定するための分岐関数を、学習サンプル付随情報を考慮して決定することにより、ラベル情報を適切に考慮して、学習に要する計算コストを大幅に増大させることなく、決定木が不必要に大きくなることを防ぐことができる。
【００８９】
[第２の実施の形態]
＜システム構成＞
次に、本発明の第２の実施の形態について説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【００９０】
第２の実施の形態では、予測器集合を学習する処理を、並列分散処理により行う点が、第１の実施の形態と異なっている。
【００９１】
図６に示すように、第２の実施の形態に係る予測器学習装置２００の演算部２２０は、学習サンプル集合記憶部２２、事前予測器構成部２４、初期目標予測器設定部２３０、学習サンプル分配部２３２、複数の目標予測器構成部２２６、目標予測器集約部２２７、及び目標予測器順次補正部２２８を備えている。
【００９２】
学習サンプル集合記憶部２２には、入力部１０によって受け付けた学習サンプル集合が格納される。
【００９３】
本実施形態では、学習サンプル集合は、出力予測器集合を構成する前に利用する事前サンプル集合と、出力予測器集合を構成するために利用する目標サンプル集合という、２つの異なるサンプル集合によって構成されるものとする。
【００９４】
事前予測器構成部２４は、学習サンプル集合記憶部２２に格納されている事前サンプル集合を必要に応じて入力し、出力予測器を構成するための初期的予測器である事前予測器の集合である事前予測器集合を構成し、この事前予測器集合を出力する。
【００９５】
事前予測器集合を構成する方法は特に限定されるものではないが、本実施形態では、第１の実施形態で説明した第２の方法、すなわち、事前サンプル集合を用いて事前予測器を構成する方法を採用する。
【００９６】
初期目標予測器設定部２３０は、目標予測器集合を所定の数だけ構成し、構成された目標予測器集合を、分配目標予測器集合と呼ぶこととする。なお、目標予測器集合を構成する方法は、第１の実施形態と同様である。なお、第１の実施形態と同様に目標予測器集合を１つ構成するようにしてもよい。
【００９７】
初期目標予測器設定部２３０は、２回目以降の場合、すなわち、目標予測器順次補正部２２８から戻る際、目標予測器集約部２２７で構成された目標予測器集合を分割あるいは複製することで、複数の分配目標予測器集合を構成する。
【００９８】
学習サンプル分配部２３２は、学習サンプル集合記憶部２２に記憶されている学習サンプル集合を入力し、学習サンプル集合を複数の集合に分割し、この分割されたサンプル集合である分配学習サンプル集合を複数構成して出力する。
【００９９】
分配学習サンプル集合を構成する方法については、特に限定されるものではないが、例えば、目標サンプル集合を所定の数で分割する方法、目標サンプル集合の中から所定の数のサンプルを選択する方法などが考えられる。
【０１００】
複数の目標予測器構成部２２６は、並列分散処理により、複数の分配学習サンプル集合及び複数の分配目標予測器集合から、複数の分配目標予測器集合を構成する。目標予測器構成部２２６の各々は、分配学習サンプル集合及び分配目標予測器集合を入力し、分配目標予測器集合を基に、分配学習サンプル集合に適合するように分配目標予測器集合を構成し出力する。
【０１０１】
目標予測器の構成方法は特に限定されるものではないが、本実施形態では、図７に示すように、目標予測器構成部２２６が、学習サンプル選択部３２、目標予測器補正部３４、及び反復判定部３６を含んで構成されている場合を例に説明する。
【０１０２】
学習サンプル選択部３２は、第１の実施形態とほぼ同様であるが、分配学習サンプル集合を入力とする点、分配学習サンプル集合からサンプルを選択する点、この２点で異なる。本実施形態においては、学習サンプル選択部３２が、分配学習サンプル集合からサンプル選択することから、選択されたサンプルを、分配選択学習サンプルと呼ぶこととする。
【０１０３】
目標予測器補正部３４は、これまでに構成された分配目標予測器集合及び分配選択学習サンプルを入力し、分配選択学習サンプルに適合するように分配目標予測器集合を補正し、補正した分配目標予測器集合を出力する。
【０１０４】
目標予測器補正部３４の構成は、入出力の名称が異なる以外は、第１の実施形態とほぼ同様であるが、以下の点に注意する必要がある。すなわち、分配学習サンプル集合が複数構成されることから、分配選択学習サンプルも複数選択される、という点である。これにより、分配目標予測器集合も複数構成され、異なる分配目標予測器集合は異なる分配選択学習サンプルにより更新される。初期目標予測器設定部２３０で分配目標予測器集合の初期状態を１つしか構成しない場合には、所定の数だけこの初期状態を複製して利用する。
【０１０５】
反復判定部３６は、第１の実施形態と同様に、予め定められた反復終了条件を満たすまで、学習サンプル選択部３２及び目標予測器補正部３４の各処理を繰り返し実行させ、最終的な分配目標予測器集合を出力する。
【０１０６】
目標予測器集約部２２７は、複数の目標予測器構成部２２６から出力された複数の分配目標予測器集合を入力し、これらの分配目標予測器集合を集約することで目標予測器集合を構成し、この目標予測器集合を出力する。
【０１０７】
複数の分配目標予測器集合を集約する方法は、特に限定されるものではないが、本実施形態では、以下の２つの方法について説明する。
【０１０８】
第１の方法は、入力された複数の分配目標予測器集合を結合し、一つの予測器集合とする方法である。
【０１０９】
第２の方法は、複数の分配目標予測器集合を結合した後に、予測性能の低い予測器を削除することで、目標予測器集合を構成する方法である。目的の予測器が分類器である場合には、例えば、非特許文献４に記載された、別途用意した評価用サンプルの事後確率に基づくスコア関数を用いる方法が利用可能である。目的の予測器が回帰器である場合にも類似の方法を適用することができ、事後確率に代えて、予測目標値と真の目標値との誤差に基づくスコア関数を用いれば良い。
【０１１０】
［非特許文献４］：若山，木村，山下，山内，藤吉 “並列分散処理における共編量シフトを導入したRandom Forestsの学習,” 電子情報通信学会技術報告，PRMU2014-193，2015年．
【０１１１】
目標予測器順次補正部２２８は、予め定められた反復終了条件を満たすまで、初期目標予測器設定部２３０、学習サンプル分配部２３２、複数の目標予測器構成部２２６、及び目標予測器集約部２２７の各処理を繰り返し実行させることにより、目標予測器集合を順次補正し、補正された目標予測器集合を出力部４０により出力する。
【０１１２】
＜予測器学習装置の作用＞
次に、第２の実施の形態に係る予測器学習装置２００の作用について説明する。なお、第１の実施の形態と同様の処理については、同一符号を付して詳細な説明を省略する。
【０１１３】
まず、学習サンプル集合が、予測器学習装置２００に入力されると、予測器学習装置２００によって、入力された学習サンプル集合が、学習サンプル集合記憶部２２へ格納される。そして、予測器学習装置２００によって、図８に示す予測器学習処理ルーチンが実行される。
【０１１４】
まず、ステップＳ１００において、事前予測器構成部２４が、事前予測器集合を構成する。
【０１１５】
ステップＳ２００では、初期目標予測器設定部２３０が、上記ステップＳ１００で構成された事前予測器集合を用いて、複数の分配目標予測器集合の初期状態を設定する。
【０１１６】
そして、ステップＳ２０２において、学習サンプル分配部２３２が、学習サンプル集合記憶部２２に格納されている目標サンプル集合を入力し、複数の分配学習サンプル集合を構成する。
【０１１７】
ステップＳ２０４では、複数の目標予測器構成部２２６が、上記ステップＳ２００で設定された、又は後述するステップＳ２１０で構成された複数の分配目標予測器集合、及び上記ステップＳ２０２で構成された複数の分配学習サンプル集合を入力し、並列分散処理により、複数の分配目標予測器集合を構成する。
【０１１８】
ステップＳ２０６では、目標予測器集約部２２７が、上記ステップＳ２０４で構成された複数の分配目標予測器集合を集約して、目標予測器集合を構成する。
【０１１９】
ステップＳ２０８では、予め定められた反復終了条件を満たしたか否かを判定し、反復終了条件を満たしていない場合には、ステップＳ２１０において、上記ステップＳ２０６で構成された目標予測器集合を用いて、複数の分配目標予測器集合を構成して、上記ステップＳ２０２へ戻り、ステップＳ２０２〜Ｓ２０６の処理を繰り返す。一方、反復終了条件を満たした場合には、ステップＳ１１０において、最終的な目標予測器集合を出力部４０により出力して、予測器学習処理ルーチンを終了する。
【０１２０】
上記ステップＳ２０４は、複数の目標予測器構成部２２６の各々が、図９に示す処理ルーチンを実行することにより実現される。
【０１２１】
ステップＳ１０４では、学習サンプル選択部３２が、上記ステップＳ２０２で構成された分配学習サンプル集合を入力し、分配学習サンプル集合から任意にもしくは与えられた順序で学習サンプルを選択し、選択された学習サンプルである分配選択学習サンプルを出力する。
【０１２２】
ステップＳ２１２では、目標予測器補正部３４が、上記ステップＳ２００で設定された、又は上記ステップＳ２１０で構成された、又は前回補正された分配目標予測器集合、及び上記ステップＳ１０４で選択された分配選択学習サンプルを入力し、分配選択学習サンプルに適合するように分配目標予測器集合を補正し、補正した分配目標予測器集合を出力する。
【０１２３】
ステップＳ１０８では、予め定められた反復終了条件を満たしたか否かを判定し、反復終了条件を満たしていない場合には、上記ステップＳ１０４へ戻り、ステップＳ１０４、Ｓ２１２の処理を繰り返す。一方、反復終了条件を満たした場合には、ステップＳ２１４において、最終的な分配目標予測器集合を出力して、処理ルーチンを終了する。
【０１２４】
上記ステップＳ２１２は、分配目標予測器集合の各目標予測器について、第１の実施の形態と同様に、上記図５に示す処理ルーチンを実行することにより実現される。
【０１２５】
以上説明したように、第２の実施の形態に係る予測器学習装置によれば、複数の目標予測器構成部２２６が、並列分散処理により、複数の分配目標予測器集合を構成することにより、効率的に目標予測器集合を学習することができる。
【０１２６】
＜実験結果＞
上述した第２の実施の形態の手法を検証するために、UCI Machine Learning Repositoryで配布されているデータセットの一つであるLetter Recognitionデータセットを用いた。このLetter Recognitionデータセットは、サンプル数20000、特徴次元数16、クラス数26の分類問題用のデータセットである。このデータセットのうち、事前サンプルとして所定の数（以降で別途定める）、目標サンプルとして9335個、評価用サンプルとして6000個のサンプルを、それぞれに選択して利用した。
【０１２７】
上記のように選択した事前サンプルと目標サンプルを用いて、（事前＋目標）予測器の学習に要する計算時間と、学習した予測器を用いて評価用サンプルを分類した際の分類誤差を、いくつかの方法で計測して比較した。並列分散学習を行う際のワーカノードの数と分配学習サンプル集合の数は同一とし、1から10まで変化させて計算時間と分類誤差を計測した。
【０１２８】
比較対象となる従来手法（ＲＦ）はいずれもrandom forestに基づく手法である。
【０１２９】
従来手法（ＲＦ）は、Random forestを並列分散処理で学習する既存手法（非特許文献１、２など）に対応している。具体的には、以下のように学習した。目標予測器を構成する際には、学習サンプル分配部で各ワーカノードに分配された分配学習サンプル集合のみを用いて、通常のrandom forestを用いて目標予測器を構成する。予測器を集約する際には、各ワーカノードで構成した目標予測器を全て集めることで出力予測器集合を構成する。いずれの手順においても事前予測器集合を用いないため、事前予測器を構成する処理は省略でき、計算時間も分類誤差も事前サンプル集合の数に依存しない。
【０１３０】
提案手法（TF2000）は、目標予測器構成部２２６で事前サンプルを2000個としたときの提案方法であり、提案手法（TF4000）は、目標予測器構成部２２６で事前サンプルを4000個としたときの提案方法である。
【０１３１】
Random forestを構成するパラメータはいずれの手法においても同一とし、決定木の総数を50、決定木の深さを15とした。
【０１３２】
計算時間及び分類誤差の比較を図１０、図１１に示す。図１０、図１１では、従来手法 (RF)と提案手法 (TF2000/4000)の比較を示している。図１１の横軸がワーカノードの数、縦軸が各性能を示す。実線が予測器の学習に要した計算時間、破線が学習した予測器で評価用サンプルを分類した際の分類誤差を、それぞれ示す。
【０１３３】
全体的な傾向として、ワーカノードの数を増やす（横軸を右に移動する）と、計算時間は減少し、分類誤差は悪化することが見て取れる。また、提案手法 (TF2000/4000)は、従来手法 (RF)と比較して、計算時間がやや増加するものの、その差はワーカノードの数を増やすことで減少し、分類誤差が数％改善することが見て取れる。提案手法のみで比較すると、ワーカノードの数が多くなるに従って、事前サンプル数による分類誤差の差がほとんどなくなることもわかる。
【０１３４】
また、事前サンプル数を100,2000,4000,6000と変動させた際の計算時間と分類誤差を図１２に示す。横軸がワーカノードの数、縦軸が各性能、実線が計算時間、破線が分類誤差である点は、図１１と同様である。各線はそれぞれ、事前サンプル数が100, 2000, 4000, 6000としたときの性能をそれぞれ示す。
【０１３５】
この図１２から、事前サンプル数が多くなるほど、計算時間が短く、分類誤差が良くなる傾向があることがわかる。また、図１１と比較することにより、事前サンプル数が極端に少ない場合(100)には、分類誤差が従来手法(RF)よりも悪化する場合もあることを示している。
【０１３６】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１３７】
例えば、上記第２の実施の形態では、予測器学習装置の複数の目標予測器構成部２２６が、並列分散処理により、複数の分配目標予測器集合を構成する場合を例に説明したが、これに限定されるものではなく、複数の装置が、並列分散処理により、複数の分配目標予測器集合を構成するようにしてもよい。
【０１３８】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１３９】
１０   入力部
２０、２２０  演算部
２２   学習サンプル集合記憶部
２４   事前予測器構成部
２６   目標予測器構成部
３０   初期目標予測器設定部
３２   学習サンプル選択部
３４   目標予測器補正部
３６   反復判定部
４０   出力部
５０   選択学習サンプル入力部
５２   新規ノード追加判定部
５４   新規ノード追加部
５６   注目ノード更新部
５８   目標予測器更新部
１００，２００       予測器学習装置
２２６ 目標予測器構成部
２２７ 目標予測器集約部
２２８ 目標予測器順次補正部
２３０ 初期目標予測器設定部
２３２ 学習サンプル分配部
【図１】
2018026020.tif 000008
【図２】
2018026020.tif 000009
【図３】
2018026020.tif 000010
【図４】
2018026020.tif 000011
【図５】
2018026020.tif 000012
【図６】
2018026020.tif 000013
【図７】
2018026020.tif 000014
【図８】
2018026020.tif 000015
【図９】
2018026020.tif 000016
【図１０】
2018026020.tif 000017
【図１１】
2018026020.tif 000018
【図１２】
2018026020.tif 000019
【図１３】
2018026020.tif 000020
【図１４】
2018026020.tif 000021
【図１５】
2018026020.tif 000022