(57)【要約】【課題】  ランダム・フォレストを利用しつつも、さらに精度の良い出力予測を行うことができる機械学習技術を提供すること。【解決手段】  所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習装置であって、所定の入力データを取得する入力データ取得部と、前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成部と、少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新部と、を備える機械学習装置が提供される。【選択図】図３
2020008919.tif 000002
【特許請求の範囲】
【請求項１】
所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習装置であって、  所定の入力データを取得する入力データ取得部と、  前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成部と、  少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新部と、を備える機械学習装置。
【請求項２】
前記出力ネットワークは、  各前記決定木の末端ノードと重みを介して結合した出力ノードを含む、請求項１に記載の機械学習装置。
【請求項３】
前記入力データは、前記学習対象データセットから選択されたデータである、請求項１に記載の機械学習装置。
【請求項４】
前記決定木出力と前記重みとに基づいて、前記出力ノードにおいて前記予測出力を生成する予測出力生成部をさらに含み、  前記パラメータ更新部は、さらに、  前記教師データと前記予測出力との差分に基づいて前記重みを更新する重み更新部を備える、請求項２に記載の機械学習装置。
【請求項５】
前記パラメータ更新部は、さらに、  前記決定木出力たる予測ラベルと前記教師データたる正解ラベルとが一致するか否かを判定するラベル判定部と、  前記ラベル判定部による判定結果に基づいて、前記重みを更新する重み更新部を備える、請求項２に記載の機械学習装置。
【請求項６】
前記複数の決定木は、前記学習対象データセットからランダムにデータを選択することにより生成された複数のサブデータセット毎に生成されたものである、請求項１に記載の機械学習装置。
【請求項７】
前記複数の決定木は、各前記サブデータセットに基づいて情報利得が最大となる分岐条件を選択することにより生成された決定木である、請求項６に記載の機械学習装置。
【請求項８】
所定の学習対象データセットに基づいて生成された複数の決定木を用いた予測装置であって、  所定の入力データを取得する入力データ取得部と、  前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成部と、  各前記決定木の末端ノードと重みを介して結合する出力ノードを含む出力ネットワークに基づいて、予測出力を生成する出力予測部と、を備える予測装置。
【請求項９】
各前記決定木出力は数値出力であり、  前記予測出力は、前記数値出力と前記重みとの積を決定木の数分足し合わせた総和に基づいて生成される、請求項８に記載の予測装置。
【請求項１０】
各前記決定木出力は所定のラベルであり、  前記予測出力たる出力ラベルは、対応する重みの総和が最大となるラベルである、請求項８に記載の予測装置。
【請求項１１】
前記決定木の有効度を前記出力ネットワークのパラメータに基づいて生成する有効度生成部をさらに備える、請求項１に記載の予測装置。
【請求項１２】
前記有効度に基づいて、置換、交換又は削除の対象となる前記決定木を決定する決定木選定部をさらに備える、請求項１１に記載の予測装置。
【請求項１３】
所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習方法であって、  所定の入力データを取得する入力データ取得ステップと、  前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、  少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新ステップと、を備える機械学習方法。
【請求項１４】
コンピュータを、所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習装置として機能させるための機械学習プログラムであって、  所定の入力データを取得する入力データ取得ステップと、  前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、  少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新ステップと、を備える機械学習プログラム。
【請求項１５】
所定の学習対象データセットに基づいて生成された複数の決定木を用いた予測方法であって、  所定の入力データを取得する入力データ取得ステップと、  前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、  各前記決定木の末端ノードと重みを介して結合する出力ノードを含む出力ネットワークに基づいて、予測出力を生成する出力予測ステップと、を備える予測方法。
【請求項１６】
コンピュータを、所定の学習対象データセットに基づいて生成された複数の決定木を用いた予測装置として機能させるための予測プログラムであって、  所定の入力データを取得する入力データ取得ステップと、  前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、  各前記決定木の末端ノードと重みを介して結合する出力ノードを含む出力ネットワークに基づいて、予測出力を生成する出力予測ステップと、を備える予測プログラム。
【請求項１７】
所定の学習対象データセットに基づいて生成された複数の決定木と、  各決定木の末端と重みを介して結合された出力ノードを含む出力ネットワークと、からなる学習済モデルであって、  所定の入力データが入力された場合に、前記入力データに基づいて、各前記決定木の出力である決定木出力が生成され、各前記決定木出力と各前記重みとに基づいて前記出力ノードにおいて予測出力が生成される、学習済モデル。
【発明の詳細な説明】
【技術分野】
【０００１】  この発明は、所定の入力データに基づいて回帰的に予測出力を演算したり、入力データに対応する分類を特定することが可能な機械学習技術に関する。
【背景技術】
【０００２】  従来より、所定の入力データに基づいて回帰的に予測出力を演算したり、入力データに対応する分類を特定することが可能な、所謂、ランダム・フォレストと呼ばれる機械学習技術が知られている。例えば、非特許文献１には、ランダム・フォレストの一例が開示されている。【０００３】  図１１〜図１４を参照しつつ、ランダム・フォレストと呼ばれる機械学習技術の一例について説明する。ランダム・フォレストは、学習処理段階と予測処理段階とを有する。まずは、学習処理段階について説明する。【０００４】  図１１は、学習対象データセットに対する所定の前処理に関する概念図である。学習対象データセットは、複数のデータセットから構成されたデータ集合である。このデータ集合から重複を許してランダムにデータを抽出し、同図の通り、Ｔ個のサブデータセットを生成する。【０００５】  図１２は、各サブデータセットから生成される決定木に関する説明図であり、図１２（ａ）は、決定木の構造の一例を表す説明図である。同図から明らかな通り、決定木は、基端となる根ノード（図中最上段のノード）から末端の葉ノード（同図中最下段のノード）へと至る木構造を有している。各ノードには、閾値θ１〜θ４との大小関係により定まる分岐条件が対応付けられている。これにより、根ノードから入力された入力データは、最終的に葉ノードＡ〜葉ノードＥのいずれかの葉ノードへと対応付けられることとなる。【０００６】  同図から明らかな通り、葉ノードＡには、ｘ１≦θ１、かつ、ｘ２≦θ２の条件を満たすデータが対応付けられる。葉ノードＢには、ｘ１≦θ１、かつ、ｘ２＞θ２の条件を満たすデータが対応付けられる。葉ノードＣには、ｘ１＞θ１、ｘ２≦θ３、かつ、ｘ１≦θ４の条件を満たす入力が対応付けられる。葉ノードＤには、ｘ１＞θ１、ｘ２≦θ３、かつ、ｘ１＞θ４の条件を満たす入力が対応付けられる。葉ノードＥには、ｘ１＞θ１、かつ、ｘ２＞θ３の条件を満たす入力が対応付けられる。【０００７】  図１２（ｂ）は、図１２（ａ）に示す決定木構造を２次元入力空間上で示したものである。このような決定木が、分割軸や分割値をランダムに設定することで、各サブデータセットに対して複数生成される。【０００８】  次に、各サブデータセットに対応して生成された複数の決定木の中から、情報利得が最大となる一の決定木を特定する方法について説明する。情報利得ＩＧは、下記の情報利得関数により算出される。なお、ＩＧはジニ不純度、Ｄｐは親ノードのデータセット、Ｄｌｅｆｔは左子ノードのデータセット、Ｄｒｉｇｈｔは右子ノードのデータセット、Ｎｐは親ノードのサンプルの総数、Ｎｌｅｆｔは左子ノードのサンプルの総数、及び、Ｎｒｉｇｈｔは右子ノードのサンプルの総数を表している。【数１】
2020008919.tif 000003
【０００９】  なお、ジニ不純度ＩＧは、以下の式により算出される。【数２】
2020008919.tif 000004
【００１０】  図１３を参照しつつ、情報利得の計算例を示す。図１３（ａ）は、情報利得の計算例（その１）であり、４０個と４０個に分類されているデータが、さらに左経路の先で３０個と１０個、右経路の先で１０個と３０個とに分類された場合を示している。まず、親ノードのジニ不純度を計算すると以下の通りとなる。【数３】
2020008919.tif 000005
【００１１】  一方、左子ノードのジニ不純度と、右子ノードのジニ不純度は、以下の通りである。【数４】
2020008919.tif 000006
【数５】
2020008919.tif 000007
【００１２】  従って、情報利得は、以下の通り計算される。【数６】
2020008919.tif 000008
【００１３】  一方、図１３（ｂ）は、情報利得の計算例（その２）であり、４０個と４０個に分類されているデータが、さらに左経路の先で２０個と４０個、右経路の先で２０個と０個とに分類された場合を示している。【００１４】  親ノードのジニ不純度は上記と同様である。一方、左子ノードのジニ不純度と、右子ノードのジニ不純度は、以下の通りである。【数７】
2020008919.tif 000009
【数８】
2020008919.tif 000010
【００１５】  従って、情報利得は、以下の通り計算される。【数９】
2020008919.tif 000011
【００１６】  すなわち、図１３の例にあっては、図１３（ｂ）の場合の方が情報利得は大きいことから、図１３（ｂ）に示す決定木が優先的に選択されることとなる。このような処理を各決定木について行うことにより各サブデータセットに対して一の決定木が決定される。【００１７】  次に、図１４を参照しつつ、予測処理段階について説明する。図１４は、ランダム・フォレストを用いた予測処理に関する概念図である。同図から明らかな通り、新規の入力データが提示されると、各サブデータセットに対応する各決定木から予測出力が生成される。このとき、分類予測が行われる場合には、例えば、予測結果に対応する分類（ラベル）の多数決により最終的な予測分類が決定される。一方、回帰的に数値予測が行われる場合には、例えば、予測出力に対応する出力値の平均を採ることにより最終的な予測値が決定される。
【先行技術文献】
【非特許文献】
【００１８】
【非特許文献１】Ｌｅｏ  Ｂｒｅｉｍａｎ著、"ＲＡＮＤＯＭ  ＦＯＲＥＳＴＳ"、［ｏｎｌｉｎｅ］、平成１３年１月、Ｓｔａｔｉｓｔｉｃｓ  Ｄｅｐａｒｔｍｅｎｔ，  Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ  Ｃａｌｉｆｏｒｎｉａ  Ｂｅｒｋｅｌｅｙ，ＣＡ  ９４７２０，［平成３０年４月２日］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｓｔａｔ．ｂｅｒｋｅｌｅｙ．ｅｄｕ／〜ｂｒｅｉｍａｎ／ｒａｎｄｏｍｆｏｒｅｓｔ２００１．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【００１９】  しかしながら、従来のランダム・フォレストでは、各サブデータセットは学習対象データセットからデータをランダムに抽出することにより生成され、また、対応する決定木の分割軸や分割値もランダムに決定されているため、必ずしも予測精度の良くない決定木又はその出力段のノードも含まれることがあった。そうすると、最終的な予測出力の精度も低下してしまうこととなる。【００２０】  本発明は、上述の技術的背景の下になされたものであり、その目的とすることころは、ランダム・フォレストを利用しつつも、さらに精度の良い出力予測を行うことができる機械学習技術を提供することにある。【００２１】  本発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【００２２】  上述の技術的課題は、以下の構成を有する装置、方法、プログラム、学習済モデル等により解決することができる。【００２３】  すなわち、本発明に係る機械学習装置は、所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習装置であって、所定の入力データを取得する入力データ取得部と、前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成部と、少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新部と、を備えている。【００２４】  このような構成によれば、複数の決定木の出力段に設けられた出力ネットワークのパラメータを教師データを用いて漸次的に更新していくことができるので、より精度の良い決定木の出力段のノードに重きをおいた出力予測を行うことができる。従って、ランダム・フォレストを利用しつつも、さらに精度の良い出力予測を行うことができる機械学習技術を提供することができる。また、同一の決定木を用いつつも、出力ネットワークのみを学習により更新すること等ができ、追加学習にも好適な機械学習技術を提供することができる。【００２５】  前記出力ネットワークは、各前記決定木の末端ノードと重みを介して結合した出力ノードを含む、ものであってもよい。【００２６】  前記入力データは、前記学習対象データセットから選択されたデータであってもよい。【００２７】  前記決定木出力と前記重みとに基づいて、前記出力ノードにおいて前記予測出力を生成する予測出力生成部をさらに含み、前記パラメータ更新部は、さらに、前記教師データと前記予測出力との差分に基づいて前記重みを更新する重み更新部を備える、ものであってもよい。【００２８】  前記パラメータ更新部は、さらに、前記決定木出力たる予測ラベルと前記教師データたる正解ラベルとが一致するか否かを判定するラベル判定部と、前記ラベル判定部による判定結果に基づいて、前記重みを更新する重み更新部を備える、ものであってもよい。【００２９】  前記複数の決定木は、前記学習対象データセットからランダムにデータを選択することにより生成された複数のサブデータセット毎に生成されたものであってもよい。【００３０】  前記複数の決定木は、各前記サブデータセットに基づいて情報利得が最大となる分岐条件を選択することにより生成された決定木であってもよい。【００３１】  また、本発明は予測装置としても観念することができる。すなわち、本発明に係る予測装置は、所定の学習対象データセットに基づいて生成された複数の決定木を用いた予測装置であって、所定の入力データを取得する入力データ取得部と、前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成部と、各前記決定木の末端ノードと重みを介して結合する出力ノードを含む出力ネットワークに基づいて、予測出力を生成する出力予測部と、を備えている。【００３２】  各前記決定木出力は数値出力であり、前記予測出力は、前記数値出力と前記重みとの積を決定木の数分足し合わせた総和に基づいて生成される、ものであっても��い。【００３３】  各前記決定木出力は所定のラベルであり、前記予測出力たる出力ラベルは、対応する重みの総和が最大となるラベルである、ものであってもよい。【００３４】    前記決定木の有効度を前記出力ネットワークのパラメータに基づいて生成する有効度生成部をさらに備える、ものであってもよい。【００３５】    前記有効度に基づいて、置換、交換又は削除の対象となる前記決定木を決定する決定木選定部をさらに備える、ものであってもよい。【００３６】  本発明は機械学習方法としても観念できる。すなわち、本発明に係る機械学習方法は、所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習方法であって、所定の入力データを取得する入力データ取得ステップと、前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新ステップと、を備えている。【００３７】  本発明は、機械学習プログラムとしても観念できる。すなわち、本発明に係る機械学習プログラムは、コンピュータを、所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習装置として機能させるための機械学習プログラムであって、所定の入力データを取得する入力データ取得ステップと、前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新ステップと、を備えている。【００３８】  本発明は、予測方法としても観念できる。すなわち、本発明に係る予測方法は、所定の学習対象データセットに基づいて生成された複数の決定木を用いた予測方法であって、所定の入力データを取得する入力データ取得ステップと、前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、各前記決定木の末端ノードと重みを介して結合する出力ノードを含む出力ネットワークに基づいて、予測出力を生成する出力予測ステップと、を備えている。【００３９】  本発明は、予測プログラムとしても観念できる。すなわち、本発明に係る予測プログラムは、コンピュータを、所定の学習対象データセットに基づいて生成された複数の決定木を用いた予測装置として機能させるための予測プログラムであって、所定の入力データを取得する入力データ取得ステップと、前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、各前記決定木の末端ノードと重みを介して結合する出力ノードを含む出力ネットワークに基づいて、予測出力を生成する出力予測ステップと、を備えている。【００４０】  本発明は、学習済モデルとしても観念できる。すなわち、本発明に係る学習済モデルは、所定の学習対象データセットに基づいて生成された複数の決定木と、各決定木の末端と重みを介して結合された出力ノードを含む出力ネットワークと、からなる学習済モデルであって、所定の入力データが入力された場合に、前記入力データに基づいて、各前記決定木の出力である決定木出力が生成され、各前記決定木出力と各前記重みとに基づいて前記出力ノードにおいて予測出力が生成される。
【発明の効果】
【００４１】  本発明によれば、ランダム・フォレストを利用しつつも、さらに精度の良い出力予測を行うことができる機械学習技術を提供することができる。
【図面の簡単な説明】
【００４２】
【図１】図１は、ハードウェアの構成図である。
【図２】図２は、ゼネラルフローチャートである。
【図３】図３は、アルゴリズムの概念図（第１の実施形態）である。
【図４】図４は、決定木生成処理のフロー図である。
【図５】図５は、学習処理のフロー図（その１）である。
【図６】図６は、重みの更新による出力値の変化の概念図である。
【図７】図７は、予測処理のフロー図（その１）である。
【図８】図８は、学習処理のフロー図（その２）である。
【図９】図９は、予測処理のフロー図（その２）である。
【図１０】図１０は、追加学習処理のフロー図である。
【図１１】図１１は、前処理に関する概念図である。
【図１２】図１２は、決定木に関する説明図である。
【図１３】図１３は、情報利得の計算に関する説明図である。
【図１４】図１４は、ランダム・フォレストを用いた予測処理に関する概念図である。
【発明を実施するための形態】
【００４３】  以下、本発明の実施の一形態を、添付の図面を参照しつつ、詳細に説明する。
【００４４】  ＜１．第１の実施形態＞  ＜１．１  ハードウェア構成＞  図１を参照しつつ、本実施形態に係る機械学習処理、予測処理等が実行されるハードウェアの構成について説明する。同図から明らかな通り、本実施形態に係る情報処理装置１０は、制御部１、記憶部２、表示部３、操作信号入力部４、通信部５及びＩ／Ｏ部６とがバスを介して接続されて構成されている。情報処理装置１０は、例えば、ＰＣ、スマートフォンやタブレット端末である。
【００４５】  制御部１は、ＣＰＵ等の制御装置であり、情報処理装置１０の全体制御や読み出された学習処理用又は予測処理用のコンピュータプログラムの実行処理等を行う。記憶部２は、ＲＯＭ、ＲＡＭ等の揮発性又は不揮発性の記憶装置であり、学習対象データ、学習対象データと対応する教師データ、機械学習プログラム、予測処理プログラム等を格納している。表示部３はディスプレイ等と接続されて表示制御を行い、ディスプレイ等を介してユーザにＧＵＩを提供する。操作信号入力部４は、キーボード、タッチパネル、ボタン等の入力部を介して入力された信号を処理するものである。通信部５は、インターネットやＬＡＮ等を通じて外部機器と通信を行う通信チップ等である。Ｉ／Ｏ部６は、外部装置との情報の入出力処理を行う装置である。
【００４６】  なお、ハードウェア構成は本実施形態に係る構成に限定されるものではなく、構成や機能を分散又は統合してもよい。例えば、複数台の情報処理装置１により分散的に処理を行っても良いし、大容量記憶装置をさらに外部に設けて情報処理装置１と接続する等してもよいことは勿論である。
【００４７】  ＜１．２  動作＞  次に、図２〜図７を参照しつつ、情報処理装置１の動作について説明する。
【００４８】  ＜１．２．１  全体像＞  図２は、情報処理装置１の動作に関するゼネラルフローチャートである。同図から明らかな通り、処理が開始すると、記憶部２から学習対象となるデータセットが制御部１へと読み出される（Ｓ１）。この学習対象となるデータセットは、どのようなデータであってもよいが、例えば、多関節ロボットの各関節におけるセンサデータ等である。学習データセットの読出処理が完了すると、次に、後述するように、決定木を複数生成する処理（Ｓ３）が行われる。複数の決定木が生成されると、後述するように、決定木の後段に結合した出力ネットワークにおいて機械学習処理が行われる（Ｓ５）。機械学習処理完了後、後述するように、本実施形態に係る情報処理装置１は予測処理を行うことができる予測器としても機能する（Ｓ９）。なお、本実施形態においては、決定木生成処理（Ｓ３）を機械学習処理（Ｓ５）と分けて説明しているものの、それらを一体として広義に機械学習処理として観念してもよい。
【００４９】  ここで、図３を用いて、本実施形態に係る機械学習処理及び予測処理が行われるアルゴリズム又はネットワーク構成の概念について説明する。同図最上段の学習対象データセットからは、後述の要領で、Ｔ個のサブデータセットが複数生成される（同図において上から２段目）。その後、各サブデータセットでは、後述の要領で、所定の条件を満たす決定木が生成される（同図において上から３段目の木構造）。各決定木の末端の葉ノードはそれぞれ出力ノードと重みｗを介して結合している。学習処理段階（Ｓ５）では、所定の入力データと教師データとに基づいて、この重みｗの値が更新される。一方、予測処理段階（Ｓ９）では、決定木と重みｗの値を用いて、所定の出力予測処理が行われることとなる。
【００５０】  ＜１．２．２  決定木生成処理＞  図４は、決定木生成処理（Ｓ３）の詳細フロー図である。同図から明らかな通り、処理が開始すると、前処理として、学習対象データセットから複数のサブデータセットを生成する処理が行われる（Ｓ３１）。具体的には、学習対象データセットから重複を許して所定の複数個のデータセットをランダムに抽出することにより各サブデータセットは形成される。
【００５１】  その後、所定の変数の初期化処理が行われる（Ｓ３２）。ここでは、繰り返し処理に用いられる変数ｔを１として初期化する。その後、ｔ＝１番目のサブデータセットにおいて情報利得の高い一の決定木を生成する処理が行われる（Ｓ３３）。より詳細には、先ず根ノードについて、ランダムに選択された複数の分岐条件を適用する。ここで、分岐条件とは、例えば、分割軸や分割境界値などである。続いて、ランダムに選択された複数の分岐条件の各場合についてそれぞれ情報利得の算定処理を行う。この情報利得の計算は、図１３で例示したものと同一である。最後に、情報利得が最大となる分岐条件を特定することにより、情報利得の高い分岐条件が決定される。この一連の処理を葉ノードへと至るまで順に行うことで情報利得の高い一の決定木が生成される。
【００５２】  この情報利得の高い決定木の生成処理（Ｓ３３）を、ｔを１ずつ増加させつつ繰り返し行う（Ｓ３６ＮＯ、Ｓ３７）。すべてのサブデータセット（ｔ＝Ｔ）につき情報利得が最大となる決定木を生成したとき（Ｓ３６ＹＥＳ）、繰り返し処理は終了する。その後、サブデータセットと各サブデータセットに対応する決定木とは記憶部２へと記憶されて（Ｓ３８）、処理は終了する。
【００５３】  ＜１．２．３  機械学習処理＞  図５は、学習処理（Ｓ５）の詳細フロー図である。この図にあっては、決定木が分類結果である分類ラベルを出力する場合の学習処理について示されている。同図から明らかな通り、処理が開始すると、決定木の末端ノード（葉ノード）と出力ノードとを結ぶ重みｗの値の初期化が行われる（Ｓ５１）。この初期化に用いられる値は、例えば、すべての重みｗについて同一の値であってもよい。その後、所定の変数の初期化処理が行われる（Ｓ５２）。ここでは、繰り返し処理に用いられる変数ｎを１として初期化する。
【００５４】  その後、学習対象データセットの中から、一のデータセットをｎ番目の入力データとして制御部１へと読み出す処理が行われる（Ｓ５３）。次に、ｎ番目の入力データをサブデータセット毎に生成された決定木へと入力して順方向演算を行い、対応する末端ノード、すなわち入力データが属すべき分類ラベルを出力する（Ｓ５４）。
【００５５】  その後、分類ラベルの正誤に関する割合である誤り率εの演算が行われる（Ｓ５６）。具体的には、入力データに対応する教師データである教師ラベルが読み出され、当該教師ラベルと各決定木の出力ラベルとを比較し正誤を判定する。誤った分類を出力したと判定された場合には、以下の数式を用いて、エラーカウントの値（ＥｒｒｏｒＣｏｕｎｔ）を１だけ増加させる処理が行われる。なお、下記式においては、右辺の値を左辺の値へと代入することを意味している。【数１０】
2020008919.tif 000012
【００５６】  以上の正誤判定とエラーカウント値に関する演算処理をすべての決定木について行った後、エラーカウント値を決定木の個数（Ｔ）で除することにより誤り率εは以下の通り計算される。【数１１】
2020008919.tif 000013
【００５７】  エラーカウントを算出した後、重みの更新処理が行われる（Ｓ５７）。具体的には、各重みにつき、以下の式を適用することにより重みを更新する。【数１２】
2020008919.tif 000014
【００５８】  なお、このとき、ｓｉｇｎの値は、決定木の出力である出力ラベルと教師ラベルとが一致する時に１、一致しない場合に−１となる値である。すなわち、以下の通りである。【数１３】
2020008919.tif 000015
【００５９】  以上の処理（Ｓ５３〜Ｓ５７）を、変数ｎの値を１ずつ増加させつつ、すべて（Ｎ個）の入力データについて行う（Ｓ５８ＮＯ、Ｓ５９）。すべての入力データについて処理が完了すると（Ｓ５８ＹＥＳ）、重みｗを記憶部２へと記憶して（Ｓ６０）、処理は終了する。
【００６０】  図６は、重みの更新による出力値の変化の概念図である。同図から明らかな通り、重みの更新により、出力（Ｏｕｔｐｕｔ＿Ｎｅｘｔ）がより教師データ（Ｔｅａｃｈ）へと近づくように関数近似がなされていることが分かる。
【００６１】  このような構成によれば、決定木から分類ラベルが生成される場合であっても、出力ネットワークの機械学習処理を適切に行うことができる。
【００６２】  なお、以上の機械学習処理は一例であり、重みの更新に係る具体的な演算式又は演算方法は、公知の他の種々の方法を採用可能である。また、更新対象は重みに限定されず、他のパラメータ、例えば、所定のバイアス値を学習させる等してもよい。
【００６３】  ＜１．２．４  予測処理＞  次に、図７を参照しつつ、情報処理装置１０により学習後に行われる予測処理について説明する。図６は予測処理のフロー図である。
【００６４】  同図から明らかな通り、処理が開始すると、サブデータセット毎に用意された複数の決定木の読出処理が行われる（Ｓ９１）。その後、重みｗの読出処理が行われる（Ｓ９２）。次に、予測を行いたい入力データを読み込み（Ｓ９３）、所定の順方向演算を行い各決定木において出力ラベルを特定する（Ｓ９４）。続いて、同一のラベルを出力したノードに対応する重みｗの総和を各ラベルについて算出して比較する。比較の結果、重みｗの総和が最大となるラベルを最終出力ラベルとして出力し（Ｓ９５）、予測処理は終了する。
【００６５】  このような構成によれば、決定木から分類ラベルが生成される場合に、出力ネットワークを用いて適切な予測処理を行うことができる。
【００６６】  なお、以上の予測処理は一例であり、最終出力ラベルの決定方法等については、公知の他の種々の方法を採用可能である。
【００６７】  以上の構成によれば、複数の決定木の出力段に設けられた出力ネットワークのパラメータを教師データを用いて漸次的に更新していくことができるので、決定木の出力段のノードのうちより精度の良いノードに重きをおいた出力予測を行うことができる。従って、ランダム・フォレストを利用しつつも、さらに精度の良い出力予測を行うことができる機械学習技術を提供することができる。
【００６８】  ＜２．第２の実施形態＞
【００６９】  第１の実施形態においては、決定木からは分類ラベルが出力される構成について説明した。本実施形態においては、決定木から数値出力が生成される場合について説明する。
【００７０】  ＜２．１  機械学習処理＞  図８は、決定木から数値出力を行う場合の情報処理装置１０における学習動作について説明したものである。なお、情報処理装置１０のハードウェア構成（図１を参照）やサブデータセットの生成処理、決定木の生成処理（Ｓ３）等については、第１の実施形態と略同一であるのでここでは説明を省略する。
【００７１】  同図から明らかな通り、処理が開始すると、決定木の各末端ノード（葉ノード）と出力ノードとを結ぶ重みｗの値の初期化が行われる（Ｓ７１）。この初期化に用いられる値は、例えば、すべての重みｗについて同一の値であってもよい。その後、所定の変数の初期化処理が行われる（Ｓ７２）。ここでは、繰り返し処理に用いられる変数ｎを１として初期化する。
【００７２】  その後、学習対象データセットの中から、一のデータセットをｉ番目の入力データとして制御部１へと読み出す処理が行われる（Ｓ７３）。次に、ｎ番目の入力データをサブデータセット毎に生成された各決定木へと入力して順方向演算を行い、それぞれにおいて対応する末端ノードを特定し、当該末端ノードに対応する数値出力を演算する（Ｓ７４）。
【００７３】  その後、下記の通り、各決定木出力（出力段の各ノード値）と各重みｗとをそれぞれ掛けあわせて足し合わせた値を出力ノードからの最終出力（Ｏｕｔｐｕｔ）として演算する（Ｓ７５）。【数１４】
2020008919.tif 000016
【００７４】  続いて、最終出力に基づいて誤差Ｅｒｒｏｒの演算を行う（Ｓ７６）。具体的には、誤差Ｅｒｒｏｒは、入力データに対応する教師データと最終出力値（Ｏｕｔｐｕｔ）との差分の２乗を２で除した値の総和として以下の通り定義される。【数１５】
2020008919.tif 000017
【００７５】  次に、この誤差Ｅｒｒｏｒを以下の通り決定木出力により偏微分して勾配を得る（Ｓ７７）。【数１６】
2020008919.tif 000018
【００７６】  この勾配を用いて、下記の通り重みｗを更新する（Ｓ７８）。なお、ηは更新量の調整用の係数であり、例えば、０から１程度の範囲の適当な数値である。この更新処理によれば、最終出力値が教師データの値と離れる程、重みを強く更新することとなる。【数１７】
2020008919.tif 000019
【００７７】  以上の処理（Ｓ７３〜Ｓ７８）をすべて（Ｎ個）の入力データについて行う（Ｓ７９ＮＯ）。すべての入力データについて処理が完了すると（Ｓ７９ＹＥＳ）、重みｗを記憶部２へと記憶して（Ｓ８１）、処理は終了する。
【００７８】  このような構成によれば、決定木から数値出力が生成される場合であっても、適切に機械学習処理を行うことができる。
【００７９】  なお、以上の機械学習処理は一例であり、重みの更新に係る具体的な演算式又は演算方法は、公知の他の種々の方法を採用可能である。また、更新対象は重みに限定されず、他のパラメータ、例えば、所定のバイアス値を学習させる等してもよい。
【００８０】  ＜２．２  予測処理＞  続いて、図９を参照しつつ、情報処理装置１０による予測処理について説明する。図９は、予測処理に関する詳細フロー図である。
【００８１】  同図から明らかな通り、処理が開始すると、サブデータセット毎に用意された複数の決定木の読出処理が行われる（Ｓ１０１）。その後、重みｗの読出処理が行われる（Ｓ１０２）。次に、予測を行いたい入力データを読み込む（Ｓ１０３）。その後、順方向演算を行って最終出力（Ｏｕｔｐｕｔ）を演算する（Ｓ１０４）。具体的には、以下の通り、各決定木の出力値（出力段の各ノード値）と各重みｗの積の総和を演算する。その後、処理は終了する。【数１８】
2020008919.tif 000020
【００８２】  このような構成によれば、決定木から回帰的な数値出力が生成される場合であっても、回帰的に予測出力を生成することができる。
【００８３】  なお、以上の予測処理は一例であり、出力値の決定方法等については、公知の他の種々の方法を採用可能である。
【００８４】  ＜３．第３の実施形態＞  上述の実施形態における機械学習処理においては新規の学習処理について説明した。本実施形態では、追加学習処理について説明する。
【００８５】  図１０は、追加学習処理に関するフロー図である。同図から明らかな通り、処理が開始すると、各サブデータセットと対応して作成された複数の決定木を読み出す処理が行われる（Ｓ１１１）。また、学習済の重みｗの読み出し処理が行われる（Ｓ１１２）。その後、学習対象となる新たな入力データが読み込まれることとなる（Ｓ１１３）。その後、上述の他の実施形態にて説明した機械学習処理と重みｗの初期化動作部分や学習対象データを除いて略同一の機械学習処理が行われる（Ｓ１１４）。機械学習後、重みｗを記憶部２へと記憶して（Ｓ１１５）、処理は終了する。
【００８６】  このような構成によれば、同一の決定木を用いつつも、出力ネットワークのみを学習により更新することができ、追加学習にも好適な機械学習技術を提供することができる。
【００８７】  ＜４．変形例＞  上述の実施形態においては一旦決定木が生成された後は、当該決定木を固定して他の学習処理時、予測処理時にも適用する構成としたが、このような構成に限定されない。従って、例えば、追加的に決定木の増減、置換、交換若しくは削除等を行ってもよい。
【００８８】  置換、交換若しくは削除する対象となる決定木の決定は、当該決定木の有効度合に基づいて行ってもよい。決定木の有効度合は、例えば、各決定木の出力段ノードの重みの総和値、平均値等を基準として決定してもよい。また、この有効度合の大きさに基づいて順位づけを行い、その順序の下位の決定木を優先的に置換、交換若しくは削除対象としてもよい。このような構成によれば、基礎となる決定木を交換等することでさらに予測精度等を向上させることができる。
【００８９】  また、上述の実施形態においては、決定木の後段の出力ネットワークとして、重みとノードとから成る、所謂、人工ニューラルネットワーク又はそれ類似の構成を採用したが、本発明はこのような構成に限定されない。従って、決定木後段の出力ネットワークとして、例えば、サポート・ベクター・マシン等の他の機械学習技術を適用可能なネットワーク構成を採用してもよい。
【００９０】  さらに、上述の実施形態においては、出力ネットワークとして、複数の決定木の出力段と重みを介して結合した単一の出力ノードを採用したが、本発明はこのような構成に限定されない。従って、例えば、多層型や全結合型のネットワーク構成、再帰経路を備える構成を採用してもよい。
【００９１】  本発明の適用範囲は広く、ビッグデータを含む様々なデータの機械学習・予測にも適用可能である。例として、工場内のロボットの動作、株価、金融与信又は保険サービス関連情報等の金融データ、医療レセプト等の医療データ、商品の需給や購買データ、商品配送数、ダイレクトメール発送関連情報、来客数、又は問い合わせ数等の経済データ、バズワード、ソーシャルメディア（ソーシャルネットワーキングサービス）関連情報、ＩｏＴデバイス情報又はインターネットセキュリティ関連情報等のインターネット関連データ、気象関連データ、不動産関連データ、脈や血圧等のヘルスケア又は生体関連データ、ゲーム関連データ、動画・画像・音声等のデジタルデータ、若しくは、交通データや電力データ等の社会インフラデータの学習・予測に適用可能である。
【産業上の利用可能性】
【００９２】  本発明は、機械学習技術を利用する種々の産業等にて利用可能である。
【符号の説明】
【００９３】１    制御部２    記憶部３    表示部４    操作信号入力部５    通信部６    Ｉ／Ｏ部１０    情報処理装置
【図１】
2020008919.tif 000021
【図２】
2020008919.tif 000022
【図３】
2020008919.tif 000023
【図４】
2020008919.tif 000024
【図５】
2020008919.tif 000025
【図６】
2020008919.tif 000026
【図７】
2020008919.tif 000027
【図８】
2020008919.tif 000028
【図９】
2020008919.tif 000029
【図１０】
2020008919.tif 000030
【図１１】
2020008919.tif 000031
【図１２】
2020008919.tif 000032
【図１３】
2020008919.tif 000033
【図１４】
2020008919.tif 000034
【手続補正書】
【提出日】令和2年3月10日(2020.3.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習装置であって、
所定の入力データを取得する入力データ取得部と、
前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成部と、
少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新部と、を備える機械学習装置。
【請求項２】
前記出力ネットワークは、
各前記決定木の末端ノードと重みを介して結合した出力ノードを含む、請求項１に記載の機械学習装置。
【請求項３】
前記入力データは、前記学習対象データセットから選択されたデータである、請求項１に記載の機械学習装置。
【請求項４】
前記決定木出力と前記重みとに基づいて、前記出力ノードにおいて前記予測出力を生成する予測出力生成部をさらに含み、
前記パラメータ更新部は、さらに、
前記教師データと前記予測出力との差分に基づいて前記重みを更新する重み更新部を備える、請求項２に記載の機械学習装置。
【請求項５】
前記パラメータ更新部は、さらに、
前記決定木出力たる予測ラベルと前記教師データたる正解ラベルとが一致するか否かを判定するラベル判定部と、
前記ラベル判定部による判定結果に基づいて、前記重みを更新する重み更新部を備える、請求項２に記載の機械学習装置。
【請求項６】
前記複数の決定木は、前記学習対象データセットからランダムにデータを選択することにより生成された複数のサブデータセット毎に生成されたものである、請求項１に記載の機械学習装置。
【請求項７】
前記複数の決定木は、各前記サブデータセットに基づいて情報利得が最大となる分岐条件を選択することにより生成された決定木である、請求項６に記載の機械学習装置。
【請求項８】
所定の学習対象データセットに基づいて生成された複数の決定木を用いた予測装置であって、
所定の入力データを取得する入力データ取得部と、
前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成部と、
各前記決定木の末端ノードと重みを介して結合する出力ノードを含む出力ネットワークに基づいて、予測出力を生成する出力予測部と、を備える予測装置。
【請求項９】
各前記決定木出力は数値出力であり、
前記予測出力は、前記数値出力と前記重みとの積を決定木の数分足し合わせた総和に基づいて生成される、請求項８に記載の予測装置。
【請求項１０】
各前記決定木出力は所定のラベルであり、
前記予測出力たる出力ラベルは、対応する重みの総和が最大となるラベルである、請求項８に記載の予測装置。
【請求項１１】
前記決定木の有効度を前記出力ネットワークのパラメータに基づいて生成する有効度生成部をさらに備える、請求項１に記載の予測装置。
【請求項１２】
前記有効度に基づいて、置換、交換又は削除の対象となる前記決定木を決定する決定木選定部をさらに備える、請求項１１に記載の予測装置。
【請求項１３】
所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習方法であって、
所定の入力データを取得する入力データ取得ステップと、
前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、
少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新ステップと、を備える機械学習方法。
【請求項１４】
コンピュータを、所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習装置として機能させるための機械学習プログラムであって、
所定の入力データを取得する入力データ取得ステップと、
前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、
少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新ステップと、を備える機械学習プログラム。
【請求項１５】
所定の学習対象データセットに基づいて生成された複数の決定木を用いた予測方法であって、
所定の入力データを取得する入力データ取得ステップと、
前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、
各前記決定木の末端ノードと重みを介して結合する出力ノードを含む出力ネットワークに基づいて、予測出力を生成する出力予測ステップと、を備える予測方法。
【請求項１６】
コンピュータを、所定の学習対象データセットに基づいて生成された複数の決定木を用いた予測装置として機能させるための予測プログラムであって、
所定の入力データを取得する入力データ取得ステップと、
前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、
各前記決定木の末端ノードと重みを介して結合する出力ノードを含む出力ネットワークに基づいて、予測出力を生成する出力予測ステップと、を備える予測プログラム。
【国際調査報告】
2020008919.tif 000035
2020008919.tif 000036