JP6992821B2 - 分類木生成方法、分類木生成装置および分類木生成プログラム - Google Patents

分類木生成方法、分類木生成装置および分類木生成プログラム Download PDF

Info

Publication number
JP6992821B2
JP6992821B2 JP2019564275A JP2019564275A JP6992821B2 JP 6992821 B2 JP6992821 B2 JP 6992821B2 JP 2019564275 A JP2019564275 A JP 2019564275A JP 2019564275 A JP2019564275 A JP 2019564275A JP 6992821 B2 JP6992821 B2 JP 6992821B2
Authority
JP
Japan
Prior art keywords
classification
candidates
tree
classification tree
condition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019564275A
Other languages
English (en)
Other versions
JPWO2019138584A1 (ja
Inventor
隆夫 竹之内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2019138584A1 publication Critical patent/JPWO2019138584A1/ja
Application granted granted Critical
Publication of JP6992821B2 publication Critical patent/JP6992821B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、分類木生成方法、分類木生成装置および分類木生成プログラムに関する。
分類木(決定木)は、任意の事項に対する観察結果から、任意の事項の目標値に関する結論を導く予測モデルである(例えば、非特許文献1参照)。分類木を生成する既存手法として、例えば非特許文献2に記載されているID3(Iterative Dichotomiser 3) や、非特許文献3に記載されているC4.5がある。また、特許文献1には、決定木を用いてデータをカテゴリに分類する際、分類精度だけでなく計算コストも考慮して決定木を生成するデータ分類装置が記載されている。
分類木を生成する既存手法のアルゴリズムを、図13を参照して説明する。図13は、分類木の生成対象の変数を示す説明図である。図13(a)に示すグラフの縦軸は、属性A(年齢)を表す。また、図13(a)に示すグラフの横軸は、属性B(性別)を表す。属性A(年齢)と属性B(性別)が、本例で生成される分類木の説明変数である。
また、図13(a)に示すグラフには、「X」と「Y」が記載されている。「X」は商品Xを表し、「Y」は商品Yを表す。商品Xと商品Yが、本例で生成される分類木の目的変数である。
分類木を生成する処理は、図13(a)に示すグラフ上のエリアを分割する処理に相当する。図13(b)に示すように、グラフ上のエリアで複数回分割が行われている。具体的には、エリアが上下に分割される1回目の分割が行われた後、上のエリアと下のエリアがそれぞれ左右に分割される2回目の分割が行われている。
図13(b)に示す分割処理は、例えば図14に示す分類木生成装置が行う。図14は、一般的な分類木生成装置の構成例を示すブロック図である。
図14に示す分類木生成装置900は、分類木学習用データ保存部910と、Score 計算部920と、分割点決定部930と、分割実行部940と、分割点保存部950とを備える。また、Score 計算部920は、InfoGain計算部921を含む。
分類木生成装置900は、図13(b)に示す分割処理を図15に示すフローチャートに従って行う。図15は、分類木生成装置900による分類木生成処理の動作を示すフローチャートである。
図15に示す分割処理の入力は、分割対象のエリアである。最初に、Score 計算部920は、分類木学習用データ保存部910に記憶されている分割対象のエリアにおける説明変数に関する分割点の候補を分割候補として列挙する。Score 計算部920は、列挙された全ての説明変数の全ての分割候補を「全分割候補」に入力する(ステップS001)。
全分割候補が0である場合(ステップS002におけるTrue)、分類木生成装置900は、他の分割対象のエリアに対して分割処理を行う(ステップS009)。全分割候補が0でない場合(ステップS002におけるFalse )、Score 計算部920は、全分割候補から未だScore が計算されていない分割候補を1つ取り出す。すなわち、分割候補ループに入る(ステップS003)。
取り出された分割候補に関して、Score 計算部920のInfoGain計算部921は、Score としてInformationGain (情報利得)を計算する(ステップS004)。InformationGain は、取り出された分割候補で分割対象のエリアが分割された場合のInformationGain である。InfoGain計算部921は、計算されたScore を分割点決定部930に入力する。
次いで、分割点決定部930は、入力されたScore が分割処理内で計算されたScore の中で最大であるか否かを判定する(ステップS005)。最大でない場合(ステップS005におけるNo)、ステップS007の処理が行われる。
最大である場合(ステップS005におけるYes )、分割点決定部930は、分割対象のエリアにおける分割点をステップS003で取り出された分割候補に更新する(ステップS006)。次いで、分割点決定部930は、更新された分割候補を分割点保存部950に保存する。
全分割候補の中でScore が計算されていない分割候補が存在する間、ステップS004~ステップS006の処理が繰り返し行われる。全分割候補の中の分割候補のScore が全て計算されたとき、分類木生成装置900は、分割候補ループを抜ける(ステップS007)。
次いで、分割実行部940は、分割点保存部950に保存されている分割点で分割対象のエリアを分割する(ステップS008)。
次いで、分類木生成装置900は、ステップS008で新たに生成された分割対象エリアを入力として分割処理を実行する(ステップS009)。例えば、ステップS008で新たに第1分割後エリアと第2分割後エリアとが生成された場合、分類木生成装置900は、2つの分割後エリアに対して再帰的に分割処理を実行する。すなわち、分割処理(第1分割後エリア)と分割処理(第2分割後エリア)とが実行される。
上記のように、分類木生成装置900は、分割処理を分割対象の全エリアに対して実行する。再帰的に分割処理が呼び出されることによって、全エリアが徐々に分割される。エリア内に分割点の候補が無くなった時、分割処理が終了する。
次に、InformationGain の計算方法を説明する。InformationGain は、以下のように計算される値である。
InformationGain =
(分割される前のエリアの平均情報量)-(分割された後のエリアの平均情報量)
非特許文献4に記載されているID3 でのInformationGain の計算アルゴリズムを以下に示す。なお、入力の独立変数をa1,・・・,anとおく。また、取り得る出力は集合D に格納されており、例題の集合C においてx ∈D が起こる割合をpx(C) で表す。
例題集合C に対する平均情報量M(C)は、以下のように計算される。
Figure 0006992821000001
次いで、例題集合C を、独立変数aiの値に応じて分割する。aiがv1,・・・,vmのm 通りの値を持つ場合、以下のように分割する。
Cij ⊂ C(ai = vj)
分割されたCij に応じた平均情報量M(Cij)は、以下のように計算される。
Figure 0006992821000002
計算された平均情報量を基に、独立変数aiの平均情報量の期待値Miは、以下のように計算される。
Figure 0006992821000003
式(3)で計算されるMiが、InformationGain に相当する値である。以下、図15に示す分割処理と、上記の計算アルゴリズムに従って分割対象のエリアを分割する例を説明する。図16は、分類木生成装置900による分割処理の例を示す説明図である。
図16(a)は、分割対象のエリアを示す。図16(a)に示す分割対象のエリアに対して、Score 計算部920は、分割候補を列挙する(ステップS001)。図16(b)に示す第1候補~第4候補が、列挙された全ての分割候補である。
次いで、InfoGain計算部921は、各分割候補のScore としてInfomationGain を計算する(ステップS004)。例えば、InfoGain計算部921は、第1候補に関して以下のようにInfomationGain を計算する。
分割される前のエリアには、x が7つ、y が5つの、合計で12個の要素が存在する。第1候補で分割された後の左のエリアには、x が4つ、y が4つの、合計で8個の要素が存在する。また、第1候補で分割された後の右のエリアには、x が3つ、y が1つの、合計で4個の要素が存在する。
上記の状況のエリアに対して、InfoGain計算部921は、第1候補に関するInfomationGain を計算する。まず、InfoGain計算部921は、分割される前のエリアの平均情報量を、式(1)に従って以下のように計算する。
(分割される前のエリアの平均情報量)
= -1 × ( 7/12 × log(7/12) + 5/12 × log(5/12)) ≒ 0.29497
次に、InfoGain計算部921は、分割された後の左のエリアの平均情報量と分割された後の右のエリアの平均情報量を、式(1)に従ってそれぞれ以下のように計算する。
(分割された後の左のエリアの平均情報量)
= -1 × ( 4/8 × log(4/8) + 4/8 × log(4/8)) ≒ 0.30103
(分割された後の右のエリアの平均情報量)
= -1 × ( 3/4 × log(3/4) + 1/4 × log(1/4)) ≒ 0.244219
以上の計算結果を基に、InfoGain計算部921は、第1候補のScore を、式(3)に従って以下のように計算する。
Score = InformationGain
= (分割される前のエリアの平均情報量)?(分割された後のエリアの平均情報量)
= (分割される前のエリアの平均情報量)?
( 8/12 × (分割された後の左のエリアの平均情報量)+
4/12 × (分割された後の右のエリアの平均情報量)
= 0.29497 - 0.282093 = 0.012877
InfoGain計算部921は、上記のように各分割候補のScore をそれぞれ計算する。計算された各分割候補のScore は、第1候補が0.012877、第2候補が0.003 、第3候補が0.002 、第4候補が0.003 である。よって、Score が最大の分割候補が第1候補であるため、分割点決定部930は、分割点を第1候補に決定する。
分割点が第1候補に決定されたため、分割実行部940は、図16に示す分割対象のエリアを第1候補で分割する(ステップS008)。第1候補で分割された分割対象のエリアを図17に示す。図17は、分類木生成装置900による分割処理の他の例を示す説明図である。
図17に示すように、分割対象のエリアは、それぞれ破線で囲まれた左のエリアと右のエリアに分割される。次に、分類木生成装置900は、左のエリアに対して再帰的に分割処理を実行する(ステップS009)。また、分類木生成装置900は、右のエリアに対しても再帰的に分割処理を実行する(ステップS009)。
図18は、分類木生成装置900による分割処理の他の例を示す説明図である。図18に示すように、右のエリアにおける分割候補は、第5候補のみである。よって、分割実行部940は、図18に示す破線で囲まれた分割対象のエリアを第5候補で分割する(ステップS008)。第5候補で分割された後の2つのエリアには分割候補が存在しないので、右のエリアにおける分割処理は終了する。
図19は、分類木生成装置900による分割処理の他の例を示す説明図である。図19に示すように、左のエリアにおける分割候補は、第6候補と、第7候補と、第8候補である。上記の方法で計算された各分割候補のScore は、第6候補が0.0 、第7候補が0.014 、第8候補が0.014 である。よって、Score が最大の分割候補は、第7候補と第8候補である。
Score が最大の分割候補が複数存在する場合、分割点になる分割候補は、ランダムに選択されたり、上から順に選択されたりする。本例では、分割点決定部930は、横軸に最も近い候補である第8候補を分割点に決定する。よって、分割実行部940は、図19に示す破線で囲まれた分割対象のエリアを第8候補で分割する(ステップS008)。
図20は、分類木生成装置900による分割処理の他の例を示す説明図である。図20に示す分割対象のエリアは、破線で分割されている。なお、図20に示す状態のエリアに対して更に分割処理が実行される場合もあるが、本例では図20に示す状態で分割処理が終了する。
図21は、分類木の例を示す説明図である。図21に示す分類木は、図20に示す分割対象のエリアを基に生成された分類木である。図21に示す分類木は、深さが2の木である。また、図21に示す分類木の葉ノード以外のノードは、分割処理で保存された分割点に対応する分類条件を表す。
分類木を構成する分類条件は、分割処理で保存された分割点を基に生成される。例えば、「A=1 」の分割点に対して、「A>1 」の分類条件が生成される。
また、図21に示す分類木の葉ノードは、購買される商品の傾向を表す。例えば、「B>2, A>2」の場合、図20に示すエリアに存在する要素は全てx であるため、葉ノードは「商品Xを買う傾向」を表す。また、「B>2, A≦2 」の場合、図20に示すエリアに存在する要素は1つのx と1つのy であるため、葉ノードは、購買される商品の傾向として「わからない」を表す。
また、「 B≦2, A>1」の場合、図20に示すエリアにはy の方が多く存在するため、葉ノードは、「商品Yを買う傾向」を表す。また、「 B≦2, A≦1 」の場合、図20に示すエリアにはx の方が多く存在するため、葉ノードは、「商品Xを買う傾向」を表す。
以上のように説明した分類木は、例えば秘密計算技術で使用される。秘密計算を実現する手段には、非特許文献5に記載されているBen-Orらの秘密分散を使う方法や、非特許文献6に記載されているElGamal 暗号等の準同型暗号を用いる方法や、非特許文献7に記載されているGentryによって提案された完全準同型暗号を用いる方法等がある。
本明細書における秘密計算を実現する手段は、Ben-Orらの秘密分散を利用したマルチパーティ計算(Multi-Party Computation:MPC) 方式である。図22は、秘密計算技術の例を示す説明図である。図22は、MPC 方式が採用されたシステムを示す。
秘密分散型のマルチパーティ計算技術が使用されると、複数のサーバが、秘匿されたデータを分散して保持し、秘匿された状態のデータに対して任意の計算を実行できる。OR回路やAND 回路等の論理回路の集合として表現される任意の計算は、MPC 方式が採用されたシステムにおいて理論的には実行可能である。
例えば図22に示すように、機密データAが複数のサーバに分散されて保持される。具体的には、機密データAは、「A=X+Y+Z」を満たすX、Y、Z(X、Yは乱数)に秘密分散されて保持される。
管理者a、管理者b、管理者cは、元の機密データAを一切知ることなく、サーバ間で協調して計算を行う、すなわちマルチパーティ計算を行う。マルチパーティ計算の結果、管理者a、管理者b、管理者cは、それぞれU、V、Wを得る。
次いで、分析者は、U、V、Wを基に計算結果を復元する。具体的には、分析者は、「R=U+V+W」を満たす、秘密分散されたデータに対する計算結果Rを得る。
図22に示すシステムに対して、ハッカーは、1つのサーバをハッキングしてもランダムな分散データしか得ることができない。すなわち、サイバー攻撃によるデータ漏洩が防止されるため、システムのセキュリティが向上する。サーバ間でデータを流通させる等の管理者同士の結託が行われない限りデータの漏洩は発生しないため、分析者は、安全にデータを処理できる。
図23は、秘密計算技術の他の例を示す説明図である。図23は、MPC 方式が採用されたシステムにおいて、秘密計算技術が用いられて複数の組織間でデータが結合され、分析される例を示す。
図23に示すように、組織Aの機密データA、および組織Bの機密データBが、それぞれ秘密分散される。具体的には、機密データAは、X、Y、Zに秘密分散される。また、機密データBは、X、Y、Zに秘密分散される。
各サーバの管理者は、機密データを開示することなく、分析処理を実行する。分析処理が実行されることによって、XとXからU、YとYからV、ZとZからWという分析結果がそれぞれ得られる。最後に、分析者は、U、V、Wを基に分析結果Rを復元する。
すなわち、図23に示すように、秘密計算技術が用いられて異なる組織の各データが秘密分散されたまま処理されることによって、組織外に元データや計算途中の内容が一切開示されることなく、結合データの分析結果が得られる。結合データが分析されると、単体のデータからは得られなかった新たな知見が獲得される可能性がある。
特許文献2には、上述した秘密計算技術が使用されたシステムの例が記載されている。
また、特許文献3には、複層サーバシステム等の複雑なネットワークシステムにおいて、性能異常の発生パターンを解析して明確にすることによって、性能異常の早期原因特定や早期異常解消を支援する性能異常分析装置が記載されている。
また、特許文献4には、多次元データに内在する点同士の距離以外の傾向も適正に反映して、多次元データを複数のクラスタに分割できるデータ分割装置が記載されている。
また、特許文献5には、質問の難易度または容易度を考慮して質問を配置した検索決定木の生成を可能にする検索決定木生成方法が記載されている。
特開2011-028519号公報 国際公開第2017/126434号 国際公開第2007/052327号 特開2006-330988号公報 特開2004-341928号公報
" 決定木" 、[online]、ウィキペディア、[ 平成29年12月07日検索] 、インターネット<https://ja.wikipedia.org/wiki/%E6%B1%BA%E5%AE%9A%E6%9C%A8> Quinlan J. Ross, "Induction of decision trees," Machine learning 1.1, 1986, pages 81-106. "C4.5"、[online]、ウィキペディア、[ 平成29年12月07日検索] 、インターネット<https://ja.wikipedia.org/wiki/C4.5> "ID3" 、[online]、ウィキペディア、[ 平成29年12月07日検索] 、インターネット<https://ja.wikipedia.org/wiki/ID3> M. Ben-Or, S. Goldwasser, and A. Wigderson, "Completeness theorems for non-cryptographic fault-tolerant distributed computation (extended abstract)," 20th Symposium on Theory of Computing (STOC), ACM, 1988, pages 1-10. T. E. Gamal, "A public key cryptosystem and a signature scheme based on discrete logarithms," IEEE Transactions on Information Theory, 1985, 31(4), pages 469-472. C. Gentry, "Fully homomorphic encryption using ideal lattices," In M. Mitzenmacher ed., Proceedings of the 41st Annual ACM Symposium on Theory of Computing, STOC 2009, ACM, 2009, pages 169-178.
図24は、MPC 方式が採用されたシステムでの分類木が用いられた予測処理の例を示す説明図である。図24(a)に示す分類木は、図21に示す分類木である。分類木が用いられた予測処理が実行される場合、例えば、MPC 方式が採用されたシステムに、事業者Aが図24(a)に示す分類木を入力する。
また、事業者Bが、分類木の各分類条件の評価に使用される個人情報を入力する。図24(a)に示す例では、事業者Bは、予測対象である個人の属性Aの値、および属性Bの値をMPC 方式が採用されたシステムに入力する。例えば、事業者Bが「B=1,A=3 」を入力する。
図24(b)は、MPC 方式が採用されたシステムによる予測処理を示す。図24(b)に示す二重線の矢印が、MPC 方式が採用されたシステムが各分類条件を評価した結果を表す。
図24(b)に示すように、MPC 方式が採用されたシステムは、「B>2 」、「A>1 」、「A>2 」の、分類木の全ての分類条件を評価する。本例では、MPC 方式が採用されたシステムは、「B>2 がfalse 」、「A>1 がtrue」、「A>2 がtrue」とそれぞれ評価する。
全ての分類条件の評価結果を基に、MPC 方式が採用されたシステムは、分類木のルートノードから葉ノードにたどり着く1つだけの経路を確認する。上記の評価結果に従って分類木のルートノードから葉ノード「商品Yを買う傾向」にたどり着く経路は、図24(b)に示すようにルートノード「B>2 」→ノード「A>1 」→葉ノード「商品Yを買う傾向」の1つだけである。確認した後、MPC 方式が採用されたシステムは、確認された経路の葉ノードを出力する。
MPC 方式が採用されたシステムが全分類条件を評価する理由は、全分類条件が評価されないと評価されていない分類条件(ノード)を基に評価結果が推測される可能性があり、結果的に入力である個人情報が判明する可能性があるためである。
評価結果が推測される理由は、総計算時間を基に評価された分類条件が特定される可能性があるためである。例えば、図24に示す分類木の「B>2 」、「A>1 」、「A>2 」の各分類条件の評価に掛かる計算時間がそれぞれ1秒、2秒、3秒であるとする。
総計算時間が3秒であれば、「B>2 」、「A>1 」の分類条件の評価で予測処理が終了したと推測され、葉ノードも「わからない」か「商品Xを買う傾向」のいずれかであると推測される。また、総計算時間が4秒であれば、「B>2 」、「A>2 」の分類条件の評価で予測処理が終了したと推測され、葉ノードも「商品Yを買う傾向」か「商品Xを買う傾向」のいずれかであると推測される。
上記のように、分類条件のうち一部の分類条件だけが評価されると、計算過程の内容等が外部に漏れる可能性がある。よって、分類木を用いて予測処理を行う際、MPC 方式が採用されたシステムには、全ての分類条件を評価することが求められる。
しかし、MPC 方式が採用されたシステムは、通常のシステムに比べて計算量や通信量が多いシステムである。分類木の全ての分類条件の評価も求められると、秘密計算処理の実行に掛かる時間がさらに長くなる。特許文献1~特許文献5、および非特許文献2~非特許文献4には、分類木の全ての分類条件が評価されることによって秘密計算処理が遅延するという課題を解決することが記載されていない。
[発明の目的]
そこで、本発明は、上述した課題を解決する、MPC 方式が採用されたシステムにおける分類木が用いられた予測処理の計算量を削減できる分類木生成方法、分類木生成装置および分類木生成プログラムを提供することを目的とする。
本発明による分類木生成方法は、分類条件をそれぞれ表す1つ以上のノードで構成された木構造で表現される予測モデルである分類木に追加される新たな分類条件を複数の分類条件の候補から選択する分類木生成装置で実行される分類木生成方法であって、分類木生成装置が、分類条件の候補に関する情報利得を計算し、分類条件の候補と分類木に含まれている各分類条件との差分のうちの最小の差分の度合いを表す値を分類条件の候補に関するコストとして計算し、複数の分類条件の候補のうち計算された情報利得から計算されたコストが減算された値が最大である分類条件の候補を新たな分類条件に選択することを特徴とする。
本発明による分類木生成方法は、分類木生成装置が、複数の分類条件の候補を基に生成される可能性がある分類条件の候補をそれぞれ表す複数のノードで構成された木構造で表現される予測モデルである分類木の候補を全て生成し、生成された分類木の候補に含まれている分類条件の候補に関する情報利得の総和を生成された分類木の候補を構成する全ノードに渡って計算し、生成された分類木の候補が用いられた予測処理における分類条件の候補を入力とする計算処理のコストに応じた値である分類条件の候補に関するコストの総和を生成された分類木の候補を構成する全ノードに渡って計算し、複数の分類木の候補のうち計算された情報利得の総和から計算されたコストの総和が減算された値が最大である分類木の候補を選択することを特徴とする。
本発明による分類木生成装置は、分類条件をそれぞれ表す1つ以上のノードで構成された木構造で表現される予測モデルである分類木に追加される新たな分類条件を複数の分類条件の候補から選択する分類木生成装置であって、分類条件の候補に関する情報利得を計算する第1計算部と、分類条件の候補と分類木に含まれている各分類条件との差分のうちの最小の差分の度合いを表す値を分類条件の候補に関するコストとして計算する第2計算部と、複数の分類条件の候補のうち計算された情報利得から計算されたコストが減算された値が最大である分類条件の候補を新たな分類条件に選択する選択部とを備えることを特徴とする。
本発明による分類木生成装置は、複数の分類条件の候補を基に生成される可能性がある分類条件の候補をそれぞれ表す複数のノードで構成された木構造で表現される予測モデルである分類木の候補を全て生成する生成部と、生成された分類木の候補に含まれている分類条件の候補に関する情報利得の総和を生成された分類木の候補を構成する全ノードに渡って計算する第1計算部と、生成された分類木の候補が用いられた予測処理における分類条件の候補を入力とする計算処理のコストに応じた値である分類条件の候補に関するコストの総和を生成された分類木の候補を構成する全ノードに渡って計算する第2計算部と、複数の分類木の候補のうち計算された情報利得の総和から計算されたコストの総和が減算された値が最大である分類木の候補を選択する選択部とを備えることを特徴とする。
本発明による分類木生成プログラムは、コンピュータに、分類条件をそれぞれ表す1つ以上のノードで構成された木構造で表現される予測モデルである分類木に追加される新たな分類条件が複数の分類条件の候補から選択される際に分類条件の候補に関する情報利得を計算する第1計算処理、分類条件の候補と分類木に含まれている各分類条件との差分のうちの最小の差分の度合いを表す値を分類条件の候補に関するコストとして計算する第2計算処理、および複数の分類条件の候補のうち計算された情報利得から計算されたコストが減算された値が最大である分類条件の候補を新たな分類条件に選択する選択処理を実行させることを特徴とする。
本発明による分類木生成プログラムは、コンピュータに、複数の分類条件の候補を基に生成される可能性がある分類条件の候補をそれぞれ表す複数のノードで構成された木構造で表現される予測モデルである分類木の候補を全て生成する生成処理、生成された分類木の候補に含まれている分類条件の候補に関する情報利得の総和を生成された分類木の候補を構成する全ノードに渡って計算する第1計算処理、生成された分類木の候補が用いられた予測処理における分類条件の候補を入力とする計算処理のコストに応じた値である分類条件の候補に関するコストの総和を生成された分類木の候補を構成する全ノードに渡って計算する第2計算処理、および複数の分類木の候補のうち計算された情報利得の総和から計算されたコストの総和が減算された値が最大である分類木の候補を選択する選択処理を実行させることを特徴とする。
本発明によれば、MPC 方式が採用されたシステムにおける分類木が用いられた予測処理の計算量を削減できる。
本発明による分類木生成装置の第1の実施形態の構成例を示すブロック図である。 分類木の生成対象の変数、分割点、および分割候補の例を示す説明図である。 分類木の生成対象の変数、分割点、および分割候補の他の例を示す説明図である。 分類木生成装置100による分割処理の例を示す説明図である。 分類木生成装置100による分割処理の他の例を示す説明図である。 分類木生成装置100による分割処理の他の例と生成された分類木の例を示す説明図である。 Score 計算部120による分類条件の変更の例を示す説明図である。 本発明による分類木生成装置のハードウェア構成例を示す説明図である。 本発明による分類木生成装置の第2の実施形態の構成例を示す説明図である。 第2の実施形態の分類木生成装置200による分類木生成処理の動作を示すフローチャートである。 本発明による分類木生成装置の概要を示すブロック図である。 本発明による分類木生成装置の他の概要を示すブロック図である。 分類木の生成対象の変数を示す説明図である。 一般的な分類木生成装置の構成例を示すブロック図である。 分類木生成装置900による分類木生成処理の動作を示すフローチャートである。 分類木生成装置900による分割処理の例を示す説明図である。 分類木生成装置900による分割処理の他の例を示す説明図である。 分類木生成装置900による分割処理の他の例を示す説明図である。 分類木生成装置900による分割処理の他の例を示す説明図である。 分類木生成装置900による分割処理の他の例を示す説明図である。 分類木の例を示す説明図である。 秘密計算技術の例を示す説明図である。 秘密計算技術の他の例を示す説明図である。 MPC 方式が採用されたシステムでの分類木が用いられた予測処理の例を示す説明図である。
実施形態1.
[構成の説明]
以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明による分類木生成装置の第1の実施形態の構成例を示すブロック図である。
図1に示す分類木生成装置100は、分類木学習用データ保存部110と、Score 計算部120と、分割点決定部130と、分割実行部140と、分割点保存部150とを備えている。また、Score 計算部120は、InfoGain計算部121と、MPCCostUP 計算部122とを含む。
図14に示す分類木生成装置900と異なり、本実施形態の分類木生成装置100は、MPCCostUP 計算部122を含む。MPCCostUP 計算部122以外の分類木生成装置100の構成は、分類木生成装置900の構成と同様である。
分類木が生成される際、本実施形態のScore 計算部120は、InformationGain だけでなく、MPC に関するコストであるMPCCostUP も含まれたScore を計算する。MPCCostUPには、MPC に関する計算量、通信量、メモリ使用量等が反映される。
図15に示す処理では「Score = InformationGain 」であるが、本実施形態のScore は、以下のように計算される。
Score = α × InformationGain - β × MPCCostUP ・・・式(4)
式(4)におけるα、βは、独立した変数である。InformationGain の計算方法は、上述した方法と同様である。
以下、MPCCostUP の計算方法を説明する。分類条件のMPCCostUP は、生成された分類木が用いられた予測処理における分類条件を入力とする計算処理のコストに応じた値である。
例えば、分割候補が分割点保存部150に保存されている分割点と同じであれば、MPCCostUP 計算部122は、「MPCCostUP = 0 」と計算する。
分割点保存部150に保存されている分割点と同じである場合に「MPCCostUP = 0 」と計算する理由を図2を参照して説明する。図2は、分類木の生成対象の変数、分割点、および分割候補の例を示す説明図である。
図2(a)に示す分割候補と分割点は、属性B軸において近い位置に存在する。すなわちそれぞれが対応する分類条件が類似しているため、分割候補が分割点と一致させられても、分類精度が大きくは低下しないと考えられる。
図2(b)に示す分割候補と分割点は、属性B軸において同じ位置に存在する。図2(b)に示すようにそれぞれが対応する分類条件が同じであると、分類精度は低下するが、予測処理の計算量は減る。
分類精度が大きくは低下しないのであれば、分割点に近い分割候補が、分割点と一致させられた方が、MPC 方式が採用されたシステムにおける分類木が用いられた予測処理の計算量が減る。その理由は、図2(b)に示す例であれば、MPC 方式が採用されたシステムは、分割点に対応する分類条件を評価した際の計算結果を、分割候補に対応する分類条件の評価に再利用できるからである。
図3は、分類木の生成対象の変数、分割点、および分割候補の他の例を示す説明図である。例えば、第1分割候補が第1分割点と一致させられても、分類精度への影響は小さいように考えられる。しかし、第2分割候補が第2分割点と一致させられると、分類精度が低下しすぎるように考えられる。以上のように、分割候補の調整には、計算量と分類精度とのバランスを考慮することが求められる。
上記のように、分割が実行された分割点は分割点保存部150に保存されているため、MPCCostUP 計算部122は、分割候補が分割点保存部150に保存されている分割点と同じであれば、「MPCCostUP = 0 」と計算する。
また、分割候補が分割点保存部150に保存されている分割点と異なるのであれば、MPCCostUP 計算部122は、MPCCostUP を各分類条件の種類に応じた値に計算する。
例えば、MPCCostUP 計算部122は、属性に応じてMPCCostUP を計算してもよい。例えば、属性pが整数、属性qが浮動小数点であれば、MPCCostUP 計算部122は、分類条件「p>○」、「q>○」にそれぞれ対応する分割候補のMPCCostUP をそれぞれ「1」、「2」と計算してもよい。また、属性がカテゴリ値や値域の場合、MPCCostUP は、「1」、「2」以外の別の値に計算される。なお、○は任意の値を表す。
また、MPCCostUP 計算部122は、演算子に応じてMPCCostUP を計算してもよい。例えば、MPCCostUP 計算部122は、分類条件「○=○」、「○>○」にそれぞれ対応する分割候補のMPCCostUP をそれぞれ「0.5」、「1」と計算してもよい。
また、MPCCostUP 計算部122は、演算の複雑度に応じてMPCCostUP を計算してもよい。例えば、MPCCostUP 計算部122は、分類条件「A+B>○」、「A×B>○」、「(A+B)×C>○」にそれぞれ対応する分割候補のMPCCostUP を、乗算の負荷の大きさを反映させてそれぞれ「2」、「5」、「10」と計算してもよい。
以下、本実施形態の分類木生成装置100による分類木の生成例を、図4~図6を参照して説明する。図4は、分類木生成装置100による分割処理の例を示す説明図である。
図4は、分割が2回実行された後の分割対象のエリアを示す。分割実行部140は、1回目の分割を「B=2 」で実行している。分割候補は図16(b)に示す第1候補~第4候補であるがMPCCostUP がどの分割候補も同じ値であるため、分割点決定部130は、InfomationGain に応じて第1候補を分割点に決定している。分割が実行された後、分割点保存部150には分割点「B=2 」が保存されている。
分割実行部140は、2回目の分割を分割対象の右のエリアの「A=2 」で実行している。分割候補は図18に示す第5候補のみであるため、分割点決定部130は、第5候補をそのまま分割点に決定している。分割が実行された後、分割点保存部150には分割点「B=2 」と分割点「A=2 」が保存されている。
図5は、分類木生成装置100による分割処理の他の例を示す説明図である。分類木生成装置100は、分割対象の左のエリアにおいて2回目の分割を行う。図19に示す例と同様に、左のエリアにおける分割候補は、第6候補と、第7候補と、第8候補である。
Score 計算部120は、α=0.99、β=0.01の式(4)に従って各候補のScore を計算する。InfoGain計算部121は、第6候補、第7候補、および第8候補の各InformationGain をそれぞれ0.0 、0.014 、0.014 と計算する。
また、MPCCostUP 計算部122は、第6候補、第7候補、および第8候補の各MPCCostUP をそれぞれ1 、0 、1 と計算する。第7候補のMPCCostUP が0 になる理由は、分割点保存部150に第7候補と同じ分割点「A=2 」が保存されているためである。
計算された各候補のScore のうち第7候補のScore が最も大きいので、分割点決定部130は、第7候補を分割点に決定する。次いで、分割実行部140は、第7候補で分割対象の左のエリアを分割する。
図6は、分類木生成装置100による分割処理の他の例と生成された分類木の例を示す説明図である。図6(a)は、第7候補で分割された後の分割対象のエリアを示す。
図6(b)は、図6(a)に示す分割対象のエリアを基に生成された分類木である。図6(b)に示す分類木には、分類条件「A>2 」のノードが2つ存在する。よって、例えば右のノードの分類条件が評価される際、左のノードの分類条件が評価された際の計算結果が再利用可能であるため、予測処理全体に掛かる計算量が削減可能である。
上記のように、MPCCostUP 計算部122は、分割点保存部150に分割候補と同じ分割点が保存されていれば、MPCCostUP を0 と計算してもよい。また、MPCCostUP 計算部122は、分類条件の種類に応じてMPCCostUP の値を計算してもよい。例えば、MPCCostUP 計算部122は、分類条件における属性の種類(整数、浮動小数点、カテゴリ値)や演算子の種類(大小比較、一致)に応じてMPCCostUP の値を計算してもよい。
また、MPCCostUP 計算部122は、分割候補に対応する分類条件が分割点保存部150に保存されている分割点に対応する分類条件と途中まで同じであれば、異なる部分のみに関するコストをMPCCostUP として計算してもよい。
例えば、分割点保存部150に分類条件「(A+B)×A>1」に対応する分割点が保存されており、分割候補に対応する分類条件が「(A+B)×B>2」である場合、共通部分である「(A+B)」の計算結果が再利用可能である。
よって、MPCCostUP 計算部122は、「○×B>2」に関する計算コスト分をMPCCostUP として計算してもよい。すなわち、MPCCostUP は、分類木に追加される分類条件の候補と分類木に含まれている分類条件との差分の度合いを表す値である。式(4)では、分類木に含まれている各分類条件との差分のうちの最小の差分の度合いを表す値がMPCCostUP として使用される。
また、MPCCostUP 計算部122は、分類条件を評価するMPC 方式が採用されたシステムを表す論理回路中のAND 回路の深さに応じて、MPCCostUP を計算してもよい。MPC に関する計算量や通信量は、MPC 方式が採用されたシステムを表す論理回路中のAND 回路の深さに依存する。
本実施形態では、Score 計算におけるInformationGain とMPCCostUP とのバランスを適切にとることが重要である。例えば、MPC に関する計算コストは、分類木が用いられた予測処理全体の計算量、すなわち分類木の分類条件の数に依存する。バランスをとるために、分類木の分類条件が増えるほどβをαよりも大きくすることによって、MPCCostUP の影響を大きくすることが考えられる。
また、予測処理の実行環境が豊富な通信帯域幅が用意され高速なCPU(Central Processing Unit )が搭載されている環境である場合、MPCCostUP の影響はあまり考慮されなくてもよい。よって、バランスをとるためにαをβよりも大きくすることによって、MPCCostUP の影響を小さくすることが考えられる。
[動作の説明]
本実施形態の分類木生成装置100による分割処理の動作は、図15に示す動作と同様である。本実施形態では、ステップS004においてScore 計算部120が、InfomationGain とMPCCostUP とを基に分割候補のScore を計算する。
なお、Score 計算部120は、分割点保存部150に保存されている分割点に対応する他のノードの分類条件と分割候補に対応する分類条件が類似している場合、以下のように各条件を変更してもよい。図7は、Score 計算部120による分類条件の変更の例を示す説明図である。
Score を計算する際、Score 計算部120のMPCCostUP 計算部122は、分割点保存部150に保存されている分割点を参照する。参照した際、Score 計算部120は、参照された分割点の値と分割候補の値との中間値が含まれる条件に、それぞれが対応する各分類条件を変更してもよい。
図7(a)は、分類条件が変更される前の分類木を示す。図7(a)に示す分割候補に対応する分類条件「A>4 」と、分類条件「A>6 」は類似している。図7(a)に示す分類木に対して、Score 計算部120は、両条件を中間値である5が含まれた「A>5 」に変更する。
図7(b)は、分類条件が変更された後の分類木を示す。分類条件が変更された後、図7(b)に示す領域71に対応するエリアでの分割処理は、新たな分割点で再度実行されることが求められる。なお、図7に示す分類条件の変更は、領域71に対応するエリアで分割が再度実行されても領域72に影響が及ばないような分類条件に限って実行可能である。
またScore 計算の重みαの値、重みβの値に連動して、図7に示す分類条件の変更が実行される閾値が決定されてもよい。閾値は、要求される計算量の削減の程度に応じて決定される。図7に示す分類条件の変更が実行されると、同一の分類条件が少ない場合であっても強制的に分類条件が同じ分割候補が生成されるため、確実に予測処理の計算量が削減される。
[効果の説明]
本実施形態の分類木生成装置100は、MPC 方式が採用されたシステムにおける分類木が用いられた予測処理の計算量を削減できる。その理由は、Score 計算部120が既に分類木で使用されている分類条件に一致している条件、または類似している条件に対応する分割候補のScore が大きくなるようにScore を計算するため、生成される分類木中に同じ分類条件、または類似する分類条件が含まれやすくなるためである。
以下、第1の実施形態の分類木生成装置100のハードウェア構成の具体例を説明する。図8は、本発明による分類木生成装置のハードウェア構成例を示す説明図である。
図8に示す分類木生成装置100は、CPU101と、主記憶部102と、通信部103と、補助記憶部104とを備える。また、ユーザが操作するための入力部105や、ユーザに処理結果または処理内容の経過を提示するための出力部106を備えてもよい。
主記憶部102は、データの作業領域やデータの一時退避領域として用いられる。主記憶部102は、例えばRAM(Random Access Memory)である。
通信部103は、有線のネットワークまたは無線のネットワーク(情報通信ネットワーク)を介して、周辺機器との間でデータを入力および出力する機能を有する。
補助記憶部104は、一時的でない有形の記憶媒体である。一時的でない有形の記憶媒体として、例えば磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリが挙げられる。
入力部105は、データや処理命令を入力する機能を有する。入力部105は、例えばキーボードやマウス等の入力デバイスである。
出力部106は、データを出力する機能を有する。出力部106は、例えば液晶ディスプレイ装置等の表示装置、またはプリンタ等の印刷装置である。
また、図8に示すように、分類木生成装置100において、各構成要素は、システムバス107に接続されている。
補助記憶部104は、例えば、図1に示すInfoGain計算部121、MPCCostUP 計算部122、分割点決定部130、および分割実行部140を実現するためのプログラムを記憶している。
また、分類木学習用データ保存部110、および分割点保存部150は、主記憶部102であるRAMで実現されてもよい。
実施形態2.
[構成の説明]
次に、本発明の第2の実施形態を、図面を参照して説明する。図9は、本発明による分類木生成装置の第2の実施形態の構成例を示す説明図である。
図9に示す分類木生成装置200は、分類木学習用データ保存部210と、分類木全パターン計算部220と、Score 計算部230と、最適分類木決定部240と、分割点保存部250とを備える。また、Score 計算部230は、InfoGain計算部231と、MPCCostUP 計算部232とを含む。
分類木学習用データ保存部210、InfoGain計算部231、MPCCostUP 計算部232、および分割点保存部250が有する各機能は、第1の実施形態の分類木学習用データ保存部110、InfoGain計算部121、MPCCostUP 計算部122、および分割点保存部150が有する各機能とそれぞれ同様である。
第1の実施形態の分類木生成装置100は、各分割候補のInfomationGain とMPCCostUP を考慮し、Score が最大の分割候補を分割点に決定し、分割点で分割する。すなわち、分類木生成装置100は分割点が決定される度に分割(グリーディに分割)している。
グリーディに分割が行われる分類木生成処理には、分類木の生成に掛かる計算量が少ないというメリットがあるが、必ずしも最適解が得られるとは限らないというデメリットがある。その理由は、全ての分類木の候補が検討されない可能性があるからである。
本実施形態の分類木生成装置200の分類木全パターン計算部220は、分割対象のエリアをグリーディに分割する代わりに、最初に分類木として考えられる全ての木構造を生成する。次いで、Score 計算部230は、生成された全ての木構造に対して、木全体のInfomationGain と木全体のMPCCost とをそれぞれ計算する。
次いで、Score 計算部230は、計算された木全体のInfomationGain と計算された木全体のMPCCost とを基に全ての木構造に対してScore を計算する。次いで、最適分類木決定部240は、計算されたScore を基に、最適な分類木を選択する。上記の方法で分類木を選択することによって、分類木生成装置200は、最適解である分類木をより確実に生成できる。
[動作の説明]
以下、本実施形態の分類木生成装置200の分類木を生成する動作を図10を参照して説明する。図10は、第2の実施形態の分類木生成装置200による分類木生成処理の動作を示すフローチャートである。
図10に示す分割処理の入力は、分割対象のエリアである。最初に、分類木全パターン計算部220は、分類木学習用データ保存部210に記憶されている分割対象のエリアにおける説明変数に関する分割点の候補を分割候補として列挙する(ステップS101)。すなわち、分類木全パターン計算部220は、エリア全体に渡って全ての分割候補を列挙する。
次いで、分類木全パターン計算部220は、全ての分割候補でエリアが分割されるように分割を繰り返し実行することによって、全ての分類木候補を生成する(ステップS102)。
次いで、Score 計算部230は、全ての分類木候補から未だ木全体Score が計算されていない分類木候補を1つ取り出す。すなわち、分類木候補ループに入る(ステップS103)。
取り出された分類木候補に関して、Score 計算部230のInfoGain計算部231は、木全体InfomationGain を、分類木候補の各ノードに渡って分類条件のInfomatioGain の総和をとることによって計算する(ステップS104)。
次いで、Score 計算部230のMPCCostUP 計算部232は、取り出された分類木候補に関して、木全体MPCCostUP を、分類木候補の各ノードに渡って分類条件のMPCCostUP の総和をとることによって計算する(ステップS105)。異なるノードで分類条件が同じであれば、1つのノード分のMPCCostUP のみが木全体MPCCostUP に加算される。
次いで、Score 計算部230は、木全体Score を以下のように計算する(ステップS106)。
木全体Score = α × 木全体InfomationGain - β × 木全体MPCCostUP
・・・式(5)
全ての分類木候補の中で木全体Score が計算されていない分類木候補が存在する間、ステップS104~ステップS106の処理が繰り返し行われる。全ての分類木候補の木全体Score が計算されたとき、Score 計算部230は、分類木候補ループを抜ける(ステップS107)。
次いで、最適分類木決定部240は、全ての分類木候補の中で木全体Score が最大である分類木候補を分類木に決定する(ステップS108)。分類木を決定した後、分類木生成装置200は、分類木生成処理を終了する。
[効果の説明]
本実施形態の分類木生成装置200は、第1の実施形態の分類木生成装置100に比べて最適解である分類木をより確実に生成できる。その理由は、分類木全パターン計算部220が最初に生成される可能性がある分類木候補を全て生成し、Score 計算部230が各分類木候補の木全体Score をそれぞれ計算するため、分類木候補の検討漏れが防止されるからである。
なお、分類木生成装置200のハードウェア構成は、図8に示すハードウェア構成と同様の構成でもよい。
また、分類木生成装置100、および分類木生成装置200は、ハードウェアにより実現されてもよい。例えば、分類木生成装置100、および分類木生成装置200は、内部に図1に示すような機能、または図9に示すような機能を実現するプログラムが組み込まれたLSI(Large Scale Integration )等のハードウェア部品が含まれる回路が実装されてもよい。
また、分類木生成装置100、および分類木生成装置200は、図8に示すCPU101が図1に示す各構成要素が有する機能、または図9に示す各構成要素が有する機能を提供するプログラムを実行することによって、ソフトウェアにより実現されてもよい。
ソフトウェアにより実現される場合、CPU101が補助記憶部104に格納されているプログラムを、主記憶部102にロードして実行し、分類木生成装置100、または分類木生成装置200の動作を制御することによって、各機能がソフトウェアにより実現される。
また、各構成要素の一部または全部は、汎用の回路(circuitry )または専用の回路、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
次に、本発明の概要を説明する。図11は、本発明による分類木生成装置の概要を示すブロック図である。本発明による分類木生成装置10は、分類条件をそれぞれ表す1つ以上のノードで構成された木構造で表現される予測モデルである分類木に追加される新たな分類条件を複数の分類条件の候補から選択する分類木生成装置であって、分類条件の候補に関する情報利得を計算する第1計算部11(例えば、InfoGain計算部121)と、分類条件の候補と分類木に含まれている各分類条件との差分のうちの最小の差分の度合いを表す値を分類条件の候補に関するコストとして計算する第2計算部12(例えば、MPCCostUP 計算部122)と、複数の分類条件の候補のうち計算された情報利得から計算されたコストが減算された値が最大である分類条件の候補を新たな分類条件に選択する選択部13(例えば、分割点決定部130)とを備える。
そのような構成により、分類木生成装置は、MPC 方式が採用されたシステムにおける分類木が用いられた予測処理の計算量を削減できる。
また、第2計算部12は、分類木に含まれている分類条件と同一の分類条件の候補に関するコストを0と計算してもよい。
そのような構成により、分類木生成装置は、MPC 方式が採用されたシステムにおける分類木が用いられた予測処理の計算量を削減できる。
また、第2計算部12は、分類条件の候補の内容(例えば、分類条件に含まれる属性、演算子、属性の計算)に応じて分類条件の候補に関するコストを計算してもよい。
そのような構成により、分類木生成装置は、MPC 方式が採用されたシステムにおける分類木が用いられた予測処理の計算量をコストに反映できる。
また、第2計算部12は、分類木を用いて予測処理を実行するシステムを表す論理回路を生成し、生成された論理回路に含まれるAND 回路に応じて分類条件の候補に関するコストを計算してもよい。
そのような構成により、分類木生成装置は、MPC 方式が採用されたシステムにおける分類木が用いられた予測処理の計算量をより正確にコストに反映できる。
また、第2計算部12は、分類木の深さまたは分類木に含まれている分類条件の数に応じて計算された情報利得から減算される計算されたコストの重みを変更してもよい。
そのような構成により、分類木生成装置は、MPC 方式が採用されたシステムにおける分類木が用いられた予測処理全体の計算量と情報利得とのバランスをとることができる。
また、第2計算部12は、分類木を用いて予測処理を実行するシステムの演算処理能力(例えば、通信帯域幅やCPU速度)に応じて計算された情報利得から減算される計算されたコストの重みを変更してもよい。
そのような構成により、分類木生成装置は、MPC 方式が採用されたシステムの演算処理能力をコストに反映できる。
また、第2計算部12は、最小の差分の度合いが所定の閾値以下である分類条件の候補と分類木に含まれている分類条件とを分類条件の候補と分類条件とを基に生成された新たな条件にいずれも変更してもよい。
そのような構成により、分類木生成装置は、分類木に分類条件の候補と同じ分類条件が含まれていない場合であっても分類木が用いられた予測処理の計算量を削減できる。
図12は、本発明による分類木生成装置の他の概要を示すブロック図である。本発明による分類木生成装置20は、複数の分類条件の候補を基に生成される可能性がある分類条件の候補をそれぞれ表す複数のノードで構成された木構造で表現される予測モデルである分類木の候補を全て生成する生成部21(例えば、分類木全パターン計算部220)と、生成された分類木の候補に含まれている分類条件の候補に関する情報利得の総和を生成された分類木の候補を構成する全ノードに渡って計算する第1計算部22(例えば、InfoGain計算部231)と、生成された分類木の候補が用いられた予測処理における分類条件の候補を入力とする計算処理のコストに応じた値である分類条件の候補に関するコストの総和を生成された分類木の候補を構成する全ノードに渡って計算する第2計算部23(例えば、MPCCostUP 計算部232)と、複数の分類木の候補のうち計算された情報利得の総和から計算されたコストの総和が減算された値が最大である分類木の候補を選択する選択部24(例えば、最適分類木決定部240)とを備える。
そのような構成により、分類木生成装置は、MPC 方式が採用されたシステムにおける分類木が用いられた予測処理の計算量を削減できる。
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
(付記1)分類条件をそれぞれ表す1つ以上のノードで構成された木構造で表現される予測モデルである分類木に追加される新たな分類条件を複数の分類条件の候補から選択する分類木生成装置で実行される分類木生成方法であって、分類条件の候補に関する情報利得を計算し、分類条件の候補と前記分類木に含まれている各分類条件との差分のうちの最小の差分の度合いを表す値を分類条件の候補に関するコストとして計算し、前記複数の分類条件の候補のうち計算された情報利得から計算されたコストが減算された値が最大である分類条件の候補を前記新たな分類条件に選択することを特徴とする分類木生成方法。
(付記2)分類木に含まれている分類条件と同一の分類条件の候補に関するコストを0と計算する付記1記載の分類木生成方法。
(付記3)分類条件の候補の内容に応じて前記分類条件の候補に関するコストを計算する付記1または付記2記載の分類木生成方法。
(付記4)分類木を用いて予測処理を実行するシステムを表す論理回路を生成し、生成された論理回路に含まれるAND 回路に応じて分類条件の候補に関するコストを計算する付記1から付記3のうちのいずれか1項に記載の分類木生成方法。
(付記5)分類木の深さまたは前記分類木に含まれている分類条件の数に応じて計算された情報利得から減算される計算されたコストの重みを変更する付記1から付記4のうちのいずれか1項に記載の分類木生成方法。
(付記6)分類木を用いて予測処理を実行するシステムの演算処理能力に応じて計算された情報利得から減算される計算されたコストの重みを変更する付記1から付記5のうちのいずれか1項に記載の分類木生成方法。
(付記7)最小の差分の度合いが所定の閾値以下である分類条件の候補と分類木に含まれている分類条件とを前記分類条件の候補と前記分類条件とを基に生成された新たな条件にいずれも変更する付記1から付記6のうちのいずれか1項に記載の分類木生成方法。
(付記8)複数の分類条件の候補を基に生成される可能性がある分類条件の候補をそれぞれ表す複数のノードで構成された木構造で表現される予測モデルである分類木の候補を全て生成し、生成された分類木の候補に含まれている分類条件の候補に関する情報利得の総和を生成された分類木の候補を構成する全ノードに渡って計算し、生成された分類木の候補が用いられた予測処理における分類条件の候補を入力とする計算処理のコストに応じた値である分類条件の候補に関するコストの総和を生成された分類木の候補を構成する全ノードに渡って計算し、複数の分類木の候補のうち計算された情報利得の総和から計算されたコストの総和が減算された値が最大である分類木の候補を選択することを特徴とする分類木生成方法。
(付記9)分類条件をそれぞれ表す1つ以上のノードで構成された木構造で表現される予測モデルである分類木に追加される新たな分類条件を複数の分類条件の候補から選択する分類木生成装置であって、分類条件の候補に関する情報利得を計算する第1計算部と、分類条件の候補と前記分類木に含まれている各分類条件との差分のうちの最小の差分の度合いを表す値を分類条件の候補に関するコストとして計算する第2計算部と、前記複数の分類条件の候補のうち計算された情報利得から計算されたコストが減算された値が最大である分類条件の候補を前記新たな分類条件に選択する選択部とを備えることを特徴とする分類木生成装置。
(付記10)複数の分類条件の候補を基に生成される可能性がある分類条件の候補をそれぞれ表す複数のノードで構成された木構造で表現される予測モデルである分類木の候補を全て生成する生成部と、生成された分類木の候補に含まれている分類条件の候補に関する情報利得の総和を生成された分類木の候補を構成する全ノードに渡って計算する第1計算部と、生成された分類木の候補が用いられた予測処理における分類条件の候補を入力とする計算処理のコストに応じた値である分類条件の候補に関するコストの総和を生成された分類木の候補を構成する全ノードに渡って計算する第2計算部と、複数の分類木の候補のうち計算された情報利得の総和から計算されたコストの総和が減算された値が最大である分類木の候補を選択する選択部とを備えることを特徴とする分類木生成装置。
(付記11)コンピュータに、分類条件をそれぞれ表す1つ以上のノードで構成された木構造で表現される予測モデルである分類木に追加される新たな分類条件が複数の分類条件の候補から選択される際に分類条件の候補に関する情報利得を計算する第1計算処理、分類条件の候補と前記分類木に含まれている各分類条件との差分のうちの最小の差分の度合いを表す値を分類条件の候補に関するコストとして計算する第2計算処理、および前記複数の分類条件の候補のうち計算された情報利得から計算されたコストが減算された値が最大である分類条件の候補を前記新たな分類条件に選択する選択処理を実行させるための分類木生成プログラム。
(付記12)コンピュータに、複数の分類条件の候補を基に生成される可能性がある分類条件の候補をそれぞれ表す複数のノードで構成された木構造で表現される予測モデルである分類木の候補を全て生成する生成処理、生成された分類木の候補に含まれている分類条件の候補に関する情報利得の総和を生成された分類木の候補を構成する全ノードに渡って計算する第1計算処理、生成された分類木の候補が用いられた予測処理における分類条件の候補を入力とする計算処理のコストに応じた値である分類条件の候補に関するコストの総和を生成された分類木の候補を構成する全ノードに渡って計算する第2計算処理、および複数の分類木の候補のうち計算された情報利得の総和から計算されたコストの総和が減算された値が最大である分類木の候補を選択する選択処理を実行させるための分類木生成プログラム。
産業上の利用の可能性
本発明は、秘密計算技術の分野に好適に適用される。
10、20、100、200、900 分類木生成装置
11、22 第1計算部
12、23 第2計算部
13、24 選択部
21 生成部
101 CPU
102 主記憶部
103 通信部
104 補助記憶部
105 入力部
106 出力部
107 システムバス
110、210、910 分類木学習用データ保存部
220 分類木全パターン計算部
120、230、920 Score 計算部
121、231、921 InfoGain計算部
122、232 MPCCostUP 計算部
130、930 分割点決定部
140、940 分割実行部
240 最適分類木決定部
150、250、950 分割点保存部

Claims (12)

  1. 分類条件をそれぞれ表す1つ以上のノードで構成された木構造で表現される予測モデルである分類木に追加される新たな分類条件を複数の分類条件の候補から選択する分類木生成装置で実行される分類木生成方法であって、
    前記分類木生成装置が、
    分類条件の候補に関する情報利得を計算し、
    分類条件の候補と前記分類木に含まれている各分類条件との差分のうちの最小の差分の度合いを表す値を分類条件の候補に関するコストとして計算し、
    前記複数の分類条件の候補のうち計算された情報利得から計算されたコストが減算された値が最大である分類条件の候補を前記新たな分類条件に選択する
    ことを特徴とする分類木生成方法。
  2. 分類木生成装置が、
    分類木に含まれている分類条件と同一の分類条件の候補に関するコストを0と計算する
    請求項1記載の分類木生成方法。
  3. 分類木生成装置が、
    分類条件の候補の内容に応じて前記分類条件の候補に関するコストを計算する
    請求項1または請求項2記載の分類木生成方法。
  4. 分類木生成装置が、
    分類木を用いて予測処理を実行するシステムを表す論理回路を生成し、
    生成された論理回路に含まれるAND 回路に応じて分類条件の候補に関するコストを計算する
    請求項1から請求項3のうちのいずれか1項に記載の分類木生成方法。
  5. 分類木生成装置が、
    分類木の深さまたは前記分類木に含まれている分類条件の数に応じて計算された情報利得から減算される計算されたコストの重みを変更する
    請求項1から請求項4のうちのいずれか1項に記載の分類木生成方法。
  6. 分類木生成装置が、
    分類木を用いて予測処理を実行するシステムの演算処理能力に応じて計算された情報利得から減算される計算されたコストの重みを変更する
    請求項1から請求項5のうちのいずれか1項に記載の分類木生成方法。
  7. 分類木生成装置が、
    最小の差分の度合いが所定の閾値以下である分類条件の候補と分類木に含まれている分類条件とを前記分類条件の候補と前記分類条件とを基に生成された新たな条件にいずれも変更する
    請求項1から請求項6のうちのいずれか1項に記載の分類木生成方法。
  8. 分類木生成装置が、
    複数の分類条件の候補を基に生成される可能性がある分類条件の候補をそれぞれ表す複数のノードで構成された木構造で表現される予測モデルである分類木の候補を全て生成し、
    生成された分類木の候補に含まれている分類条件の候補に関する情報利得の総和を生成された分類木の候補を構成する全ノードに渡って計算し、
    生成された分類木の候補が用いられた予測処理における分類条件の候補を入力とする計算処理のコストに応じた値である分類条件の候補に関するコストの総和を生成された分類木の候補を構成する全ノードに渡って計算し、
    複数の分類木の候補のうち計算された情報利得の総和から計算されたコストの総和が減算された値が最大である分類木の候補を選択する
    ことを特徴とする分類木生成方法。
  9. 分類条件をそれぞれ表す1つ以上のノードで構成された木構造で表現される予測モデルである分類木に追加される新たな分類条件を複数の分類条件の候補から選択する分類木生成装置であって、
    分類条件の候補に関する情報利得を計算する第1計算部と、
    分類条件の候補と前記分類木に含まれている各分類条件との差分のうちの最小の差分の度合いを表す値を分類条件の候補に関するコストとして計算する第2計算部と、
    前記複数の分類条件の候補のうち計算された情報利得から計算されたコストが減算された値が最大である分類条件の候補を前記新たな分類条件に選択する選択部とを備える
    ことを特徴とする分類木生成装置。
  10. 複数の分類条件の候補を基に生成される可能性がある分類条件の候補をそれぞれ表す複数のノードで構成された木構造で表現される予測モデルである分類木の候補を全て生成する生成部と、
    生成された分類木の候補に含まれている分類条件の候補に関する情報利得の総和を生成された分類木の候補を構成する全ノードに渡って計算する第1計算部と、
    生成された分類木の候補が用いられた予測処理における分類条件の候補を入力とする計算処理のコストに応じた値である分類条件の候補に関するコストの総和を生成された分類木の候補を構成する全ノードに渡って計算する第2計算部と、
    複数の分類木の候補のうち計算された情報利得の総和から計算されたコストの総和が減算された値が最大である分類木の候補を選択する選択部とを備える
    ことを特徴とする分類木生成装置。
  11. コンピュータに、
    分類条件をそれぞれ表す1つ以上のノードで構成された木構造で表現される予測モデルである分類木に追加される新たな分類条件が複数の分類条件の候補から選択される際に分類条件の候補に関する情報利得を計算する第1計算処理、
    分類条件の候補と前記分類木に含まれている各分類条件との差分のうちの最小の差分の度合いを表す値を分類条件の候補に関するコストとして計算する第2計算処理、および
    前記複数の分類条件の候補のうち計算された情報利得から計算されたコストが減算された値が最大である分類条件の候補を前記新たな分類条件に選択する選択処理
    を実行させるための分類木生成プログラム。
  12. コンピュータに、
    複数の分類条件の候補を基に生成される可能性がある分類条件の候補をそれぞれ表す複数のノードで構成された木構造で表現される予測モデルである分類木の候補を全て生成する生成処理、
    生成された分類木の候補に含まれている分類条件の候補に関する情報利得の総和を生成された分類木の候補を構成する全ノードに渡って計算する第1計算処理、
    生成された分類木の候補が用いられた予測処理における分類条件の候補を入力とする計算処理のコストに応じた値である分類条件の候補に関するコストの総和を生成された分類木の候補を構成する全ノードに渡って計算する第2計算処理、および
    複数の分類木の候補のうち計算された情報利得の総和から計算されたコストの総和が減算された値が最大である分類木の候補を選択する選択処理
    を実行させるための分類木生成プログラム。
JP2019564275A 2018-01-15 2018-01-15 分類木生成方法、分類木生成装置および分類木生成プログラム Active JP6992821B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/000878 WO2019138584A1 (ja) 2018-01-15 2018-01-15 分類木生成方法、分類木生成装置および分類木生成プログラム

Publications (2)

Publication Number Publication Date
JPWO2019138584A1 JPWO2019138584A1 (ja) 2020-12-17
JP6992821B2 true JP6992821B2 (ja) 2022-01-13

Family

ID=67219541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019564275A Active JP6992821B2 (ja) 2018-01-15 2018-01-15 分類木生成方法、分類木生成装置および分類木生成プログラム

Country Status (3)

Country Link
US (1) US20200342331A1 (ja)
JP (1) JP6992821B2 (ja)
WO (1) WO2019138584A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11381381B2 (en) * 2019-05-31 2022-07-05 Intuit Inc. Privacy preserving oracle
US11599435B2 (en) * 2019-06-26 2023-03-07 Vmware, Inc. Failure analysis system for a distributed storage system
US11750362B2 (en) * 2019-09-17 2023-09-05 Sap Se Private decision tree evaluation using an arithmetic circuit
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005208709A (ja) 2004-01-20 2005-08-04 Fuji Xerox Co Ltd データ分類処理装置、およびデータ分類処理方法、並びにコンピュータ・プログラム
JP2006048129A (ja) 2004-07-30 2006-02-16 Toshiba Corp データ処理装置、データ処理方法及びデータ処理プログラム
JP2011028519A (ja) 2009-07-24 2011-02-10 Nippon Hoso Kyokai <Nhk> データ分類装置及びプログラム
WO2013042788A1 (ja) 2011-09-21 2013-03-28 日本電気株式会社 データ分割装置、データ分割システム、データ分割方法及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140351196A1 (en) * 2013-05-21 2014-11-27 Sas Institute Inc. Methods and systems for using clustering for splitting tree nodes in classification decision trees
US9589185B2 (en) * 2014-12-10 2017-03-07 Abbyy Development Llc Symbol recognition using decision forests
US11017324B2 (en) * 2017-05-17 2021-05-25 Microsoft Technology Licensing, Llc Tree ensemble explainability system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005208709A (ja) 2004-01-20 2005-08-04 Fuji Xerox Co Ltd データ分類処理装置、およびデータ分類処理方法、並びにコンピュータ・プログラム
JP2006048129A (ja) 2004-07-30 2006-02-16 Toshiba Corp データ処理装置、データ処理方法及びデータ処理プログラム
JP2011028519A (ja) 2009-07-24 2011-02-10 Nippon Hoso Kyokai <Nhk> データ分類装置及びプログラム
WO2013042788A1 (ja) 2011-09-21 2013-03-28 日本電気株式会社 データ分割装置、データ分割システム、データ分割方法及びプログラム

Also Published As

Publication number Publication date
JPWO2019138584A1 (ja) 2020-12-17
WO2019138584A1 (ja) 2019-07-18
US20200342331A1 (en) 2020-10-29

Similar Documents

Publication Publication Date Title
JP6992821B2 (ja) 分類木生成方法、分類木生成装置および分類木生成プログラム
Wang et al. Approximate dynamic programming via iterated Bellman inequalities
Florêncio et al. Password Portfolios and the {Finite-Effort} User: Sustainably Managing Large Numbers of Accounts
Rahwan et al. Constrained coalition formation
Voice et al. On coalition formation with sparse synergies
CN110414567B (zh) 数据处理方法、装置和电子设备
Qi et al. The ancestral Benders’ cutting plane algorithm with multi-term disjunctions for mixed-integer recourse decisions in stochastic programming
CN112787971B (zh) 侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质
Guo et al. Practical fixed-parameter algorithms for defending active directory style attack graphs
CA3119351C (en) Extending finite rank deep kernel learning to forecasting over long time horizons
Pavlenko et al. Criterion of cyber-physical systems sustainability
Gupta et al. Ddos attack detection through digital twin technique in metaverse
Segredo et al. Memetic algorithms and hyperheuristics applied to a multiobjectivised two-dimensional packing problem
Forlicz et al. The Shapley value for multigraphs
JP2021039751A (ja) 大規模組み合わせ最適化のための大域ビューを用いた局所探索
de Oliveira et al. Scalable fast evolutionary k-means clustering
Lê et al. A novel variable ordering heuristic for BDD-based K-terminal reliability
Li et al. Type-1 assembly line balancing considering uncertain task time
Pan et al. Dynamic propagation rates: New dimension to viral marketing in online social networks
US10387588B1 (en) Automatic combination of sub-process simulation results and heterogeneous data sources
JP7310884B2 (ja) パラメータ推定装置、パラメータ推定方法、及びパラメータ推定プログラム
Corbier et al. Mixed Lp estimators variety for model order reduction in control oriented system identification
CN114461390A (zh) 结合多维度分析和关键路径法的评估方法及相关装置
Cox et al. Improving and extending the HV4D algorithm for calculating hypervolume exactly
EP3767609A1 (en) Secret table reference system, method, secret calculating device and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211122

R150 Certificate of patent or registration of utility model

Ref document number: 6992821

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150