IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

<>
  • 特許-情報処理装置、制御方法及びプログラム 図1
  • 特許-情報処理装置、制御方法及びプログラム 図2
  • 特許-情報処理装置、制御方法及びプログラム 図3
  • 特許-情報処理装置、制御方法及びプログラム 図4
  • 特許-情報処理装置、制御方法及びプログラム 図5
  • 特許-情報処理装置、制御方法及びプログラム 図6
  • 特許-情報処理装置、制御方法及びプログラム 図7
  • 特許-情報処理装置、制御方法及びプログラム 図8
  • 特許-情報処理装置、制御方法及びプログラム 図9
  • 特許-情報処理装置、制御方法及びプログラム 図10
  • 特許-情報処理装置、制御方法及びプログラム 図11
  • 特許-情報処理装置、制御方法及びプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】情報処理装置、制御方法及びプログラム
(51)【国際特許分類】
   G06F 17/18 20060101AFI20240709BHJP
【FI】
G06F17/18 Z
【請求項の数】 10
(21)【出願番号】P 2022547354
(86)(22)【出願日】2020-09-14
(86)【国際出願番号】 JP2020034671
(87)【国際公開番号】W WO2022054270
(87)【国際公開日】2022-03-17
【審査請求日】2023-03-07
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100107331
【弁理士】
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100104765
【弁理士】
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100131015
【弁理士】
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】松岡 達也
(72)【発明者】
【氏名】大坂 直人
【審査官】坂東 博司
(56)【参考文献】
【文献】特開2017-40572(JP,A)
【文献】恐神 貴行,データサイエンスの数理 数理で読み解くデータの価値,数理科学 第57巻 第6号 MATHEMATICAL SCIENCES,日本,株式会社サイエンス社,2019年06月01日,第57巻 第6号,pp.58-64,【ISSN】0386-2240
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/18
(57)【特許請求の範囲】
【請求項1】
所定個数の要素からなる集合に対する部分集合の選択に関する確率分布を表す第1エルミート行列の主小行列式を取得する取得手段と、
前記主小行列式に基づき、前記第1エルミート行列と全ての主小行列式が一致する第2エルミート行列を生成する生成手段と、
を有する情報処理装置。
【請求項2】
前記第1エルミート行列及び前記第2エルミート行列は、行列式点過程の行列であり、
前記第1エルミート行列に対応する確率分布は、前記第2エルミート行列に対応する確率分布と等しい、請求項1に記載の情報処理装置。
【請求項3】
前記生成手段は、前記要素の各々を頂点とし、前記第2エルミート行列の非零成分に対応する頂点のペアを有向枝のペアにより結んだ補助グラフを作成し、当該有向枝のペアの各々の重みを前記第2エルミート行列の成分として算出する、請求項1または2に記載の情報処理装置。
【請求項4】
前記生成手段は、前記第1エルミート行列の1×1及び2×2に対応する各主小行列式に基づき、前記補助グラフにおいて重みが実数となる全域木を構築し、当該全域木に該当しない前記非零成分の有向枝のペアの重みを、前記全域木と前記有向枝のペアとにより形成される有向閉路の頂点集合に対応する主小行列式に基づき算出する、請求項3に記載の情報処理装置。
【請求項5】
前記第2エルミート行列の少なくとも一部の成分は、πの倍数以外の偏角を有する、請求項1~4のいずれか一項に記載の情報処理装置。
【請求項6】
前記取得手段は、前記部分集合を指定したクエリに基づき、当該部分集合に対応する前記主小行列式を取得する、請求項1~5のいずれか一項に記載の情報処理装置。
【請求項7】
前記取得手段は、前記部分集合の選択に関する試行結果に基づき、前記主小行列式を算出する、請求項1~5のいずれか一項に記載の情報処理装置。
【請求項8】
前記取得手段は、前記集合のある部分集合に対応する主小行列式として、当該部分集合を含む集合が選択された確率を、前記試行結果に基づき算出する、請求項7に記載の情報処理装置。
【請求項9】
コンピュータにより、
所定個数の要素からなる集合に対する部分集合の選択に関する確率分布を表す第1エルミート行列の主小行列式を取得し、
前記主小行列式に基づき、前記第1エルミート行列と全ての主小行列式が一致する第2エルミート行列を生成する、
制御方法。
【請求項10】
所定個数の要素からなる集合に対する部分集合の選択に関する確率分布を表す第1エルミート行列の主小行列式を取得し、
前記主小行列式に基づき、前記第1エルミート行列と全ての主小行列式が一致する第2エルミート行列を生成する処理をコンピュータに実行させるプログラム
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、確率分布の学習に関する情報処理装置、制御方法及び記憶媒体の技術分野に関する。
【背景技術】
【0002】
台集合の部分集合についての確率分布を、行列により表現する行列式点過程が知られている。行列式点過程によれば、n個の要素からなる集合の部分集合の数が2個であり、任意の分布を表そうとするとO(2)個のパラメータが必要なのに対し、ある性質をもつ確率分布の場合においてO(n)個のパラメータにより確率分布を表現することが可能となる。また、非特許文献1では、対称行列に対する主小行列式に基づく学習方法が研究されており、このうちある性質をもつ(一部のクラスの)行列に対応する確率分布の学習が応用として挙げられている。
【先行技術文献】
【非特許文献】
【0003】
【文献】J. Rising, A. Kulesza, and B. Taskar. An efficient algorithm for the symmetric principal minor assignment problem. Linear Algebra and its Applications, 473, pp. 126--144, 2015.
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1の方法では、非対称行列に対応する確率分布の学習は扱われていなかった。本開示の目的は、上述した課題を鑑み、確率分布の学習を好適に行うことが可能な情報処理装置、制御方法及び記憶媒体を提供することである。
【課題を解決するための手段】
【0005】
情報処理装置の一の態様は、
所定個数の要素からなる集合に対する部分集合の選択に関する確率分布を表す第1エルミート行列の主小行列式を取得する取得手段と、
前記主小行列式に基づき、前記第1エルミート行列と全ての主小行列式が一致する第2エルミート行列を生成する生成手段と、
を有する情報処理装置である。
【0006】
制御方法の一の態様は、
コンピュータにより、
所定個数の要素からなる集合に対する部分集合の選択に関する確率分布を表す第1エルミート行列の主小行列式を取得し、
前記主小行列式に基づき、前記第1エルミート行列と全ての主小行列式が一致する第2エルミート行列を生成する、
制御方法である。
【0007】
プログラムの一の態様は、
所定個数の要素からなる集合に対する部分集合の選択に関する確率分布を表す第1エルミート行列の主小行列式を取得し、
前記主小行列式に基づき、前記第1エルミート行列と全ての主小行列式が一致する第2エルミート行列を生成する処理をコンピュータに実行させるプログラムである。
【発明の効果】
【0008】
確率分布の学習を好適に実行することができる。
【図面の簡単な説明】
【0009】
図1】第1実施形態における学習システムの構成を示す。
図2】第1実施形態における処理の概要を示す。
図3】行列式点過程に基づく確率分布の行列を示す。
図4】第1及び第2実施形態に共通する情報処理装置のハードウェア構成の一例を示す。
図5】第1及び第2実施形態に共通する第2エルミート行列の生成処理の手順を示すフローチャートの一例である。
図6】有向枝ペア追加処理の手順を示すフローチャートの一例である。
図7図5のステップS12において生成される補助グラフの一例を示す。
図8図5のステップS14の実行後の補助グラフの一例を示す。
図9図5のステップS15の実行後の補助グラフの一例を示す。
図10】第2実施形態における情報処理装置の機能ブロック図の一例を示す。
図11】第3実施形態における情報処理装置の機能ブロック図である。
図12】第3実施形態において情報処理装置が実行するフローチャートの一例である。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、情報処理装置、制御方法及び記憶媒体の実施形態について説明する。
【0011】
<第1実施形態>
(1)システム構成
図1は、第1実施形態に係る学習システム100の構成を示す。学習システム100は、与えられた集合の部分集合を選ぶ状況において、エルミート行列に対応する確率分布に対して、主小行列式の割り当てにより、確率分布を表すエルミート行列の学習を効率的に行うシステムである。学習システム100は、主に、情報処理装置1と、主小行列式出力装置2とを備える。以後では、与えられた集合(台集合)を「V」、集合Vの部分集合を「S」と表記する。
【0012】
情報処理装置1は、推定する確率分布がエルミート行列の行列式点過程(DPP:Determinantal Point Process)であるということを仮定して、部分的な情報(即ち主小行列式)から確率分布の学習を行う。ここで、行列式点過程は、サイズ「n」の台集合の部分集合についての確率分布をn×nの行列により表現したものであり、台集合Vの部分集合Sを選ぶ確率が、部分集合Sに対応する部分行列の行列式を用いた式により定まる。なお、行列式点過程の行列は、各主小行列式が非負となる。そして、情報処理装置1は、確率分布の学習を、行列の構築(本実施形態ではエルミート行列の構築)により行う。
【0013】
情報処理装置1は、機能的には、要求部5と、エルミート行列生成部6とを有する。
【0014】
要求部5は、部分集合Sを指定したクエリ「Sg1」を主小行列式出力装置2に送信し、当該クエリSg1の応答として、クエリSg1により指定した部分集合Sに対応する主小行列式を示す主小行列式情報「Sg2」を主小行列式出力装置2から受信する。エルミート行列生成部6は、要求部5が主小行列式出力装置2から受信した主小行列式情報Sg2に基づき、推定する確率分布を表すエルミート行列を生成する。エルミート行列生成部6の処理の詳細については後述する。
【0015】
主小行列式出力装置2は、情報処理装置1からクエリSg1を受信した場合に、クエリSg1により指定された部分集合Sに対応する主小行列式を示す主小行列式情報Sg2を生成し、主小行列式情報Sg2を情報処理装置1へ送信する。
【0016】
(2)処理概要
図2は、情報処理装置1及び主小行列式出力装置2の処理の概要を示す図である。以後では、推定する対象となる確率分布を表すエルミート行列を「第1エルミート行列A」と表記し、情報処理装置1が学習により生成するエルミート行列を「第2エルミート行列B」と表記する。
【0017】
図2に示すように、情報処理装置1は、第2エルミート行列Bの生成に必要な主小行列式に対応する部分集合Sを指定したクエリSg1を、主小行列式出力装置2に送信する。この場合、主小行列式出力装置2は、指定された部分集合Sに対応する、第1エルミート行列Aの主小行列式を示す主小行列式情報Sg2を生成し、生成した主小行列式情報Sg2を情報処理装置1へ送信する。
【0018】
そして、情報処理装置1は、主小行列式情報Sg2に基づき、第1エルミート行列Aと全ての主小行列式が一致するような第2エルミート行列Bを生成する。また、行列式点過程では、主小行列式によって確率分布が定まる。従って、情報処理装置1は、第1エルミート行列Aと全ての主小行列式が一致するような第2エルミート行列Bを生成することで、第1エルミート行列Aに対応する確率分布と一致する確率分布を表す第2エルミート行列Bを生成することができる。
【0019】
ここで、行列式点過程について補足説明する。行列式点過程によれば、n個存在する要素に基づく2個の部分集合の確率分布を、当該確率分布がある性質を持つ場合に、「n×n」の行列で表すことができる。そして、行列式点過程では、部分集合を構成する各要素に対応する上記の行列の成分から算出される行列式が、当該部分集合がサンプリングされる確率に対応する。そして、行列式点過程によれば、個々の要素が選定される容易度(選定容易度)を行列の対角要素により表し、要素同士の両立のしにくさ(要素同士が同時選定される難易度)を行列の非対角要素により表す。
【0020】
図3は、集合Vを構成する6個の要素(「a」~「f」)に対する行列式点過程に基づく確率分布の行列を示す。図3では、1列目及び1行目が要素aに対応し、2列目及び2行目が要素bに対応し、3列目及び3行目が要素cに対応している。また、4列目及び4行目が要素dに対応し、5列目及び5行目が要素eに対応し、6列目及び6行目が要素fに対応している。
【0021】
ここで、一例として、要素a、d、eからなる部分集合Sの確率について検討する。この場合、要素a、d、eに関連する破線枠内の行列成分から構成した3×3の主小行列式に対し、全要素数6個から要素数3個を選択した20個(=)の全組合せに対する3×3の主小行列式の和で割った値が、要素a、d、eからなる部分集合Sの確率となる。
【0022】
(3)ハードウェア構成
図4は、情報処理装置1のハードウェア構成の一例を示す。情報処理装置1は、ハードウェアとして、プロセッサ11と、メモリ12と、インターフェース13とを含む。プロセッサ11、メモリ12、及びインターフェース13は、データバス19を介して接続されている。
【0023】
プロセッサ11は、メモリ12に記憶されているプログラムを実行することにより、情報処理装置1の全体の制御を行うコントローラ(演算装置)として機能する。プロセッサ11は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、TPU(Tensor Processing Unit)などのプロセッサである。プロセッサ11は、複数のプロセッサから構成されてもよい。プロセッサ11は、コンピュータの一例である。
【0024】
メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリなどの各種の揮発性メモリ及び不揮発性メモリにより構成される。また、メモリ12には、情報処理装置1が実行する処理を実行するためのプログラムが記憶される。なお、メモリ12が記憶する情報の一部は、情報処理装置1と通信可能な1又は複数の外部記憶装置により記憶されてもよく、情報処理装置1に対して着脱自在な記憶媒体により記憶されてもよい。
【0025】
インターフェース13は、情報処理装置1と他の装置とを電気的に接続するためのインターフェースである。これらのインターフェースは、他の装置とデータの送受信を無線により行うためのネットワークアダプタなどのワイアレスインタフェースであってもよく、他の装置とケーブル等により接続するためのハードウェアインターフェースであってもよい。
【0026】
ここで、図1に示す情報処理装置1の要求部5及びエルミート行列生成部6と、図4に示すハードウェア構成との関係について説明する。要求部5及びエルミート行列生成部6の各構成要素は、例えば、プロセッサ11がプログラムを実行することによって実現できる。この場合、必要なプログラムを任意の不揮発性記憶媒体に記録しておき、必要に応じてインストールすることで、各構成要素を実現するようにしてもよい。なお、プロセッサ11は、要求部5として機能する場合、インターフェース13を介してクエリSg1及び主小行列式情報Sg2の授受を主小行列式出力装置2と行う。
【0027】
なお、要求部5及びエルミート行列生成部6の少なくとも一部は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組合せ等により実現してもよい。また、これらの各構成要素の少なくとも一部は、例えばFPGA(field-programmable gate array)又はマイクロコントローラ等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。また、各構成要素の少なくとも一部は、ASSP(Application Specific Standard Produce)、ASIC(Application Specific Integrated Circuit)又は量子プロセッサ(量子コンピュータ制御チップ)により構成されてもよい。このように、各構成要素は、種々のハードウェアにより実現されてもよい。以上のことは、後述する他の実施の形態においても同様である。さらに、これらの各構成要素は、例えば、クラウドコンピューティング技術などを用いて、複数のコンピュータの協働によって実現されてもよい。
【0028】
(4)第2エルミート行列Bの生成
次に、エルミート行列生成部6による第2エルミート行列Bの生成方法について具体的に説明する。概略的には、エルミート行列生成部6は、要求部5が主小行列式出力装置2から取得した全ての1×1及び2×2の主小行列式に基づき、n個の頂点からなる補助グラフにおいて全域木を形成し、全域木の各枝の重みに対応する第2エルミート行列Bの成分を実数値に定める。さらに、エルミート行列生成部6は、第2エルミート行列Bの未決定の各非零成分に対応する枝2本組(始点と終点が逆となる有向枝のペア)について順次重みを決定する。
【0029】
(4-1)処理フロー
図5は、第2エルミート行列Bの生成処理の手順を示すフローチャートの一例である。
【0030】
まず、要求部5は、1×1及び2×2の各主小行列式を取得する(ステップS11)。この場合、要求部5は、集合Vのn個の要素の1個又は2個の全組合せ(即ち、n個+個の組合せ)の主小行列式を主小行列式出力装置2から取得する。この場合、要求部5は、クエリSg1を主小行列式出力装置2に送信することで、上述の各主小行列式を示す主小行列式情報Sg2を、主小行列式出力装置2から受信する。
【0031】
ここで、第2エルミート行列Bのj行k列(j、kは、1以上n以下の整数、かつ、j<kとする)の成分を「Bjk」、当該成分での偏角を「θjk」、第1エルミート行列Aの部分集合Sに対する主小行列を「A(S)」と表記すると、要求部5は、ステップS11において、以下の主小行列式を取得する。
【0032】
【数1】
なお、Bkj(j<k)は、Bjk(j<k)から一意に定まることから、好適には、要求部5(又はエルミート行列生成部6)は、Bkj(j<k)を、主小行列式出力装置2から取得する代わりに、Bjk(j<k)から求めるとよい。
【0033】
次に、エルミート行列生成部6は、n頂点の補助グラフを作成する(ステップS12)。この場合、エルミート行列生成部6は、Bjk≠0(j<k)のとき、有向枝のペア(j、k)と(k、j)を作成する。ここで、各有向枝の重みは、有向枝の始点及び終点の頂点の組み合わせにより行番号及び列番号が特定される第2エルミート行列Bの成分に対応する。
【0034】
そして、エルミート行列生成部6は、非零成分に対応する各有向枝のペアを1本の無向枝とみなし、全域木「T」(即ち、全頂点が繋がっていて閉路がない部分グラフ)を形成する(ステップS13)。この場合、エルミート行列生成部6は、例えば、ラベル1の頂点から幅優先探索により全域木Tを生成する。
【0035】
そして、エルミート行列生成部6は、ステップS13で形成した全域木Tを構成する枝の重みを、偏角θjkを全て0にして決定する(ステップS14)。この場合、エルミート行列生成部6は、ステップS11で取得された1×1及び2×2の各主小行列式に基づき、全域木Tの枝の重みを、実数値に設定する。これにより、全域木Tを構成する枝に対応する第2エルミート行列Bの成分の値が決定される。
【0036】
次に、エルミート行列生成部6は、全域木Tに対応しない有向枝のペアを追加する処理である有向枝ペア追加処理を実行する(ステップS15)。この場合、エルミート行列生成部6は、全域木Tに対応しない有向枝のペアについて、両端点の全域木Tにおける深さの辞書順に追加していく。ステップS15の処理の詳細については、図6を参照して後述する。そして、エルミート行列生成部6は、対象となる全ての有向枝ペアの追加が完了した場合(ステップS16;Yes)、フローチャートの処理を終了する。一方、エルミート行列生成部6は、対象となるいずれかの有向枝ペアの追加が完了していない場合(ステップS16;No)、追加すべき有向枝ペアに対する有向枝ペア追加処理をステップS15において実行する。
【0037】
図6は、図5のステップS15で実行される有向枝ペア追加処理の手順を示すフローチャートの一例である。
【0038】
まず、エルミート行列生成部6は、全域木Tに対する有向枝ペアの追加により生成される有向閉路の1つを選択する(ステップS21)。以後では、選択した有向閉路を「c」とする。この場合、エルミート行列生成部6は、有向閉路cの選択では、ショートカットするような枝が無いものを選択する。そして、要求部5は、有向閉路cの頂点集合に対応する主小行列式を取得する(ステップS22)。この場合、要求部5は、クエリSg1を主小行列式出力装置2に送信することで、有向閉路cの頂点集合に対応する主小行列式を示す主小行列式情報Sg2を取得する。
【0039】
そして、エルミート行列生成部6は、ステップS22で取得された主小行列式に基づき、全域木Tに対してペアで追加した有向枝のペアの重みを算出する(ステップS23)。具体的には、有向閉路cの頂点集合に対応する主小行列を「M」とすると、エルミート行列生成部6は、以下の式を用い、全域木Tに対してペアで追加した有向枝の重みを算出する。なお、以下の式が成り立つような主小行列Mに対応する有向閉路cは、ショートカットが無いものとなっている。
【0040】
【数2】
【0041】
ここで、「M[p,q]」は、(主小行列Mのp~q行目)×(主小行列Mのp~q列目)の主小行列を表す。また、ここでの「n」は、主小行列Mの行数を表す。ここで、追加した有向枝の重みに対応するのは、上記の式の右辺の最後の項において掛けられている。よって、エルミート行列生成部6は、その対応するものに関して上記の式を解くことにより、追加した有向枝の重みを算出する。なお、エルミート行列の一態様である実対称行列の場合に関しては、非特許文献1に開示されている同様の手順による行列成分の算出方法が適用できる。本願は、非特許文献1とは、有向グラフ、特に必ず双方向のペアで枝が存在するグラフを用いる点、及び、各枝のペアに和が0の偏角を対応させる点において異なる。
【0042】
(4-2)具体例
次に、図5及び図6のフローチャートにより説明した第2エルミート行列Bの算出方法の具体例について説明する。ここでは、一例として、以下のエルミート行列を第1エルミート行列Aとする。
【0043】
【数3】
【0044】
ここで、まず、図5のステップS11に基づき、要求部5は、第1エルミート行列Aの各1×1及び2×2の主小行列式を取得する。この場合、例えば、要求部5は、1×1の主小行列式として、
det(A({1}))=10、
det(A({2}))=12、
det(A({3}))=14、
det(A({4}))=16
の4つの値を取得する。また、要求部5は、2×2の主小行列式として、
det(A({1,2}))=116、
det(A({3,4}))=215
などの6つの値を取得する。
【0045】
次に、エルミート行列生成部6は、ステップS12に基づき、n(ここでは4)頂点の補助グラフを作成する。図7は、ステップS12において生成される補助グラフの一例を示す。ここでは、エルミート行列生成部6は、取得した主小行列式に基づき、1行3列目の成分「B13」、3行1列目の成分「B31」、2行4列目の成分「B24」、4行2列目の成分「B42」が夫々0となり、それ以外の成分が非零成分となると判定する。よって、エルミート行列生成部6は、非零成分に対応する頂点のペア(即ち、1と2、2と3、3と4、4と1)を、有向枝により結ぶ対象であると認識する。図7では、頂点jを始点とし、頂点kを終点とする有向枝を、「gj,k」と表記している。ここでは、重み(即ち、対応する第2エルミート行列Bの成分)が決定された有向枝を実線により示し、重みが未決定の有向枝を破線により示す。図7に示す状態では、いずれの有向枝についても重みが未決定となっている。
【0046】
さらにエルミート行列生成部6は、ステップS13に基づき、非零成分に対応する各有向枝のペアを1本の無向枝とみなして全域木を形成し、ステップS14に基づき、全域木Tを構成する枝の重みを、偏角θjkを全て0にして決定する。
【0047】
図8は、ステップS14の実行後の補助グラフの一例を示す。図8では、重み(即ち、対応する第2エルミート行列Bの成分)を算出した有向枝を実線により示し、かつ、算出した重みを明示している。ここでは、エルミート行列生成部6は、頂点1と4、頂点1と2、頂点2と3とを結ぶ全域木を形成し、全域木を構成する枝の重みを、ステップS11で取得した主小行列式に基づき、偏角を0として算出している。例えば、成分「B41」は、以下の式により算出される。
【0048】
【数4】
【0049】
一方、頂点3と4を結ぶ有向枝「g3,4」、「g4,3」の重みについては、取得した主小行列式から絶対値は定まるものの、偏角が不明となっている。
【0050】
図8に対応する第2エルミート行列Bは、以下の式により表される。
【0051】
【数5】
【0052】
上記の式に示されるように、エルミート行列生成部6は、第2エルミート行列Bのうち、全域木に対応する成分の偏角を0として算出している。また、全域木に該当しない3行4列目の成分「B34」及び4行3列目の成分「B43」については、絶対値は共に「3」となり、偏角「θ34」、「-θ34」が定まっていない。
【0053】
次に、エルミート行列生成部6は、ステップS15に基づき、追加すべき有向枝g3,4、g4,3のペアに対して有向枝ペア追加処理を実行することで、偏角θ34を算出する。図9は、有向枝g3,4、g4,3に対するステップS15の実行後の補助グラフの一例を示す。また、図9に対応する第2エルミート行列Bは、以下の式により表される。
【0054】
【数6】
【0055】
上式に示される第2エルミート行列Bは、第1エルミート行列Aと全ての主小行列式が一致する。このように、第1実施形態における情報処理装置1は、第1エルミート行列Aに対応する確率分布を好適に学習することができる。
【0056】
<第2実施形態>
図10は、第2実施形態における情報処理装置1Aの機能ブロック図の一例を示す。第2実施形態における情報処理装置1Aは、第1エルミート行列Aに基づく確率分布に従い、集合Vから部分集合Bをサンプリング(選択)する試行を行い、その試行結果に基づき、第2エルミート行列Bを生成する。以後では、第1実施形態と同様の構成要素については、適宜同一符号を付し、その説明を省略する。
【0057】
情報処理装置1Aは、第1実施形態における情報処理装置1と同様、図4に示すハードウェア構成を有する。そして、情報処理装置1Aのプロセッサ11は、機能的には、試行結果取得部5Aと、主小行列式生成部5Bと、エルミート行列生成部6とを有する。
【0058】
試行結果取得部5Aは、第1エルミート行列Aに対応する確率分布に従い集合Vから部分集合Sをサンプリングした場合の試行結果を取得する。この場合、試行結果取得部5Aは、十分に多い回数分の試行結果を取得する。「十分に多い回数」は、例えば、得られた試行結果に基づき算出する統計量の信頼性を勘案して予め設定され、メモリ12に記憶されている。なお、試行結果取得部5Aは、情報処理装置1Aとは別の装置から上述の試行結果を受信してもよく、所定のアプリケーションプログラムを実行し、各試行に対する試行結果を認識することで、試行結果を取得してもよい。
【0059】
主小行列式生成部5Bは、試行結果取得部5Aが取得した試行結果に基づき、第1エルミート行列Aの各主小行列式を算出する。ここで、第2実施形態では、第1実施形態において説明した行列式点過程の行列表現とは異なる行列表現となる。第2実施形態において採用する行列式点過程の行列表現については後述する。
【0060】
エルミート行列生成部6は、主小行列式生成部5Bが生成した主小行列式に基づき、第1エルミート行列Aと主小行列式が全て一致する第2エルミート行列Bを生成する。なお、主小行列式に基づく第2エルミート行列Bの生成方法については、第1実施形態と同一であるため、その説明を省略する。
【0061】
次に、第2実施形態において採用する行列式点過程の行列表現について説明する。以後では、第1実施形態において採用する行列式点過程の行列表現を「L」の表現とし、第2実施形態において採用する行列式点過程の行列表現を「K」の表現とする。また、K、Lは、夫々の場合における行列式点過程の行列を表すものとする。
【0062】
ここで、Kの表現では、部分集合Sの主小行列式
det(K(S))
は、集合Vについて、部分集合Sを含む集合をとる確率を示す。
【0063】
一方、Lの表現では、部分集合Sの主小行列式を正規化した以下の式
det(L(S))/det(L+I)
は、集合Vについて、とる集合がちょうど集合Sである確率を示す。
【0064】
また、Kの表現とLの表現とは、互換性があり、夫々以下の式に示される関係を有する。
K=I-(L+I)-1
L=K(I-K)-1
【0065】
例えば、以下の2つの行列K、Lは、互いに上記の式に示される関係を満たし、同じ確率分布を表す。
【0066】
【数7】
なお、Lの表現は空集合をとる確率が0のときはその確率分布を表現できないため、厳密にはKの表現のほうが表すことのできる確率分布のクラスが広い。このことは、上述した互換性を説明する式において、空集合をとる確率が0の確率分布のKに対しては、I-Kの逆行列が存在しないことに対応する。
【0067】
次に、第2実施形態の具体的状況について検討する。第2実施形態に好適な状況の一例として、顧客の購買傾向の分析が挙げられる。ここでは、一例として、商品aと商品bの品揃えがある店の顧客の購買傾向について検討する。
【0068】
この場合、部分集合Sは、
何も購入しない(即ちSは空集合)、
商品aの購入(即ちS={a})、
商品bの購入(即ちS={b})、
商品aと商品bの購入(即ち、S={a,b})
のいずれかとなる。この場合、例えば、試行結果取得部5Aは、来店した顧客毎の購買有無及び購買商品を示す顧客行動履歴を取得する。試行結果取得部5Aは、例えば、店に設置されたカメラの画像に基づき、入店した顧客数を認識し、かつ、店内の会計端末により生成された商品購入履歴を受信することで、上述の顧客行動履歴を生成する。なお、この顧客行動履歴は、情報処理装置1A以外の装置が生成してもよい。この場合、試行結果取得部5Aは、上述の装置から、生成された顧客行動履歴を受信する。
【0069】
そして、主小行列式生成部5Bは、試行結果取得部5Aが取得した顧客行動履歴に基づき、各部分集合が出現する確率(割合)を算出することで、推定主小行列式を算出する。この場合、主小行列式生成部5Bは、上述したKの表現の定義に基づき、算出対象となる主小行列式に対応する部分集合Sを含む集合をとる確率を算出する。例えば、主小行列式生成部5Bは、行列Kの商品aの購入(S={a})に対応する成分を求める場合、全体の試行回数に対し、商品aの購入(S={a})が生じた割合と、商品a及び商品bの購入(S={a,b})が生じた割合との和を算出する。
【0070】
このように、主小行列式生成部5Bは、顧客行動履歴に基づき、第1エルミート行列Aに対する任意の主小行列式を算出することができる。その後、情報処理装置1Aは、第1実施形態の情報処理装置1と同様、図5及び図6に示されるフローチャートに従った処理を実行することで、第2エルミート行列Bを好適に算出することができる。なお、図5及び図6に示されるフローチャートにおいて、情報処理装置1Aの試行結果取得部5Aは、ステップS11において、部分集合Sのサンプリングに関する試行結果(上記の例では顧客行動履歴)を取得する。そして、主小行列式生成部5Bは、試行結果取得部5Aが取得した試行結果に基づき、1×1及び2×2の主小行列式を算出する。図6のステップS22においても同様に、主小行列式生成部5Bは、試行結果取得部5Aが取得した試行結果に基づき、対象の主小行列式を算出する。
【0071】
このように、第2実施形態によれば、情報処理装置1Aは、顧客の購買傾向等に関する確率分布の学習を好適に実行することができる。なお、第2実施形態において購買傾向の分析に関して述べたような構図であれば、顧客の購買傾向の分析以外の用途(例えば任意の行動分析や事象の分析)においても、第2実施形態を適用して確率分布を学習することが可能である。
【0072】
<第3実施形態>
図11は、第3実施形態における情報処理装置1Xの機能ブロック図である。情報処理装置1Xは、主に、取得手段5Xと、生成手段6Xとを有する。
【0073】
取得手段5Xは、所定個数の要素からなる集合に対する部分集合の選択に関する確率分布を表す第1エルミート行列の主小行列式を取得する。例えば、取得手段5Xは、第1実施形態における要求部5とすることができる。他の例では、取得手段5Xは、第2実施形態における主小行列式生成部5B(及び試行結果取得部5A)とすることができる。
【0074】
生成手段6Xは、主小行列式に基づき、第1エルミート行列と全ての主小行列式が一致する第2エルミート行列を生成する。生成手段6Xは、第1実施形態又は第2実施形態におけるエルミート行列生成部6とすることができる。
【0075】
図12は、第3実施形態において情報処理装置1Xが実行する処理手順を示すフローチャートの一例である。まず、取得手段5Xは、所定個数の要素からなる集合に対する部分集合の選択に関する確率分布を表す第1エルミート行列の主小行列式を取得する(ステップS31)。次に、生成手段6Xは、主小行列式に基づき、第1エルミート行列と全ての主小行列式が一致する第2エルミート行列を生成する(ステップS32)。
【0076】
第3実施形態に係る情報処理装置1Xは、所定個数の要素からなる集合に対する部分集合の選択に関する確率分布を表す第1エルミート行列と主小行列式が一致する第2エルミート行列を好適に生成することができる。
【0077】
なお、上述した各実施形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータであるプロセッサ等に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記憶媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記憶媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0078】
その他、上記の各実施形態の一部又は全部は、以下の付記のようにも記載され得るが以下には限られない。
【0079】
[付記1]
所定個数の要素からなる集合に対する部分集合の選択に関する確率分布を表す第1エルミート行列の主小行列式を取得する取得手段と、
前記主小行列式に基づき、前記第1エルミート行列と全ての主小行列式が一致する第2エルミート行列を生成する生成手段と、
を有する情報処理装置。
[付記2]
前記第1エルミート行列及び前記第2エルミート行列は、行列式点過程の行列であり、
前記第1エルミート行列に対応する確率分布は、前記第2エルミート行列に対応する確率分布と等しい、付記1に記載の情報処理装置。
[付記3]
前記生成手段は、前記要素の各々を頂点とし、前記第2エルミート行列の非零成分に対応する頂点のペアを有向枝のペアにより結んだ補助グラフを作成し、当該有向枝のペアの各々の重みを前記第2エルミート行列の成分として算出する、付記1または2に記載の情報処理装置。
[付記4]
前記生成手段は、前記第1エルミート行列の1×1及び2×2に対応する各主小行列式に基づき、前記補助グラフにおいて重みが実数となる全域木を構築し、当該全域木に該当しない前記非零成分の有向枝のペアの重みを、前記全域木と前記有向枝のペアとにより形成される有向閉路の頂点集合に対応する主小行列式に基づき算出する、付記3に記載の情報処理装置。
[付記5]
前記第2エルミート行列の少なくとも一部の成分は、πの倍数以外の偏角を有する、付記1~4のいずれか一項に記載の情報処理装置。
[付記6]
前記取得手段は、前記部分集合を指定したクエリに基づき、当該部分集合に対応する前記主小行列式を取得する、付記1~5のいずれか一項に記載の情報処理装置。
[付記7]
前記取得手段は、前記部分集合の選択に関する試行結果に基づき、前記主小行列式を算出する、付記1~5のいずれか一項に記載の情報処理装置。
[付記8]
前記取得手段は、前記集合のある部分集合に対応する主小行列式として、当該部分集合を含む集合が選択された確率を、前記試行結果に基づき算出する、付記7に記載の情報処理装置。
[付記9]
コンピュータにより、
所定個数の要素からなる集合に対する部分集合の選択に関する確率分布を表す第1エルミート行列の主小行列式を取得し、
前記主小行列式に基づき、前記第1エルミート行列と全ての主小行列式が一致する第2エルミート行列を生成する、
制御方法。
[付記10]
所定個数の要素からなる集合に対する部分集合の選択に関する確率分布を表す第1エルミート行列の主小行列式を取得し、
前記主小行列式に基づき、前記第1エルミート行列と全ての主小行列式が一致する第2エルミート行列を生成する処理をコンピュータに実行させるプログラムが格納された記憶媒体。
【0080】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
【符号の説明】
【0081】
1、1A、1X 情報処理装置
2 主小行列式出力装置
5 要求部
5A 試行結果取得部
5B 主小行列式生成部
6 エルミート行列生成部
11 プロセッサ
12 メモリ
13 インターフェース
100 学習システム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12