(57)【要約】      （修正有）【課題】教師付き機械学習手法に用いられるデータの簡約化処理の妥当性を高める技術を提供する。【解決手段】データベース２０は、属するクラスが既知である複数のデータを格納する。写像部１１は、２以上の特徴量を用いて複数のデータのそれぞれをＮ（Ｎは２以上の整数又は無限）次元の特徴空間の１点に写像する。データ分割部１２は、特徴空間に写像された複数のデータに対応する点の集合を、各点を頂点とする複数のＮ次元のシンプレックスに分割する。分類部１３は、分割により得られた各シンプレックスの各超平面を構成する点の集合を、属するクラスが同じ点を要素とする部分集合に分類する。データ簡約部１４は、分類された部分集合それぞれについて、当該部分集合の要素を簡約する。ここでデータ分割部１２は、各シンプレックスに外接する超球の内部に他のシンプレックスを構成する点が含まれないように、複数のシンプレックスに分割する。【選択図】図１
2018018460.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサが実行するデータ処理方法であって、
属するクラスが既知である複数のデータのそれぞれを、２以上の特徴量を用いてＮ（Ｎは２以上の整数又は無限）次元の特徴空間の１点に写像するステップと、
前記特徴空間に写像された前記複数のデータに対応する点の集合を、各点を頂点とする複数のＮ次元のシンプレックスに分割するステップと、
分割により得られた各シンプレックスの各超平面を構成する点の集合を、属するクラスが同じ点を要素とする部分集合に分類するステップと、
分類された部分集合それぞれについて、当該部分集合の要素を簡約化するステップと、を含み、
前記分割するステップにおいて、各シンプレックスに外接する超球の内部に他のシンプレックスを構成する点が含まれないように、複数のシンプレックスに分割する、
データ処理方法。
【請求項２】
前記簡約化するステップにおいて、分類した前記部分集合のそれぞれを構成する要素のうち、前記特徴空間におけるユークリッド距離が最短となる２つの要素を１つの新たな要素に簡約する、
請求項１に記載のデータ処理方法。
【請求項３】
前記簡約化するステップにおいて、簡約化によって得られた新たな要素のクラスを、簡約化の対象とした２つの要素が属するクラスと同一とし、
前記簡約化するステップにおいて得られた新たな要素を含む複数のデータについて、前記分割するステップ、前記分類するステップ、及び前記簡約化するステップを繰り返す反復ステップをさらに含む、
請求項２に記載のデータ処理方法。
【請求項４】
前記簡約化したデータを機械学習することにより、任意のデータの属するクラスを識別するための識別器を生成するステップをさらに含む、
請求項１から３のいずれか一項に記載のデータ処理方法。
【請求項５】
前記生成するステップにおいて、サポートベクタマシンを用いて機械学習する、
請求項４に記載のデータ処理方法。
【請求項６】
前記写像するステップにおいて、それぞれの属するクラスが既知である複数の訓練データの中からサポートベクタマシンを用いて機械学習することによって選択されたデータである複数のサポートベクタを、前記複数のデータとして写像する、
請求項１に記載のデータ処理方法。
【請求項７】
属するクラスが既知である複数のデータを格納するデータベースと、
２以上の特徴量を用いて前記複数のデータのそれぞれをＮ（Ｎは２以上の整数又は無限）次元の特徴空間の１点に写像する写像部と、
前記特徴空間に写像された前記複数のデータに対応する点の集合を、各点を頂点とする複数のＮ次元のシンプレックスに分割するデータ分割部と、
分割により得られた各シンプレックスの各超平面を構成する点の集合を、属するクラスが同じ点を要素とする部分集合に分類する分類部と、
分類された部分集合それぞれについて、当該部分集合の要素を簡約するデータ簡約部と、を備え、
前記データ分割部は、各シンプレックスに外接する超球の内部に他のシンプレックスを構成する点が含まれないように、複数のシンプレックスに分割する、
データ処理装置。
【請求項８】
コンピュータに、
属するクラスが既知である複数のデータのそれぞれを、２以上の特徴量を用いてＮ（Ｎは２以上の整数又は無限）次元の特徴空間の１点に写像する機能と、
前記特徴空間に写像された前記複数のデータに対応する点の集合を、各点を頂点とする複数のＮ次元のシンプレックスに分割する機能と、
分割により得られた各シンプレックスの各超平面を構成する点の集合を、属するクラスが同じ点を要素とする部分集合に分類する機能と、
分類された部分集合それぞれについて、当該部分集合の要素を簡約する機能と、を実現させ、
前記分割する機能において、各シンプレックスに外接する超球の内部に他のシンプレックスを構成する点が含まれないように、複数のシンプレックスに分割する、
ことを実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理方法、データ処理装置、及びプログラムに関し、特に機械学習に用いられるデータを簡約化する技術に関する。
【背景技術】
【０００２】
近年、ニューラルネットワーク、サポートベクタマシン、ブースティング等の教師付き機械学習手法が急激に発達してきている。これらの機械学習手法は一般に、学習に用いる訓練データが多いほど汎化能力の高い学習結果が得られる傾向にある。一方で、学習に用いる訓練データが多いほど学習に要する時間が増大する。そのため、例えば本願の発明者は、サポートベクタマシンに用いる複数個の訓練データを選択し、その中から１個の最適訓練ベクトルを求める手順を繰り返し行うことにより、訓練データを簡約化する手法を過去に提案している（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５２９１４７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
教師付き機械学習手法に用いられる訓練データは、各訓練データが属するクラスが定められている。教師付き機械学習は、いわば与えられた訓練データのクラスを判別するための判別基準を定める手続きともいえる。したがって、訓練データを簡約化することは訓練データを変更することになるため、教師付き機械学習による判別基準の生成に大きな影響を及ぼしかねない。このような背景から、訓練データの簡約化の妥当性を高めることが望まれている。
【０００５】
そこで、本発明はこれらの点に鑑みてなされたものであり、教師付き機械学習手法で用いられるデータの簡約化処理の妥当性を高める技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様は、プロセッサが実行するデータ処理方法である。このデータ処理方法は、属するクラスが既知である複数のデータのそれぞれを、２以上の特徴量を用いてＮ（Ｎは２以上の整数又は無限）次元の特徴空間の１点に写像するステップと、前記特徴空間に写像された前記複数のデータに対応する点の集合を、各点を頂点とする複数のＮ次元のシンプレックスに分割するステップと、分割により得られた各シンプレックスの各超平面を構成する点の集合を、属するクラスが同じ点を要素とする部分集合に分類するステップと、分類された部分集合それぞれについて、当該部分集合の要素を簡約化するステップと、を含む。前記分割するステップにおいて、各シンプレックスに外接する超球の内部に他のシンプレックスを構成する点が含まれないように、複数のシンプレックスに分割する。
【０００７】
前記簡約化するステップにおいて、分類した前記部分集合のそれぞれを構成する要素のうち、前記特徴空間におけるユークリッド距離が最短となる２つの要素を１つの新たな要素に簡約してもよい。
【０００８】
前記簡約化するステップにおいて、簡約化によって得られた新たな要素のクラスを、簡約化の対象とした２つの要素が属するクラスと同一としてもよく、前記簡約化するステップにおいて得られた新たな要素を含む複数のデータについて、前記分割するステップ、前記分類するステップ、及び前記簡約化するステップを繰り返す反復ステップをさらに含んでもよい。
【０００９】
前記データ処理方法は、前記簡約化したデータを機械学習することにより、任意のデータの属するクラスを識別するための識別器を生成するステップをさらに含んでもよい。
【００１０】
前記生成するステップにおいて、サポートベクタマシンを用いて機械学習してもよい。
【００１１】
前記写像するステップにおいて、それぞれの属するクラスが既知である複数の訓練データの中からサポートベクタマシンを用いて機械学習することによって選択されたデータである複数のサポートベクタを、前記複数のデータとして写像しもよい。
【００１２】
本発明の第２の態様はデータ処理装置である。この装置は、属するクラスが既知である複数のデータを格納するデータベースと、２以上の特徴量を用いて前記複数のデータのそれぞれをＮ（Ｎは２以上の整数又は無限）次元の特徴空間の１点に写像する写像部と、前記特徴空間に写像された前記複数のデータに対応する点の集合を、各点を頂点とする複数のＮ次元のシンプレックスに分割するデータ分割部と、分割により得られた各シンプレックスの各超平面を構成する点の集合を、属するクラスが同じ点を要素とする部分集合に分類する分類部と、分類された部分集合それぞれについて、当該部分集合の要素を簡約するデータ簡約部と、を備える。前記データ分割部は、各シンプレックスに外接する超球の内部に他のシンプレックスを構成する点が含まれないように、複数のシンプレックスに分割する。
【００１３】
本発明の第３の態様は、コンピュータにデータ処理機能を実現させるためのプログラムである。このプログラムは、コンピュータに、属するクラスが既知である複数のデータのそれぞれを、２以上の特徴量を用いてＮ（Ｎは２以上の整数又は無限）次元の特徴空間の１点に写像する機能と、前記特徴空間に写像された前記複数のデータに対応する点の集合を、各点を頂点とする複数のＮ次元のシンプレックスに分割する機能と、分割により得られた各シンプレックスの各超平面を構成する点の集合を、属するクラスが同じ点を要素とする部分集合に分類する機能と、分類された部分集合それぞれについて、当該部分集合の要素を簡約する機能と、を実現させる。前記分割する機能において、各シンプレックスに外接する超球の内部に他のシンプレックスを構成する点が含まれないように、複数のシンプレックスに分割する。
【００１４】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、システム、コンピュータプログラム、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１５】
本発明によれば、教師付き機械学習手法に用いられるデータの簡約化処理の妥当性を高める技術を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態に係るデータ処理装置の機能構成を模式的に示す図である。
【図２】実施の形態に係るデータ処理装置が実行する既知データの簡約化処理を説明するための図である。
【図３】実施の形態に係るデータ簡約部による簡約化処理を説明するための図である。
【図４】実施の形態に係るデータ簡約部による簡約化処理を説明するための別の図である。
【図５】実施の形態に係るデータ処理装置が実行するデータ簡約化処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【００１７】
＜サポートベクタマシンの概要＞
実施の形態に係るデータ処理技術の前提となる機械学習について、サポートベクタマシン（Support Vector Machine；以下、「ＳＶＭ」と記載する）を例とし、その概要についてまず説明する。
【００１８】
ＳＶＭは教師付き機械学習手法の一種であり、線形入力素子を利用して２つのクラスの識別器を生成する手法である。ＳＶＭの主要なタスクは、−１又は＋１のラベルｙｉを持つｌ個の訓練用データｘｉ（ここで、ｉ＝１，２，・・・，ｌ）が与えられた場合に、次の（１）式の制約二次計画問題（ＱＰ問題）を解くことである。なお、−１のラベルｙｉが付された訓練用データｘｉと、＋１のラベルｙｉが付された訓練用データｘｉとが、上述した２つのクラスのデータに対応する。
【００１９】
【数１】
2018018460.tif 000003
【００２０】
訓練データを構成する各要素は、複数の特徴量によって多次元の特徴空間上の１点に写像される。このため各訓練用データは特徴空間上の位置ベクトルｘｉを用いて特定できる。そこで、以下訓練データを構成する各要素を、特徴空間上のベクトルｘｉを用いて参照する。すなわち、ある訓練データが特徴空間上の位置ベクトルｘｉに写像される場合、その訓練データを「ベクトルｘｉ」と表現する。
【００２１】
（１）式におけるＫ（ｘｉ，ｘｊ）は、特徴空間上の二つのベクトルｘｉとｘｊ間の内積を計算するカーネル関数であり、Ｃｉ（ｉ＝１，２，・・・，ｌ）は前記与えられた訓練用データ中のノイズの入った訓練用データにペナルティを課すパラメータである。
【００２２】
上記の問題を解くことは、訓練用データの数ｌが大きくなると、次のような３つの問題が起きてくる。
【００２３】
１）カーネルマトリックＫｉｊ＝Ｋ（ｘｉ，ｘｊ）、（ここに、ｉ，ｊ＝１，２，・・・，ｌ）を蓄積するメモリの容量の問題。すなわち、カーネルマトリックスのデータ量は、通常のコンピュータのメモリ容量を超えてしまうという問題。
２）カーネル値Ｋｉｊ（ｉ，ｊ＝１，２，・・・，ｌ）をコンピュータで計算するのが複雑であるという問題。
３）ＱＰ問題をコンピュータで解くのが複雑であるという問題。
【００２４】
テストフェーズ、すなわち教師データを用いて生成された識別子を用いて未知データｘのクラスを検証するフェーズでは、ＳＶＭの決定関数ｆ（ｘ）は以下の（２）式で表され、サポートベクタと呼ばれるＮｓ個の訓練用データｘｉ（ｉ＝１，２，・・・，Ｎｓ）から選択されたデータによって構成される。
【００２５】
【数２】
2018018460.tif 000004
【００２６】
（２）式において、ｆ（ｘ）＞０であれば、未知データｘはラベルが正のクラスに分類される。同様に、ｆ（ｘ）＜０であれば、未知データｘはラベルが負のクラスに分類される。
【００２７】
（２）式におけるＳＶＭの決定関数ｆ（ｘ）の複雑度は、サポートベクタの個数Ｎｓが増えるとともに線形に増大する。この個数が大きくなると、テストフェーズでのＳＶＭの計算速度は、カーネル値Ｋ（ｘｉ，ｘ）（ｉ＝１，２，・・・，Ｎｓ）の計算量が増大するために遅くなる。
【００２８】
以上をまとめると、訓練データの数ｌが多くなると識別器を生成するための訓練にかかる時間が増大する。また、識別器として得られるサポートベクタの数が多くなると、テストフェーズにおいて未知データの識別にかかる時間が増大する。
【００２９】
ここで、訓練データとして用意された複数のデータは、それぞれ属するクラス、すなわち上述のラベルｙｉの値が既知である。この訓練データからＳＶＭの学習手法によって選択された１以上のサポートベクタもまた、属するクラスが既知である。なぜなら、サポートベクタはそれぞれの属するクラスが既知である複数の訓練データの中から、選択されたデータであるからである。したがって以下本明細書において、訓練データ及び識別器であるサポートベクタを特に区別する場合を除いて、属するクラスが既知であるデータを単に「既知データ」と記載する。
【００３０】
本願の発明者は過去に、ＳＶＭの演算を高速化するために、Ｎ個の訓練データを低減ベクトルと呼ばれるＭ個（Ｍ＜＜Ｎ）の訓練データに簡約化する手法を提案している。ここで、訓練データもサポートベクタも既知データであるから、上記の簡約化手法はサポートベクタの簡約にも適用できる。
【００３１】
一方で、訓練データを簡約化することは教師付き機械学習による判別基準（ＳＶＭであればサポートベクタ）の生成に大きな影響を及ぼしうるため、訓練データの簡約化の妥当性を高めることが好ましい。
【００３２】
＜実施の形態の概要＞
実施の形態に係るデータ処理方法は、訓練データ及びサポートベクタを含む既知データを簡約化する際に、簡約化の対象とする既知データを選択するための手法に関する。
実施の形態に係るデータ処理装置は、既知データをそれぞれ特徴空間上の点に写像し、写像した点群に対して多次元におけるドロネー三角形分割を実行する。
【００３３】
ここで「ドロネー三角形分割」とは、２次元平面上に離散的に分布する点を頂点とする三角形によって２次元平面を漏れなくかつ重なりなく分割する手法の一種である。ドロネー三角形分割によって分割された三角形は以下に記載するような性質を持つ。すなわち、ドロネー三角形分割によって分割された任意の三角形の外接円の内部には、他の三角形を構成する点が含まれないという性質である。
【００３４】
ドロネー三角形分割は、３次元以上の多次元空間における点群を対象とする空間分割手法に拡張できることが知られている。拡張されたドロネー三角形分割では、多次元空間上に離散的に分布する点を頂点とするシンプレックス（Simplex；単体）によって、多次元空間を分割することになる。
【００３５】
例えば、３次元空間におけるシンプレックスは四面体であるため、３次元空間におけるドロネー三角形分割は、３次元空間上に離散的に分布する点を頂点とする四面体で３次元空間を分割することになる。３次元空間におけるドロネー三角形分割を実行すると、任意の四面体の外接球の内部には、他の四面体を構成する点が含まれない。
【００３６】
同様に４次元空間におけるシンプレックスは五胞体であるため、４次元空間におけるドロネー三角形分割は、３次元空間上に離散的に分布する点を頂点とする五胞体で４次元空間を分割することになる。４次元空間におけるドロネー三角形分割を実行すると、任意の五胞体の外接球の内部には、他の五胞体を構成する点が含まれない。
【００３７】
なお、四面体における“超平面”は三角形であり、五胞体における超平面は四面体である。一般に、Ｎ次元のシンプレックスを構成する超平面は、Ｎ−１次元のシンプレックスとなる。
【００３８】
このように、３次元以上の多次元空間における点群を対象とするドロネー三角形分割は、正確には“シンプレックス分割”である。本明細書では２次元以上の多次元空間を対象とする分割を、便宜上単に「ドロネー分割」と記載し、ドロネー分割して得られた２次元又はそれ以上の次元のシンプレックスを、単に「シンプレックス」と記載する。ドロネー分割を実行することによって得られた任意のシンプレックスは、そのシンプレックスの外接超球の内部に他のシンプレックスを構成する点が含まれない。この性質は、既知データが分布する空間全体にわたって成り立つ広域的な性質である。
【００３９】
実施の形態に係るデータ処理装置は、特徴空間上に離散的に分布した既知データに対して多次元ドロネー分割を実行して結果得られた各シンプレックスの超平面を、簡約化の対象とする。このように実施の形態に係るデータ処理装置は、特徴空間上に分布した既知データを、ドロネー分割を利用して分類した後に簡約化を実行する。このため、単に特徴空間における２つの既知データの距離といった局所的な情報ではなく、ドロネー分割の広域的な性質を簡約化に組み込むことができる。故に、機械学習手法に用いられるデータの簡約化処理の妥当性が高まると考えられる。
【００４０】
以下、実施の形態に係るデータ処理装置についてより詳細に説明する。なお、以下では、データ処理装置１はＳＶＭの手法を用いて機械学習を実行することを前提とする。
【００４１】
＜データ処理装置の機能構成＞
図１は、実施の形態に係るデータ処理装置１の機能構成を模式的に示す図である。実施の形態に係るデータ処理装置１は、データ処理装置１とデータベース２０とを備える。データ処理装置１は、写像部１１、データ分割部１２、分類部１３、データ簡約部１４、訓練部１５、未知データ取得部１６、及び検証部１７を含む。またデータベース２０は、訓練データデータベース２１及びサポートベクタデータベース２２を含む。
【００４２】
データ処理装置１は、例えばＰＣ（Personal Computer）やサーバ等、ＣＰＵ（Central Processing Unit）及びメモリ等の計算リソースを持つコンピュータである。データ処理装置１はデータ処理装置１のＣＰＵであり、コンピュータプログラムを実行することによって写像部１１、データ分割部１２、分類部１３、データ簡約部１４、訓練部１５、未知データ取得部１６、及び検証部１７として機能する。
【００４３】
データベース２０は、例えばＨＤＤ（Hard Disc Drive）やＳＳＤ（Solid State Drive）等の既知の大容量記憶装置である。データベース２０に含まれる訓練データデータベース２１とサポートベクタデータベース２２とはいずれも、複数の既知データを格納するデータベースである。
【００４４】
より具体的には、訓練データデータベース２１は、属するクラスが既知である複数の訓練データを記憶している。サポートベクタデータベース２２は、ＳＶＭを用いて訓練データから生成されたサポートベクタを記憶している。データベース２０はこの他、データ処理装置１を制御するためのオペレーティングシステムや、データ処理装置１に各部の機能を実現させるためのコンピュータプログラム、ＳＶＭで用いるための複数の特徴量も記憶している。
【００４５】
写像部１１は、２以上の特徴量を用いてデータベース２０が記憶している複数の既知データのそれぞれをＮ次元の特徴空間の１点に写像する。ここでＮは２以上の整数又は無限であり、（１）式におけるＫ（ｘｉ，ｘｊ）の種類によって異なる。
【００４６】
データ分割部１２は、写像部１１が特徴空間に写像した複数のデータに対応する点の集合を、ドロネー分割の手法を用いて各点を頂点とする複数のＮ次元のシンプレックスに分割する。より具体的には、データ分割部１２は、各シンプレックスに外接する超球の内部に他のシンプレックスを構成する点が含まれないように、複数のシンプレックスに分割する。
【００４７】
分類部１３は、データ分割部１２によるドロネー分割によって得られた各シンプレックスの各超平面を構成する点の集合を、属するクラスが同じ点を要素とする部分集合に分類する。データ簡約部１４は、分類部１３が分類した部分集合それぞれについて、当該部分集合の要素を簡約する。
【００４８】
図２（ａ）−（ｄ）は、実施の形態に係るデータ処理装置１が実行する既知データの簡約化処理を説明するための図である。なお、図示の便宜上、図２（ａ）−（ｄ）は、特徴量ｆ１と特徴量ｆ２との二つの特徴量によって張られた２次元の特徴空間上に、既知データを写像した場合の例を示している。しかしながら、特徴空間の次元は一般には２次元よりも大きい。
【００４９】
図２（ａ）は、写像部１１が特徴量ｆ１と特徴量ｆ２とを用いて既知データを２次元の特徴空間に写像した場合の特徴空間を模式的に示す図である。図２（ａ）において、白丸は正のラベル、すなわちｙｉの値が＋１である既知データを示している。また、図２（ａ）において、黒丸は負のラベル、すなわちｙｉの値が−１である既知データを示している。
【００５０】
図２（ｂ）は、図２（ａ）に示された点群に対してデータ分割部１２がドロネー分割を実行した結果を示す図である。図２（ｂ）に示すように、データ分割部１２は各点をそのラベルの値によって区別せずに、ドロネー分割を実行する。このため図２（ｂ）に示すように、シンプレックス（図２（ｂ）では三角形）を構成する辺は、両端が白丸の辺、両端が黒丸の辺、及び一方が白丸であり他方が黒丸の辺の３種類が存在する。
【００５１】
なお、２次元のシンプレックスにおける辺は、多次元のシンプレックスにおける超平面に対応する。２次元のシンプレックスの場合と同様に、多次元のシンプレックスにおける超平面は、正のラベルを持つデータに対応する点のみから構成されるもの、負のラベルを持つデータに対応する点のみから構成されるもの、及びどちらの点も含むもの、の３種類が存在する。
【００５２】
図２（ｃ）は、図２（ｂ）に示されたシンプレックスの超平面（すなわち、三角形の辺）に対して、分類部１３が分類した結果を示す図である。分類部１３は、図２（ｂ）における各三角形のそれぞれの辺のうち両端の点の属するクラスが同じ辺を選択することにより、各点を二つの部分集合に分類している。図２（ｃ）において、辺の両端のうち一方が白丸であり他方が黒丸の辺は分類部１３が選択しない辺として破線で示している。
【００５３】
図２（ｄ）は、図２（ｃ）に示された選択結果に基づいて、データ簡約部１４が簡約化を実行した結果を示す図である。図２（ｄ）に示されるデータの数は図２（ａ）に示されるデータの数よりも減少している。図２（ｄ）に示されるデータセットを利用することにより、データ処理装置１は、ＳＶＭの訓練又はテストの実行速度を上げることができる。
【００５４】
図３は、実施の形態に係るデータ簡約部１４による簡約化処理を説明するための図であり、図２（ｃ）及びその一部を拡大した様子を示す図である。
【００５５】
データ簡約部１４は、分類部１３が分類した部分集合のそれぞれを構成する要素のうち、特徴空間におけるユークリッド距離が最短となる２つの要素を１つの新たな要素に簡約する。例えば図３に示す例において、点Ｐ１と点Ｐ２との間の距離Ｌ１２は、点Ｐ２と点Ｐ３との間の距離Ｌ２３よりも長い。しかしながら、点Ｐ２と点Ｐ３とは同一のシンプレックスを構成する点ではないため、データ簡約部１４は点Ｐ２と点Ｐ３とを簡約化の対象とはしない。したがって、単に二つの点のユークリッド距離の短長に基づいて簡約化の対象を決定する従来の手法と比較して、簡約化の結果生成される新たなデータ群は異なるものとなる。
【００５６】
図４は、実施の形態に係るデータ簡約部１４による簡約化処理を説明するための別の図である。より具体的には、特徴空間が４次元空間の場合におけるデータ簡約部１４の簡約化の処理単位を説明するための図である。特徴空間が４次元空間の場合、シンプレックスは５胞体であり、その超辺は図４に示すような四面体である。
【００５７】
図４に示すシンプレックスの超辺としての四面体は、点Ｖ１、点Ｖ２、点Ｖ３、及び点Ｖ４を頂点とする四面体である。このうち、点Ｖ１、点Ｖ２、及び点Ｖ４は黒丸（ラベルの値が負）であり、点Ｖ３は白丸（ラベルの値が正）である。この場合、分類部１３は、点Ｖ１、点Ｖ２、及び点Ｖ４を負のレベルを持つ点の部分集合として分類し、点Ｖ３を正のラベルを持つ点の部分集合として分類する。この例では、正のラベルを持つ点の部分集合の要素は点Ｖ３のみであるため、データ簡約部１４は簡約化処理の対象とはしない。
【００５８】
正のラベルを持つ点の部分集合には複数の点が含まれるため、データ簡約部１４による簡約化処理の対象となる。図４において、点Ｖ１と点Ｖ２との距離をＬ１２、点Ｖ２と点Ｖ４との距離をＬ２４、点Ｖ４と点Ｖ１との距離をＬ４１とすると、Ｌ１２＜Ｌ２４＜Ｌ４１である。このため、データ簡約部１４は、点Ｖ１と点Ｖ２とを簡約化して一つの新たな点を生成する。なお、簡約化の具体的な手法は既知の手法を用いればよい。
【００５９】
ここでデータ簡約部１４は、簡約化によって得られた新たな要素のクラスを、簡約化の対象とした２つの要素が属するクラスと同一とする。図３に示す例では、点Ｖ１と点Ｖ２とはともに負のラベルを持つ点であるから、データ簡約部１４は、簡約化によって得られた新たな要素にも負のラベルを付す。データ簡約部１４は、分類部１３が分類した部分集合を参照しながら、データ分割部１２が分割した全てのシンプレックスの超辺について簡約化処理を実行することにより、新たなデータセットを生成する。データ簡約部１４は生成した新たなデータセットを訓練データデータベース２１に記憶させる。
【００６０】
なお、図４において点Ｖ３と点Ｖ４との間の距離であるＬ３４は、Ｌ１２、Ｌ２４、及びＬ４１と比較して短い。つまり、図４に示す四面体を構成する辺のうち最短の辺である。しかしながら、点Ｖ３と点Ｖ４とは異なるラベルを持つため異なる部分集合に分類されているため、データ簡約部１４は点Ｖ３と点Ｖ４とを簡約化して新たな要素とすることはしない。
【００６１】
データ分割部１２は、新たなデータセットを対象として再度ドロネー分割を実行する。分類部１３は、データ分割部１２が再度ドロネー分割することによって得られたシンプレックスの各超平面を構成する点の集合を、属するクラスが同じ点を要素とする部分集合に再分類する。データ簡約部１４は、分類部１３が再分類した部分集合を参照しながら、データ分割部１２が新たに分割した全てのシンプレックスの超辺について再度簡約化処理を実行することにより、新たなデータセットを生成する。以上の処理を繰り返すことにより、データ処理装置１は既知データの数を減少することができる。
【００６２】
図１の説明に戻る。訓練部１５は、訓練データデータベース２１が記憶している訓練データに対してＳＶＭを実行し、任意のデータの属するクラスを識別するための識別器としてサポートベクタを生成する。訓練部１５は、生成したサポートベクタをサポートベクタデータベース２２に記憶させる。
【００６３】
未知データ取得部１６は、属するクラスが未知である未知データを取得する。検証部１７は、未知データ取得部１６が取得した未知データに対して訓練部１５が生成した識別器を適用し、未知データのクラスを識別する。
【００６４】
データ処理装置１は、既知データとして訓練データデータベース２１が格納する訓練データを対象として簡約化処理を実行する場合、ＳＶＭの実行対象となる訓練データの数を減らすことができる。この場合、データ処理装置１は訓練に要する計算量を減少させることができるので、訓練を高速化することができる。
【００６５】
一方、データ処理装置１が、既知データとしてサポートベクタデータベース２２が格納するサポートベクタを対象として簡約化処理を実行する場合、サポートベクタの数を減らすことができる。この場合、データ処理装置１は未知データのクラスを識別する処理であるテスト処理に要する計算量を減少させることができるので、テスト処理を高速化することができる。
【００６６】
＜データ簡約化処理の処理フロー＞
図５は、実施の形態に係るデータ処理装置１が実行するデータ簡約化処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えばデータ処理装置１の電源が投入された時に開始する。
【００６７】
写像部１１は、データベース２０から既知データを取得する（Ｓ２）。写像部１１は、取得した既知データをそれぞれ特徴空間上の１点に写像する（Ｓ４）。データ分割部１２は、写像部１１が特徴空間上に写像した既知データの点群に対しドロネー分割を実行する（Ｓ６）。
【００６８】
分類部１３は、ドロネー分割によって得られた複数のシンプレックスの超辺を構成する各点を、対応するデータの属するクラス毎の部分集合に分類する（Ｓ８）。データ簡約部１４は、分類された部分集合それぞれについて、当該部分集合を構成するデータを簡約化する（Ｓ１０）。データ分割部１２は、簡約化によって得られた新たな既知データをデータベース２０に記憶させて格納する（Ｓ１２）。
【００６９】
データ処理装置１は、予め定められた反復回数となるまでは簡約化処理を終了せず（Ｓ１４のＮｏ）、上述の各処理を継続する。データ処理装置１が予め定められた反復回数の簡約化処理を実行すると（Ｓ１４のＹｅｓ）、本フローチャートにおける処理は終了する。
【００７０】
以上説明したように、実施の形態に係るデータ処理装置１によれば、教師付き機械学習手法に用いられるデータの簡約化処理の妥当性を高めることができる。
【００７１】
特に、データ処理装置１が訓練データを対象に簡約化処理を実行した場合、機械学習に要する時間を削減することができる。また、データ処理装置１がサポートベクタを対象に簡約化処理を実行した場合、未知データのクラスを識別するテストフェーズに要する時間を削減することができる。
【００７２】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。特に、装置の分散・統合の具体的な実施の形態は以上に図示するものに限られず、その全部又は一部について、種々の付加等に応じて、又は、機能負荷に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【００７３】
例えば、上記の例では機械学習として主にＳＶＭを例に説明した。しかしながら、訓練データの簡約化に関しては、例えばニューラルネットワークやブースティング等のＳＶＭ以外の他の機械学習手法に対しても適用することができる。
【００７４】
上記では、データ分割部１２が特徴空間上に写像されたデータに対してドロネー三角形分割を実行することについて説明した。ここで、ドロネー三角形分割の双対としてボロノイ図が存在する。より具体的には、ドロネー三角形分割によって得られた分割図は、ボロノイ領域の隣接関係を表現している。したがって、ドロネー三角形分割を実行することとボロノイ図を求めることとは１対１の関係がある。この意味で、データ分割部１２は特徴空間上に写像されたデータに対してドロネー三角形分割を実行することに代えて、ボロノイ図を求めてもよい。
【符号の説明】
【００７５】
１・・・データ処理装置
１１・・・写像部
１２・・・データ分割部
１３・・・分類部
１４・・・データ簡約部
１５・・・訓練部
１６・・・未知データ取得部
１７・・・検証部
２０・・・データベース
２１・・・訓練データデータベース
２２・・・サポートベクタデータベース
【図１】
2018018460.tif 000005
【図２】
2018018460.tif 000006
【図３】
2018018460.tif 000007
【図４】
2018018460.tif 000008
【図５】
2018018460.tif 000009