(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6708847
(24)【登録日】2020年5月26日
(45)【発行日】2020年6月10日
(54)【発明の名称】機械学習装置及び方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20200601BHJP
【FI】
G06N20/00 130
【請求項の数】16
【全頁数】19
(21)【出願番号】特願2020-507712(P2020-507712)
(86)(22)【出願日】2019年6月21日
(86)【国際出願番号】JP2019024767
【審査請求日】2020年2月7日
(31)【優先権主張番号】特願2018-127871(P2018-127871)
(32)【優先日】2018年7月4日
(33)【優先権主張国】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】517045705
【氏名又は名称】株式会社エイシング
(74)【代理人】
【識別番号】100098899
【弁理士】
【氏名又は名称】飯塚 信市
(74)【代理人】
【識別番号】100163865
【弁理士】
【氏名又は名称】飯塚 健
(72)【発明者】
【氏名】出澤 純一
(72)【発明者】
【氏名】菅原 志門
【審査官】
多胡 滋
(56)【参考文献】
【文献】
REN, Shaoqing et al.,Global Refinement of Random Forest,[オンライン],IEEE,2015年10月15日,pp.723-730,[検索日 2019.09.05],URL,https://ieeexplore.ieee.org/document/7298672
【文献】
日比野眞也 ほか,AutoEncoderを導入したRegression Forestsによるノイズ発見,電子情報通信学会技術研究報告 BioX2016−33−BioX2016−76 バイオメトリクス,一般社団法人電子情報通信学会,2017年 3月13日,第116巻, 第527号,pp.209-214,ISSN 0913-5685
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習装置であって、
所定の入力データを取得する入力データ取得部と、
前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成部と、
少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新部と、を備える機械学習装置。
【請求項2】
前記出力ネットワークは、
各前記決定木の末端ノードと重みを介して結合した出力ノードを含む、請求項1に記載の機械学習装置。
【請求項3】
前記入力データは、前記学習対象データセットから選択されたデータである、請求項1に記載の機械学習装置。
【請求項4】
前記決定木出力と前記重みとに基づいて、前記出力ノードにおいて前記予測出力を生成する予測出力生成部をさらに含み、
前記パラメータ更新部は、さらに、
前記教師データと前記予測出力との差分に基づいて前記重みを更新する重み更新部を備える、請求項2に記載の機械学習装置。
【請求項5】
前記パラメータ更新部は、さらに、
前記決定木出力たる予測ラベルと前記教師データたる正解ラベルとが一致するか否かを判定するラベル判定部と、
前記ラベル判定部による判定結果に基づいて、前記重みを更新する重み更新部を備える、請求項2に記載の機械学習装置。
【請求項6】
前記複数の決定木は、前記学習対象データセットからランダムにデータを選択することにより生成された複数のサブデータセット毎に生成されたものである、請求項1に記載の機械学習装置。
【請求項7】
前記複数の決定木は、各前記サブデータセットに基づいて情報利得が最大となる分岐条件を選択することにより生成された決定木である、請求項6に記載の機械学習装置。
【請求項8】
所定の学習対象データセットに基づいて生成された複数の決定木を用いた予測装置であって、
所定の入力データを取得する入力データ取得部と、
前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成部と、
各前記決定木の末端ノードと重みを介して結合する出力ノードを含む出力ネットワークに基づいて、予測出力を生成する出力予測部と、を備える予測装置。
【請求項9】
各前記決定木出力は数値出力であり、
前記予測出力は、前記数値出力と前記重みとの積を決定木の数分足し合わせた総和に基づいて生成される、請求項8に記載の予測装置。
【請求項10】
各前記決定木出力は所定のラベルであり、
前記予測出力たる出力ラベルは、対応する重みの総和が最大となるラベルである、請求項8に記載の予測装置。
【請求項11】
前記決定木の有効度を前記出力ネットワークのパラメータに基づいて生成する有効度生成部をさらに備える、請求項1に記載の予測装置。
【請求項12】
前記有効度に基づいて、置換、交換又は削除の対象となる前記決定木を決定する決定木選定部をさらに備える、請求項11に記載の予測装置。
【請求項13】
所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習方法であって、
所定の入力データを取得する入力データ取得ステップと、
前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、
少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新ステップと、を備える機械学習方法。
【請求項14】
コンピュータを、所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習装置として機能させるための機械学習プログラムであって、
所定の入力データを取得する入力データ取得ステップと、
前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、
少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新ステップと、を備える機械学習プログラム。
【請求項15】
所定の学習対象データセットに基づいて生成された複数の決定木を用いた予測方法であって、
所定の入力データを取得する入力データ取得ステップと、
前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、
各前記決定木の末端ノードと重みを介して結合する出力ノードを含む出力ネットワークに基づいて、予測出力を生成する出力予測ステップと、を備える予測方法。
【請求項16】
コンピュータを、所定の学習対象データセットに基づいて生成された複数の決定木を用いた予測装置として機能させるための予測プログラムであって、
所定の入力データを取得する入力データ取得ステップと、
前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、
各前記決定木の末端ノードと重みを介して結合する出力ノードを含む出力ネットワークに基づいて、予測出力を生成する出力予測ステップと、を備える予測プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、所定の入力データに基づいて回帰的に予測出力を演算したり、入力データに対応する分類を特定することが可能な機械学習技術に関する。
【背景技術】
【0002】
従来より、所定の入力データに基づいて回帰的に予測出力を演算したり、入力データに対応する分類を特定することが可能な、所謂、ランダム・フォレストと呼ばれる機械学習技術が知られている。例えば、非特許文献1には、ランダム・フォレストの一例が開示されている。
【0003】
図11〜
図14を参照しつつ、ランダム・フォレストと呼ばれる機械学習技術の一例について説明する。ランダム・フォレストは、学習処理段階と予測処理段階とを有する。まずは、学習処理段階について説明する。
【0004】
図11は、学習対象データセットに対する所定の前処理に関する概念図である。学習対象データセットは、複数のデータセットから構成されたデータ集合である。このデータ集合から重複を許してランダムにデータを抽出し、同図の通り、T個のサブデータセットを生成する。
【0005】
図12は、各サブデータセットから生成される決定木に関する説明図であり、
図12(a)は、決定木の構造の一例を表す説明図である。同図から明らかな通り、決定木は、基端となる根ノード(図中最上段のノード)から末端の葉ノード(同図中最下段のノード)へと至る木構造を有している。各ノードには、閾値θ
1〜θ
4との大小関係により定まる分岐条件が対応付けられている。これにより、根ノードから入力された入力データは、最終的に葉ノードA〜葉ノードEのいずれかの葉ノードへと対応付けられることとなる。
【0006】
同図から明らかな通り、葉ノードAには、x
1≦θ
1、かつ、x
2≦θ
2の条件を満たすデータが対応付けられる。葉ノードBには、x
1≦θ
1、かつ、x
2>θ
2の条件を満たすデータが対応付けられる。葉ノードCには、x
1>θ
1、x
2≦θ
3、かつ、x
1≦θ
4の条件を満たす入力が対応付けられる。葉ノードDには、x
1>θ
1、x
2≦θ
3、かつ、x
1>θ
4の条件を満たす入力が対応付けられる。葉ノードEには、x
1>θ
1、かつ、x
2>θ
3の条件を満たす入力が対応付けられる。
【0007】
図12(b)は、
図12(a)に示す決定木構造を2次元入力空間上で示したものである。このような決定木が、分割軸や分割値をランダムに設定することで、各サブデータセットに対して複数生成される。
【0008】
次に、各サブデータセットに対応して生成された複数の決定木の中から、情報利得が最大となる一の決定木を特定する方法について説明する。情報利得IGは、下記の情報利得関数により算出される。なお、I
Gはジニ不純度、D
pは親ノードのデータセット、D
leftは左子ノードのデータセット、D
rightは右子ノードのデータセット、N
pは親ノードのサンプルの総数、N
leftは左子ノードのサンプルの総数、及び、N
rightは右子ノードのサンプルの総数を表している。
【数1】
【0009】
なお、ジニ不純度I
Gは、以下の式により算出される。
【数2】
【0010】
図13を参照しつつ、情報利得の計算例を示す。
図13(a)は、情報利得の計算例(その1)であり、40個と40個に分類されているデータが、さらに左経路の先で30個と10個、右経路の先で10個と30個とに分類された場合を示している。まず、親ノードのジニ不純度を計算すると以下の通りとなる。
【数3】
【0011】
一方、左子ノードのジニ不純度と、右子ノードのジニ不純度は、以下の通りである。
【数4】
【数5】
【0012】
従って、情報利得は、以下の通り計算される。
【数6】
【0013】
一方、
図13(b)は、情報利得の計算例(その2)であり、40個と40個に分類されているデータが、さらに左経路の先で20個と40個、右経路の先で20個と0個とに分類された場合を示している。
【0014】
親ノードのジニ不純度は上記と同様である。一方、左子ノードのジニ不純度と、右子ノードのジニ不純度は、以下の通りである。
【数7】
【数8】
【0015】
従って、情報利得は、以下の通り計算される。
【数9】
【0016】
すなわち、
図13の例にあっては、
図13(b)の場合の方が情報利得は大きいことから、
図13(b)に示す決定木が優先的に選択されることとなる。このような処理を各決定木について行うことにより各サブデータセットに対して一の決定木が決定される。
【0017】
次に、
図14を参照しつつ、予測処理段階について説明する。
図14は、ランダム・フォレストを用いた予測処理に関する概念図である。同図から明らかな通り、新規の入力データが提示されると、各サブデータセットに対応する各決定木から予測出力が生成される。このとき、分類予測が行われる場合には、例えば、予測結果に対応する分類(ラベル)の多数決により最終的な予測分類が決定される。一方、回帰的に数値予測が行われる場合には、例えば、予測出力に対応する出力値の平均を採ることにより最終的な予測値が決定される。
【先行技術文献】
【非特許文献】
【0018】
【非特許文献1】Leo Breiman著、"RANDOM FORESTS"、[online]、平成13年1月、Statistics Department, University of California Berkeley,CA 94720,[平成30年4月2日]、インターネット<URL:http://www.stat.berkeley.edu/〜breiman/randomforest2001.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0019】
しかしながら、従来のランダム・フォレストでは、各サブデータセットは学習対象データセットからデータをランダムに抽出することにより生成され、また、対応する決定木の分割軸や分割値もランダムに決定されているため、必ずしも予測精度の良くない決定木又はその出力段のノードも含まれることがあった。そうすると、最終的な予測出力の精度も低下してしまうこととなる。
【0020】
本発明は、上述の技術的背景の下になされたものであり、その目的とすることころは、ランダム・フォレストを利用しつつも、さらに精度の良い出力予測を行うことができる機械学習技術を提供することにある。
【0021】
本発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【0022】
上述の技術的課題は、以下の構成を有する装置、方法、プログラム、学習済モデル等により解決することができる。
【0023】
すなわち、本発明に係る機械学習装置は、所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習装置であって、所定の入力データを取得する入力データ取得部と、前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成部と、少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新部と、を備えている。
【0024】
このような構成によれば、複数の決定木の出力段に設けられた出力ネットワークのパラメータを教師データを用いて漸次的に更新していくことができるので、より精度の良い決定木の出力段のノードに重きをおいた出力予測を行うことができる。従って、ランダム・フォレストを利用しつつも、さらに精度の良い出力予測を行うことができる機械学習技術を提供することができる。また、同一の決定木を用いつつも、出力ネットワークのみを学習により更新すること等ができ、追加学習にも好適な機械学習技術を提供することができる。
【0025】
前記出力ネットワークは、各前記決定木の末端ノードと重みを介して結合した出力ノードを含む、ものであってもよい。
【0026】
前記入力データは、前記学習対象データセットから選択されたデータであってもよい。
【0027】
前記決定木出力と前記重みとに基づいて、前記出力ノードにおいて前記予測出力を生成する予測出力生成部をさらに含み、前記パラメータ更新部は、さらに、前記教師データと前記予測出力との差分に基づいて前記重みを更新する重み更新部を備える、ものであってもよい。
【0028】
前記パラメータ更新部は、さらに、前記決定木出力たる予測ラベルと前記教師データたる正解ラベルとが一致するか否かを判定するラベル判定部と、前記ラベル判定部による判定結果に基づいて、前記重みを更新する重み更新部を備える、ものであってもよい。
【0029】
前記複数の決定木は、前記学習対象データセットからランダムにデータを選択することにより生成された複数のサブデータセット毎に生成されたものであってもよい。
【0030】
前記複数の決定木は、各前記サブデータセットに基づいて情報利得が最大となる分岐条件を選択することにより生成された決定木であってもよい。
【0031】
また、本発明は予測装置としても観念することができる。すなわち、本発明に係る予測装置は、所定の学習対象データセットに基づいて生成された複数の決定木を用いた予測装置であって、所定の入力データを取得する入力データ取得部と、前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成部と、各前記決定木の末端ノードと重みを介して結合する出力ノードを含む出力ネットワークに基づいて、予測出力を生成する出力予測部と、を備えている。
【0032】
各前記決定木出力は数値出力であり、前記予測出力は、前記数値出力と前記重みとの積を決定木の数分足し合わせた総和に基づいて生成される、ものであってもよい。
【0033】
各前記決定木出力は所定のラベルであり、前記予測出力たる出力ラベルは、対応する重みの総和が最大となるラベルである、ものであってもよい。
【0034】
前記決定木の有効度を前記出力ネットワークのパラメータに基づいて生成する有効度生成部をさらに備える、ものであってもよい。
【0035】
前記有効度に基づいて、置換、交換又は削除の対象となる前記決定木を決定する決定木選定部をさらに備える、ものであってもよい。
【0036】
本発明は機械学習方法としても観念できる。すなわち、本発明に係る機械学習方法は、所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習方法であって、所定の入力データを取得する入力データ取得ステップと、前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新ステップと、を備えている。
【0037】
本発明は、機械学習プログラムとしても観念できる。すなわち、本発明に係る機械学習プログラムは、コンピュータを、所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習装置として機能させるための機械学習プログラムであって、所定の入力データを取得する入力データ取得ステップと、前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新ステップと、を備えている。
【0038】
本発明は、予測方法としても観念できる。すなわち、本発明に係る予測方法は、所定の学習対象データセットに基づいて生成された複数の決定木を用いた予測方法であって、所定の入力データを取得する入力データ取得ステップと、前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、各前記決定木の末端ノードと重みを介して結合する出力ノードを含む出力ネットワークに基づいて、予測出力を生成する出力予測ステップと、を備えている。
【0039】
本発明は、予測プログラムとしても観念できる。すなわち、本発明に係る予測プログラムは、コンピュータを、所定の学習対象データセットに基づいて生成された複数の決定木を用いた予測装置として機能させるための予測プログラムであって、所定の入力データを取得する入力データ取得ステップと、前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成ステップと、各前記決定木の末端ノードと重みを介して結合する出力ノードを含む出力ネットワークに基づいて、予測出力を生成する出力予測ステップと、を備えている。
【0040】
本発明は、学習済モデルとしても観念できる。すなわち、本発明に係る学習済モデルは、所定の学習対象データセットに基づいて生成された複数の決定木と、各決定木の末端と重みを介して結合された出力ノードを含む出力ネットワークと、からなる学習済モデルであって、所定の入力データが入力された場合に、前記入力データに基づいて、各前記決定木の出力である決定木出力が生成され、各前記決定木出力と各前記重みとに基づいて前記出力ノードにおいて予測出力が生成される。
【発明の効果】
【0041】
本発明によれば、ランダム・フォレストを利用しつつも、さらに精度の良い出力予測を行うことができる機械学習技術を提供することができる。
【図面の簡単な説明】
【0042】
【
図3】
図3は、アルゴリズムの概念図(第1の実施形態)である。
【
図5】
図5は、学習処理のフロー図(その1)である。
【
図6】
図6は、重みの更新による出力値の変化の概念図である。
【
図7】
図7は、予測処理のフロー図(その1)である。
【
図8】
図8は、学習処理のフロー図(その2)である。
【
図9】
図9は、予測処理のフロー図(その2)である。
【
図14】
図14は、ランダム・フォレストを用いた予測処理に関する概念図である。
【発明を実施するための形態】
【0043】
以下、本発明の実施の一形態を、添付の図面を参照しつつ、詳細に説明する。
【0044】
<1.第1の実施形態>
<1.1 ハードウェア構成>
図1を参照しつつ、本実施形態に係る機械学習処理、予測処理等が実行されるハードウェアの構成について説明する。同図から明らかな通り、本実施形態に係る情報処理装置10は、制御部1、記憶部2、表示部3、操作信号入力部4、通信部5及びI/O部6とがバスを介して接続されて構成されている。情報処理装置10は、例えば、PC、スマートフォンやタブレット端末である。
【0045】
制御部1は、CPU等の制御装置であり、情報処理装置10の全体制御や読み出された学習処理用又は予測処理用のコンピュータプログラムの実行処理等を行う。記憶部2は、ROM、RAM等の揮発性又は不揮発性の記憶装置であり、学習対象データ、学習対象データと対応する教師データ、機械学習プログラム、予測処理プログラム等を格納している。表示部3はディスプレイ等と接続されて表示制御を行い、ディスプレイ等を介してユーザにGUIを提供する。操作信号入力部4は、キーボード、タッチパネル、ボタン等の入力部を介して入力された信号を処理するものである。通信部5は、インターネットやLAN等を通じて外部機器と通信を行う通信チップ等である。I/O部6は、外部装置との情報の入出力処理を行う装置である。
【0046】
なお、ハードウェア構成は本実施形態に係る構成に限定されるものではなく、構成や機能を分散又は統合してもよい。例えば、複数台の情報処理装置1により分散的に処理を行っても良いし、大容量記憶装置をさらに外部に設けて情報処理装置1と接続する等してもよいことは勿論である。
【0047】
<1.2 動作>
次に、
図2〜
図7を参照しつつ、情報処理装置1の動作について説明する。
【0048】
<1.2.1 全体像>
図2は、情報処理装置1の動作に関するゼネラルフローチャートである。同図から明らかな通り、処理が開始すると、記憶部2から学習対象となるデータセットが制御部1へと読み出される(S1)。この学習対象となるデータセットは、どのようなデータであってもよいが、例えば、多関節ロボットの各関節におけるセンサデータ等である。学習データセットの読出処理が完了すると、次に、後述するように、決定木を複数生成する処理(S3)が行われる。複数の決定木が生成されると、後述するように、決定木の後段に結合した出力ネットワークにおいて機械学習処理が行われる(S5)。機械学習処理完了後、後述するように、本実施形態に係る情報処理装置1は予測処理を行うことができる予測器としても機能する(S9)。なお、本実施形態においては、決定木生成処理(S3)を機械学習処理(S5)と分けて説明しているものの、それらを一体として広義に機械学習処理として観念してもよい。
【0049】
ここで、
図3を用いて、本実施形態に係る機械学習処理及び予測処理が行われるアルゴリズム又はネットワーク構成の概念について説明する。同図最上段の学習対象データセットからは、後述の要領で、T個のサブデータセットが複数生成される(同図において上から2段目)。その後、各サブデータセットでは、後述の要領で、所定の条件を満たす決定木が生成される(同図において上から3段目の木構造)。各決定木の末端の葉ノードはそれぞれ出力ノードと重みwを介して結合している。学習処理段階(S5)では、所定の入力データと教師データとに基づいて、この重みwの値が更新される。一方、予測処理段階(S9)では、決定木と重みwの値を用いて、所定の出力予測処理が行われることとなる。
【0050】
<1.2.2 決定木生成処理>
図4は、決定木生成処理(S3)の詳細フロー図である。同図から明らかな通り、処理が開始すると、前処理として、学習対象データセットから複数のサブデータセットを生成する処理が行われる(S31)。具体的には、学習対象データセットから重複を許して所定の複数個のデータセットをランダムに抽出することにより各サブデータセットは形成される。
【0051】
その後、所定の変数の初期化処理が行われる(S32)。ここでは、繰り返し処理に用いられる変数tを1として初期化する。その後、t=1番目のサブデータセットにおいて情報利得の高い一の決定木を生成する処理が行われる(S33)。より詳細には、先ず根ノードについて、ランダムに選択された複数の分岐条件を適用する。ここで、分岐条件とは、例えば、分割軸や分割境界値などである。続いて、ランダムに選択された複数の分岐条件の各場合についてそれぞれ情報利得の算定処理を行う。この情報利得の計算は、
図13で例示したものと同一である。最後に、情報利得が最大となる分岐条件を特定することにより、情報利得の高い分岐条件が決定される。この一連の処理を葉ノードへと至るまで順に行うことで情報利得の高い一の決定木が生成される。
【0052】
この情報利得の高い決定木の生成処理(S33)を、tを1ずつ増加させつつ繰り返し行う(S36NO、S37)。すべてのサブデータセット(t=T)につき情報利得が最大となる決定木を生成したとき(S36YES)、繰り返し処理は終了する。その後、サブデータセットと各サブデータセットに対応する決定木とは記憶部2へと記憶されて(S38)、処理は終了する。
【0053】
<1.2.3 機械学習処理>
図5は、学習処理(S5)の詳細フロー図である。この図にあっては、決定木が分類結果である分類ラベルを出力する場合の学習処理について示されている。同図から明らかな通り、処理が開始すると、決定木の末端ノード(葉ノード)と出力ノードとを結ぶ重みwの値の初期化が行われる(S51)。この初期化に用いられる値は、例えば、すべての重みwについて同一の値であってもよい。その後、所定の変数の初期化処理が行われる(S52)。ここでは、繰り返し処理に用いられる変数nを1として初期化する。
【0054】
その後、学習対象データセットの中から、一のデータセットをn番目の入力データとして制御部1へと読み出す処理が行われる(S53)。次に、n番目の入力データをサブデータセット毎に生成された決定木へと入力して順方向演算を行い、対応する末端ノード、すなわち入力データが属すべき分類ラベルを出力する(S54)。
【0055】
その後、分類ラベルの正誤に関する割合である誤り率εの演算が行われる(S56)。具体的には、入力データに対応する教師データである教師ラベルが読み出され、当該教師ラベルと各決定木の出力ラベルとを比較し正誤を判定する。誤った分類を出力したと判定された場合には、以下の数式を用いて、エラーカウントの値(ErrorCount)を1だけ増加させる処理が行われる。なお、下記式においては、右辺の値を左辺の値へと代入することを意味している。
【数10】
【0056】
以上の正誤判定とエラーカウント値に関する演算処理をすべての決定木について行った後、エラーカウント値を決定木の個数(T)で除することにより誤り率εは以下の通り計算される。
【数11】
【0057】
エラーカウントを算出した後、重みの更新処理が行われる(S57)。具体的には、各重みにつき、以下の式を適用することにより重みを更新する。
【数12】
【0058】
なお、このとき、signの値は、決定木の出力である出力ラベルと教師ラベルとが一致する時に1、一致しない場合に−1となる値である。すなわち、以下の通りである。
【数13】
【0059】
以上の処理(S53〜S57)を、変数nの値を1ずつ増加させつつ、すべて(N個)の入力データについて行う(S58NO、S59)。すべての入力データについて処理が完了すると(S58YES)、重みwを記憶部2へと記憶して(S60)、処理は終了する。
【0060】
図6は、重みの更新による出力値の変化の概念図である。同図から明らかな通り、重みの更新により、出力(Output_Next)がより教師データ(Teach)へと近づくように関数近似がなされていることが分かる。
【0061】
このような構成によれば、決定木から分類ラベルが生成される場合であっても、出力ネットワークの機械学習処理を適切に行うことができる。
【0062】
なお、以上の機械学習処理は一例であり、重みの更新に係る具体的な演算式又は演算方法は、公知の他の種々の方法を採用可能である。また、更新対象は重みに限定されず、他のパラメータ、例えば、所定のバイアス値を学習させる等してもよい。
【0063】
<1.2.4 予測処理>
次に、
図7を参照しつつ、情報処理装置10により学習後に行われる予測処理について説明する。
図6は予測処理のフロー図である。
【0064】
同図から明らかな通り、処理が開始すると、サブデータセット毎に用意された複数の決定木の読出処理が行われる(S91)。その後、重みwの読出処理が行われる(S92)。次に、予測を行いたい入力データを読み込み(S93)、所定の順方向演算を行い各決定木において出力ラベルを特定する(S94)。続いて、同一のラベルを出力したノードに対応する重みwの総和を各ラベルについて算出して比較する。比較の結果、重みwの総和が最大となるラベルを最終出力ラベルとして出力し(S95)、予測処理は終了する。
【0065】
このような構成によれば、決定木から分類ラベルが生成される場合に、出力ネットワークを用いて適切な予測処理を行うことができる。
【0066】
なお、以上の予測処理は一例であり、最終出力ラベルの決定方法等については、公知の他の種々の方法を採用可能である。
【0067】
以上の構成によれば、複数の決定木の出力段に設けられた出力ネットワークのパラメータを教師データを用いて漸次的に更新していくことができるので、決定木の出力段のノードのうちより精度の良いノードに重きをおいた出力予測を行うことができる。従って、ランダム・フォレストを利用しつつも、さらに精度の良い出力予測を行うことができる機械学習技術を提供することができる。
【0069】
第1の実施形態においては、決定木からは分類ラベルが出力される構成について説明した。本実施形態においては、決定木から数値出力が生成される場合について説明する。
【0070】
<2.1 機械学習処理>
図8は、決定木から数値出力を行う場合の情報処理装置10における学習動作について説明したものである。なお、情報処理装置10のハードウェア構成(
図1を参照)やサブデータセットの生成処理、決定木の生成処理(S3)等については、第1の実施形態と略同一であるのでここでは説明を省略する。
【0071】
同図から明らかな通り、処理が開始すると、決定木の各末端ノード(葉ノード)と出力ノードとを結ぶ重みwの値の初期化が行われる(S71)。この初期化に用いられる値は、例えば、すべての重みwについて同一の値であってもよい。その後、所定の変数の初期化処理が行われる(S72)。ここでは、繰り返し処理に用いられる変数nを1として初期化する。
【0072】
その後、学習対象データセットの中から、一のデータセットをi番目の入力データとして制御部1へと読み出す処理が行われる(S73)。次に、n番目の入力データをサブデータセット毎に生成された各決定木へと入力して順方向演算を行い、それぞれにおいて対応する末端ノードを特定し、当該末端ノードに対応する数値出力を演算する(S74)。
【0073】
その後、下記の通り、各決定木出力(出力段の各ノード値)と各重みwとをそれぞれ掛けあわせて足し合わせた値を出力ノードからの最終出力(Output)として演算する(S75)。
【数14】
【0074】
続いて、最終出力に基づいて誤差Errorの演算を行う(S76)。具体的には、誤差Errorは、入力データに対応する教師データと最終出力値(Output)との差分の2乗を2で除した値の総和として以下の通り定義される。
【数15】
【0075】
次に、この誤差Errorを以下の通り決定木出力により偏微分して勾配を得る(S77)。
【数16】
【0076】
この勾配を用いて、下記の通り重みwを更新する(S78)。なお、ηは更新量の調整用の係数であり、例えば、0から1程度の範囲の適当な数値である。この更新処理によれば、最終出力値が教師データの値と離れる程、重みを強く更新することとなる。
【数17】
【0077】
以上の処理(S73〜S78)をすべて(N個)の入力データについて行う(S79NO)。すべての入力データについて処理が完了すると(S79YES)、重みwを記憶部2へと記憶して(S81)、処理は終了する。
【0078】
このような構成によれば、決定木から数値出力が生成される場合であっても、適切に機械学習処理を行うことができる。
【0079】
なお、以上の機械学習処理は一例であり、重みの更新に係る具体的な演算式又は演算方法は、公知の他の種々の方法を採用可能である。また、更新対象は重みに限定されず、他のパラメータ、例えば、所定のバイアス値を学習させる等してもよい。
【0080】
<2.2 予測処理>
続いて、
図9を参照しつつ、情報処理装置10による予測処理について説明する。
図9は、予測処理に関する詳細フロー図である。
【0081】
同図から明らかな通り、処理が開始すると、サブデータセット毎に用意された複数の決定木の読出処理が行われる(S101)。その後、重みwの読出処理が行われる(S102)。次に、予測を行いたい入力データを読み込む(S103)。その後、順方向演算を行って最終出力(Output)を演算する(S104)。具体的には、以下の通り、各決定木の出力値(出力段の各ノード値)と各重みwの積の総和を演算する。その後、処理は終了する。
【数18】
【0082】
このような構成によれば、決定木から回帰的な数値出力が生成される場合であっても、回帰的に予測出力を生成することができる。
【0083】
なお、以上の予測処理は一例であり、出力値の決定方法等については、公知の他の種々の方法を採用可能である。
【0084】
<3.第3の実施形態>
上述の実施形態における機械学習処理においては新規の学習処理について説明した。本実施形態では、追加学習処理について説明する。
【0085】
図10は、追加学習処理に関するフロー図である。同図から明らかな通り、処理が開始すると、各サブデータセットと対応して作成された複数の決定木を読み出す処理が行われる(S111)。また、学習済の重みwの読み出し処理が行われる(S112)。その後、学習対象となる新たな入力データが読み込まれることとなる(S113)。その後、上述の他の実施形態にて説明した機械学習処理と重みwの初期化動作部分や学習対象データを除いて略同一の機械学習処理が行われる(S114)。機械学習後、重みwを記憶部2へと記憶して(S115)、処理は終了する。
【0086】
このような構成によれば、同一の決定木を用いつつも、出力ネットワークのみを学習により更新することができ、追加学習にも好適な機械学習技術を提供することができる。
【0087】
<4.変形例>
上述の実施形態においては一旦決定木が生成された後は、当該決定木を固定して他の学習処理時、予測処理時にも適用する構成としたが、このような構成に限定されない。従って、例えば、追加的に決定木の増減、置換、交換若しくは削除等を行ってもよい。
【0088】
置換、交換若しくは削除する対象となる決定木の決定は、当該決定木の有効度合に基づいて行ってもよい。決定木の有効度合は、例えば、各決定木の出力段ノードの重みの総和値、平均値等を基準として決定してもよい。また、この有効度合の大きさに基づいて順位づけを行い、その順序の下位の決定木を優先的に置換、交換若しくは削除対象としてもよい。このような構成によれば、基礎となる決定木を交換等することでさらに予測精度等を向上させることができる。
【0089】
また、上述の実施形態においては、決定木の後段の出力ネットワークとして、重みとノードとから成る、所謂、人工ニューラルネットワーク又はそれ類似の構成を採用したが、本発明はこのような構成に限定されない。従って、決定木後段の出力ネットワークとして、例えば、サポート・ベクター・マシン等の他の機械学習技術を適用可能なネットワーク構成を採用してもよい。
【0090】
さらに、上述の実施形態においては、出力ネットワークとして、複数の決定木の出力段と重みを介して結合した単一の出力ノードを採用したが、本発明はこのような構成に限定されない。従って、例えば、多層型や全結合型のネットワーク構成、再帰経路を備える構成を採用してもよい。
【0091】
本発明の適用範囲は広く、ビッグデータを含む様々なデータの機械学習・予測にも適用可能である。例として、工場内のロボットの動作、株価、金融与信又は保険サービス関連情報等の金融データ、医療レセプト等の医療データ、商品の需給や購買データ、商品配送数、ダイレクトメール発送関連情報、来客数、又は問い合わせ数等の経済データ、バズワード、ソーシャルメディア(ソーシャルネットワーキングサービス)関連情報、IoTデバイス情報又はインターネットセキュリティ関連情報等のインターネット関連データ、気象関連データ、不動産関連データ、脈や血圧等のヘルスケア又は生体関連データ、ゲーム関連データ、動画・画像・音声等のデジタルデータ、若しくは、交通データや電力データ等の社会インフラデータの学習・予測に適用可能である。
【産業上の利用可能性】
【0092】
本発明は、機械学習技術を利用する種々の産業等にて利用可能である。
【符号の説明】
【0093】
1 制御部
2 記憶部
3 表示部
4 操作信号入力部
5 通信部
6 I/O部
10 情報処理装置
【要約】
【課題】 ランダム・フォレストを利用しつつも、さらに精度の良い出力予測を行うことができる機械学習技術を提供すること。
【解決手段】 所定の学習対象データセットに基づいて生成された複数の決定木を用いた機械学習装置であって、所定の入力データを取得する入力データ取得部と、前記入力データに基づいて、各前記決定木の出力である決定木出力を生成する決定木出力生成部と、少なくとも前記決定木出力と前記入力データに対応する所定の教師データとに基づいて、各前記決定木の出力段と結合して予測出力を生成する出力ネットワークのパラメータを更新するパラメータ更新部と、を備える機械学習装置が提供される。
【選択図】
図3