JP6700843B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP6700843B2
JP6700843B2 JP2016031375A JP2016031375A JP6700843B2 JP 6700843 B2 JP6700843 B2 JP 6700843B2 JP 2016031375 A JP2016031375 A JP 2016031375A JP 2016031375 A JP2016031375 A JP 2016031375A JP 6700843 B2 JP6700843 B2 JP 6700843B2
Authority
JP
Japan
Prior art keywords
input vector
coefficient
cluster
calculation
information processing
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
JP2016031375A
Other languages
English (en)
Other versions
JP2017151557A (ja
JP2017151557A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016031375A priority Critical patent/JP6700843B2/ja
Publication of JP2017151557A publication Critical patent/JP2017151557A/ja
Publication of JP2017151557A5 publication Critical patent/JP2017151557A5/ja
Application granted granted Critical
Publication of JP6700843B2 publication Critical patent/JP6700843B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。
画像認識を始めとする様々な応用分野において、サポートベクトルマシン(SVM)を用いた分類、又はサポートベクトル回帰(SVR)を用いた回帰計算が用いられている。SVMの分類関数の演算における演算量を削減する技術には、特許文献1、2等の技術がある。
特開2003−331254号公報 特開2010−86466号公報
しかしながら、特許文献1、2等の従来技術を用いても、演算回数の削減量が求められる値に達しなかったり、精度を向上させるために重要な演算を削減してしまい、分類処理・回帰処理等の精度が低下してしまったりするという問題がある。
本発明は、精度の低下を抑えつつ、演算処理の負担を軽減しつつ、分類関数を演算することを目的とする。
本発明の情報処理装置は、入力ベクトルの各要素のクラスタ情報に基づいて、前記入力ベクトルの要素の順序を並べ替える並べ替え手段と、前記並替え手段により並替えられた前記入力ベクトルの要素ごとに、前記入力ベクトルの要素と、多項式カーネルを展開して得られる係数と、前記クラスタ情報と、に基づいて、分類関数の値の中間データを演算する第1の演算手段と、前記第1の演算手段により演算された前記中間データと、前記入力ベクトルと、前記係数と、に基づいて、前記分類関数の値を演算する第2の演算手段と、を有する。
本発明によれば、精度の低下を抑えつつ、演算処理の負担を軽減しつつ、分類関数を演算することができる。
2次多項式カーネルを用いた分類関数の演算回数の一例を示す図である。 情報処理装置のハードウェア構成等の一例を示す図である。 情報処理装置の機能構成の一例を示す図である。 クラスタリング処理を説明する図である。 クラスタ及び係数の決定処理の一例を示すフローチャートである。 演算順序を説明する図である。 分類処理の一例を示すフローチャートである。 有効領域情報を説明する図である。 情報処理装置の機能構成の一例を示す図である。 演算順序を説明する図である。 分類処理の一例を示すフローチャートである。 3次係数のクラスタリングを説明する図である。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
SVMの分類関数の演算量を削減するための技術には、例えば、以下のようなものがある。
分類対象の入力ベクトルをx、サポートベクトルをxi(i=1、2、・・・、N)、ベクトルx、yに対するカーネル関数をK(x、y)とすると、SVMの分類関数f(x)は式1で表される。
Figure 0006700843
ここで、yiは、xiに対応する教師ラベルである。αi、bは、機械学習により決定されるパラメータである。また、Nは、サポートベクトル数である。
カーネル関数K(x、y)としては、様々な種類の関数が利用されている。例えば、カーネル関数K(x、y)として、式2に示す多項式カーネルが利用されている。
Figure 0006700843
ここで、cは、スカラ定数である。pは、多項式の次数(2、3、4、・・・)である。x・yは、ベクトルx、yの内積であり、式3で表される。
Figure 0006700843
ここで、xn、ynは、それぞれD次元ベクトルx、yのn番目の要素を表している。
多項式カーネルSVMの分類関数f(x)を、式1、式2、式3を用いて式通りに計算すると、ベクトルの次元数やサポートベクトル数Nの増加に伴い、演算回数が非常に増加するという問題がある。そこで、演算量を減らすための計算上の工夫を開示する技術がある。なお、以下の説明では、数式の複雑化を避けるため、2次多項式カーネル(p=2)を例に説明する。
多項式カーネルSVMの演算量を減らすための第1の技術は、特許文献1、特許文献2に開示されているように、式2の多項式を展開して、式1のサポートベクトルに関する和を予め計算しておく方法である。具体的には、式2を以下の式4のように展開した後に、式1に代入し、式変形を行うことで式5を得る方法である。
Figure 0006700843
Figure 0006700843
ここで、Anm、Bn、Cは、サポートベクトルxi、教師ラベルyi、パラメータαi、bを用いて、それぞれ式6、式7、式8のように計算される係数である。
Figure 0006700843
Figure 0006700843
Figure 0006700843
サポートベクトル数N=1000、入力ベクトル次元数D=100である場合、2次多項式カーネルSVMを用いた分類関数の演算回数は、図1のようになる。式1〜3を用いると、203000回の乗算・加算が必要であるのに対し、展開式5を用いることで30200回に減らすことができる。
第1の技術を用いた上で、更に演算量を減らすための第2の技術は、展開後の係数の対称性を利用するものである。係数Anmは、式9に示すような対称性をもつため、対称な項の演算をまとめることで、式10のようにxnmの項に関する和をとる範囲を減らすことができる。
Figure 0006700843
Figure 0006700843
ここで、A'nmは、式11で表される係数である。
Figure 0006700843
図1に示すように、式10を用いることで、第1の技術を用いたときの乗算・加算回数30200回を、更に15350回に減らすことができる。
第2の技術を用いた上で、さらに演算量を減らすための第3の技術は、式10の演算順序を変更して乗算回数を減らすものである。式10を式12のように変形して計算することにより、図1に示すように、乗算・加算回数を10300回まで減らすことができる。
Figure 0006700843
第1〜第3の技術は、式1〜3と等価な式変形のみを利用する演算量削減方法である。式1〜3と等価でない式変形を利用する第4の技術としては、特許文献1に削除手段12として示されている入力ベクトルの次元削減による方法がある。特許文献1の削除手段12に開示されている方法は、Anm、Bnに相当する係数W'1[h]、W3[h、k]、W3[k、h]の大きさを評価する関数E(h)を用いて、E(h)が設定された閾値θ未満の属性(入力ベクトル要素)を削除する方法である。これにより、入力ベクトルの次元数Dが減るため、演算量を削減できる。
例えば、入力ベクトル次元数D=100ならば、分類関数の計算には10300回の乗算・加算が必要となるが、演算回数を更に削減し、演算処理の負担を軽減したいという要望がある。演算回数は、特にDが大きくなってくると、D2に比例して増加することになる。
一方、第4の技術により、入力ベクトルの次元削減を行った場合、第1〜第3までの技術を用いた場合よりも、演算回数を更に減らすことができる。しかし、精度を向上させるために重要なベクトル要素を削ってしまう場合があり、分類処理、回帰処理等の精度が低下するという問題がある。
本実施形態では、精度を向上させるために重要なベクトル要素の削減量を抑えることで、分類処理、第4の技術と比べて回帰処理等の精度の低下を抑えつつ、分類関数の演算量を削減する方法について説明する。
図2は、情報処理装置301のハードウェア構成の一例を示す図である。本実施形態の情報処理装置301は、入力された入力ベクトルに対して、後述する式15、16で表される分類関数f(x)を演算し、演算結果に基づいて、判定した分類結果を出力する装置である。情報処理装置301は、パーソナルコンピュータ(PC)、サーバ装置等の情報処理装置である。また、情報処理装置301は、例えば、組み込みデバイス、デジタルカメラ、ハンドヘルドデバイス等であってもよい。
情報処理装置301は、CPU601、ROM602、RAM603、二次記憶装置604、を含む。CPU601、ROM602、RAM603、二次記憶装置604、は、システムバス605を介して、相互に接続されており、相互に情報のやり取りを行う。
CPU601は、図5、図7に示すフローチャートに対応する処理手順を含む各種プログラムを実行し、情報処理装置301の各部の制御を行う中央演算装置である。ROM602は、不揮発性のメモリであり、情報処理装置を初期動作させる際に必要なプログラム等を記憶する。RAM603は、CPU601に対してワークエリアを提供し、二次記憶装置604から読み出されたプログラム等を一時記憶する。二次記憶装置604は、CPU601が実行するプログラムや各種設定データ等を記憶する記憶装置である。
また、情報処理装置301は、システムバス605を介して、ディスプレイ606、キーボード607、マウス608、I/Oデバイス609と接続されている。ディスプレイ606は、処理結果や処理の途中経過等の情報を表示し、これらの情報をユーザに提示する表示装置である。キーボード607とマウス608とは、ユーザが指示を情報処理装置301に入力するのに用いられる入力装置である。I/Oデバイス609は、ネットワークを通じて外部と通信する通信装置との接続や、カメラ・スキャナ等の入力装置との接続、又はプリンタ等の出力装置との接続等に利用されるデバイスである。
CPU601が、ROM602又は二次記憶装置604に記憶されたプログラムに基づき処理を実行することによって、図3で後述する機能及び図5、図7で後述するフローチャートの処理が実現される。
図3は、情報処理装置301の機能構成の一例を示す図である。情報処理装置301は、並べ替え部302、入力ベクトル格納部303、入力ベクトル読み出し部304、演算部305、判定部306、クラスタ制御部307、係数読み出し部308、係数格納部309、中間データ格納部310を含む。
並べ替え部302は、入力された入力ベクトルの各要素や分類関数の係数を、後述する図4(b)に示すように、同一のクラスタに属する要素が連続するように並べ替えて、入力ベクトル格納部303や係数格納部309等に格納する。
入力ベクトル格納部303は、並べ替え部302により、要素を並べ替えられた入力ベクトルを格納する。入力ベクトル格納部303は、二次記憶装置604等により構成される。入力ベクトル格納部303に格納された入力ベクトルは、入力ベクトル読み出し部304により複数回読みだされる。入力ベクトル格納部303は、入力ベクトルを格納する第1の格納部の一例である。
入力ベクトル読み出し部304は、クラスタ制御部307の指示に従って、演算部305による分類関数の演算に必要な入力ベクトルの要素を入力ベクトル格納部303から複数回、読み出し、演算部305に渡す。
係数格納部309は、分類関数の演算に必要な係数を格納している。係数格納部309は、二次記憶装置604等により構成される。係数格納部309は、多項式カーネルを展開して得られる係数を格納する第2の格納部の一例である。係数格納部309は、後述する式15、16の演算に必要な係数Anm、A'nm、Bn、C等の情報を格納する。
係数読み出し部308は、クラスタ制御部307の指示に従って、分類関数の演算に必要な係数を係数格納部309から読み出し、演算部305に渡す。
演算部305は、クラスタ制御部307の指示に従って、入力ベクトル読み出し部304から渡されたデータと係数読み出し部308から渡された係数とに基づいて、分類関数の演算の中間データを演算し、中間データ格納部310に格納する。また、演算部305は、入力ベクトル読み出し部304から渡されたデータと、係数読み出し部308から渡された係数と、中間データ格納部310に格納される中間データ値と、に基づいて、分類関数の演算を実行する。
中間データ格納部310は、演算部305により演算された中間データを格納する。中間データ格納部310は、二次記憶装置604等により構成される。中間データ格納部310は、中間データを格納する第3の格納部の一例である。中間データ格納部310は、後述する式16を用いて、演算部305により演算されるgn(x)の値を中間データとして格納する。
判定部306は、演算部305により演算された分類関数の値に基づいて、分類判定を行い、分類結果を出力する。
クラスタ制御部307は、入力ベクトル読み出し部304、係数読み出し部308、演算部305に対して、分類関数の中間データを演算するよう指示を出す。そして、クラスタ制御部307は、入力ベクトル読み出し部304、係数読み出し部308、演算部305に対して、分類関数の値を演算するよう指示を出す。
図4(a)は、式5のように展開された分類関数における2次項の係数Anm及びベクトルのクラスタリング処理を説明する図である。係数101は、式5のように展開された分類関数における2次項の係数Anmを示す。係数101の縦方向、横方向の軸は、それぞれベクトル要素番号n、mに対応している。即ち、分類関数において、入力ベクトルxの要素番号nの要素と、要素番号mの要素とにかけ合わされる係数は、係数101のn行目、m列目の値となる。
また、Anmは、式9を満たす。そのため、対称軸111に対して、太枠内の下三角形の領域の値と太枠外の上三角形の領域の値とは、対称である。係数Anmの絶対値について、n、mの組み合わせ全体を見渡すと、相対的に他の領域よりも大きな値をとる領域が偏っている場合がある。例えば、図4(a)の例では、n、mの組み合わせに対して他の領域よりも係数Anmの絶対値が大きな値を取る第1の領域は、Cluster1として、クロスハッチされた領域102、103、104、105で示されている。入力ベクトルの要素のうち、Cluster1の領域に対応する要素(図4(a)の例では、Cluster1の両矢印で示されている要素)は、Cluster1に属する要素であるとする。
また、他の領域よりも係数Anmの絶対値が大きな値を取る第2の領域は、Cluster2として網点で示された領域106、107、108、109で示されている。入力ベクトルの要素のうち、Cluster2の領域に対応する要素(図4(a)の例では、Cluster2の両矢印で示されている要素)は、Cluster2に属する要素であるとする。
また、Anmの絶対値が相対的に他の領域よりも小さな値しか取らない領域は、白い領域で示されている。特に、十字型領域110については、特定のnと任意のmとの組み合わせ、特定のmと任意のnとの組み合わせについて、Anmの絶対値は、他の領域よりも小さな値しか取らない領域であり、この領域をCluster3とする。入力ベクトルの要素のうち、Cluster3の領域に対応する要素(図4(a)の例では、Cluster3の両矢印で示されている要素)は、Cluster3に属する要素であるとする。領域のクラスタリングの方法については、図5で後述する。
本実施形態の処理は、従来、式5に従って、n、mの全ての組み合わせについて係数Anmを用いて分類関数の2次項を演算していたところを、絶対値が他の領域よりも大きな値を取る領域に限定して係数Anmを用いて2次項を演算する処理である。それにより、演算量を減らすことができる。例えば、図4(a)の例では、Cluster1、Cluster2に限定してAnmを用いて演算を行うことになる。この原理は、式5に限らず、Anmを利用する式10、式12にも適用できるため、以下、式12を用いて本実施形態の処理の説明を行う。
本実施形態では、情報処理装置301は、入力ベクトルxのベクトル要素xn(1≦n≦D)を、オーバーラップせずに全ベクトル要素をカバーするK個のクラスタに分割するものとする。クラスタには、同じクラスタに属するベクトル要素n、mの組み合わせに対して、係数Anmの絶対値が他の領域よりも大きな値を取る領域(図4(a)におけるCluster1、Cluster2等)がある。一方、係数Anmの絶対値が他の領域よりも小さな値を取る領域(図4(a)ではCluster3等)が存在することもある。各クラスタについて、クラスタ番号kが割り当てられる。クラスタkに属するベクトル要素の番号の集合は、式13のClusterkで表される。
Figure 0006700843
また、絶対値が他の領域よりも大きな値を取る係数Anmの領域(図4(a)のCluster1、Cluster2)、即ち、分類関数の2次項の演算に使用される係数の領域のクラスタ番号kの集合を、式14のVclusterで表す。更に、ベクトル要素番号nに対応するクラスタ番号をk(n)で表し、クラスタ番号k(n)のクラスタに属するベクトル要素番号の集合をVelementで表す。
Figure 0006700843
図4(a)の例では、Cluster1、Cluster2は、Vclusterに属し、Cluster3は、Vclusterに属さない。
情報処理装置301は、式12を用いて、Vclusterに属する各クラスタkに対しては、同一のクラスタkに属するn、mの組み合わせに対してのみ、式11のA'nmを用いた2次項の演算を実行することにする。また、情報処理装置301は、Vclusterに属さないクラスタに関してはA'nmを用いた2次項の演算を実行しないようにする。それにより、本実施形態の分類関数は、式15、16で表される。
Figure 0006700843
Figure 0006700843
ここで、式15、16の分類関数について、式5で行った展開の手順を逆にたどると、式15、16に対応するカーネル関数は、式17の形で表されることになる。
Figure 0006700843
式4と式17とを比較して分かるように、本来の2次多項式カーネル関数と本実施形態ののカーネル関数とは、第1項で2乗を取る範囲がベクトル要素全域か、Vclusterに属する各クラスタ単位かという差異がある。
実施形態1におけるクラスタ及び係数の決定手順について、図5のフローチャートを用いて説明する。
S201において、CPU601は、式2の2次多項式カーネルを用いてSVMの機械学習を実行し、サポートベクトルxiとパラメータαi、bを算出する。
S202において、CPU601は、2次多項式カーネルの展開で得られる式6を用いて、係数Anm(又はA'nm)、Bn、Cを算出し、算出したAnm(又はA'nm)、Bn、Cの情報を二次記憶装置604等に記憶する。
S203において、CPU601は、分類関数の2次項の係数Anm、及び入力ベクトルの各要素のクラスタリングを行うために、係数行列Anmから各要素間の距離を示す距離行列を算出する。ここで、CPU601は、距離の計算方法として、Anmの値が大きくなる程、対応するn、mの組み合わせに対して値が小さくなるような距離を用いればよい。例えば、CPU601は、Anmの各要素の絶対値の逆数を要素に持つ行列を距離行列とすればよい。
S204において、CPU601は、S203で算出した距離行列を用いて、ベクトル要素を距離の差が設定された閾値以下になる要素が固まるようにクラスタリングする。CPU601は、クラスタリングの手法として、k−means法や階層クラスタリング等の手法を用いることができる。更に、CPU601は、Anmの絶対値が他の領域よりも小さなクラスタに関しては、Vclusterに属さないクラスタとして一つにまとめる。なお、CPU601は、学習対象の性質や距離の計算方法、Anmの絶対値に関する閾値等により、クラスタ数が影響されるため、複数の条件でクラスタリングを行った上で、適切なクラスタリング結果を選択してもよい。
CPU601は、Anmの要素についてクラスタリングした結果を示す情報を、二次記憶装置604等に記憶する。また、クラスタリング処理後のAnmに対応するA'nmの情報を生成し、生成した情報を二次記憶装置604等に記憶することとしてもよい。また、CPU601は、Anm内のあるクラスタに属する領域に対応する入力ベクトルの要素を、そのクラスタに属するものとして、入力ベクトルの各要素をクラスタリングする。そして、CPU601は、入力ベクトルの各要素がどのクラスタに属するかを示す情報であるクラスタ情報を生成し、生成したクラスタ情報を二次記憶装置604等に記憶する。このように、情報処理装置301は、クラスタ情報を生成する機能を有する。クラスタ情報を生成する情報処理装置301の機能は、クラスタ情報を生成する第2の生成手段の一例である。
S205において、CPU601は、式17に、S204におけるクラスタリング結果をあてはめ、再度SVMの機械学習を実行する。
S206において、CPU601は、S205で機械学習したサポートベクトルとパラメータとを用いて係数Anm(又はA'nm)、Bn、Cを再度算出し、算出した値でこれらの係数の値を更新する。なお、本実施形態では、再学習を行った上で係数を再計算する場合を示したが、CPU601は、S204のクラスタリングまでの処理を行い、S202で計算した係数をそのまま使用して、式15、16を計算してもよい。
図4(b)は、並べ替え部302により要素を並べ替えられた入力ベクトルに対応する分類関数の2次項の係数を示す図である。並べ替え部302は、S204で二次記憶装置604等に記憶された入力ベクトルの各要素がどのクラスタに属するかを示すクラスタ情報に基づいて、入力ベクトルの各要素を、同一のクラスタに属する要素が連続するように並べ替える。
また、並べ替え部302は、要素を並べ替えた入力ベクトルに対応して、分類関数の2次項の係数も同一のクラスタに属する要素を1つの領域に固めるように並べ替える。図4(b)の例は、並べ替えの結果の一例を示す。図4(b)において、クロスハッチされた領域112は、Cluster1、網点で示された領域113は、Cluster2、L字型の領域114は、Cluster3を示している。この並べ替えにより、入力ベクトル読み出し部304によるクラスタ単位のデータ読み出しを連続して効率的に行うことができるようになる。
本実施形態では、クラスタ制御部307は、入力ベクトル読み出し部304、係数読み出し部308、演算部305に対して、分類関数の中間データである式16のgn(x)を演算するよう指示を出す。クラスタ制御部307は、gn(x)について、g1(x)、g2(x)、・・・・、gD(x)の順番で、演算を行うように指示を出す。そして、クラスタ制御部307は、入力ベクトル読み出し部304、係数読み出し部308、演算部305に対して、演算した中間データgn(x)に基づいて、分類関数の値を演算するよう指示を出す。このときの演算順序について、図6を用いて説明する。
図6の係数101は、入力ベクトル要素の並べ替えに対応して、図4(b)のように並べ替えられた係数Anmを示し、Cluster1から順に同じクラスタに属する要素が連続するようになっている。中間データ403は、中間データ格納部310に格納された式16を用いて算出されたgn(x)の値である。クラスタ制御部307は、まず、Cluster1に属するg1(x)を計算するために、矢印群401の中の一番上の矢印に相当する入力ベクトル要素を読み出すように入力ベクトル読み出し部304に指示する。また、クラスタ制御部307は、対応する係数A'nm、Bnを読み出すように係数読み出し部308に指示する。
更に、クラスタ制御部307は、読出しを指示したデータと係数とを使用してg1(x)を演算し、中間データ403の最初の要素として格納するように演算部305に指示する。クラスタ制御部307は、演算部305によるg1(x)の演算が終わると、次に、矢印群401の中の上から2番目の矢印に相当する入力ベクトル要素の読み出しを、入力ベクトル読み出し部304に指示する。また、クラスタ制御部307は、対応する係数の読み出しを計数読み出し部308に指示する。そして、クラスタ制御部307は、読み出しを指示した係数及び要素からg2(x)を計算、格納するよう、演算部305に指示する。
クラスタ制御部307は、矢印群401を上から順にたどってCluster1に属するgn(x)の演算に必要な入力ベクトルの要素の読み出しを入力ベクトル読み出し部304に指示する。また、クラスタ制御部307は、gn(x)の演算に必要な係数の読み出しを計数読み出し部308に指示する。また、クラスタ制御部307は、gn(x)の演算・格納を演算部305に指示する。
クラスタ制御部307は、Cluster1に属するgn(x)の計算、格納が終わると、次に、矢印群402を順にたどってCluster2に属するgn(x)の演算に必要な入力ベクトルの要素の読み出しを入力ベクトル読み出し部304に指示する。また、クラスタ制御部307は、Cluster2に属するgn(x)の演算に必要な係数の読み出しを計数読み出し部308に指示する。そして、クラスタ制御部307は、Cluster2に属するgn(x)の演算・格納を演算部305に指示する。
クラスタ制御部307は、Cluster2に属するgn(x)の計算、格納が終わると、Cluster3に関して、以下の処理を行う。即ち、クラスタ制御部307は、Cluster3の入力ベクトル要素がVelementに属していないため、係数Bnを読み出すように係数読み出し部308に指示する。そして、クラスタ制御部307は、読み出しを指示した係数Bnをそのままgn(x)として中間データ403に格納するように演算部305に指示する。
クラスタ制御部307は、Cluster3に属するgn(x)の格納が終わると、入力ベクトル要素を順に全て読み出すように入力ベクトル読み出し部304に指示し、係数Cを読み出すように係数読み出し部308に指示する。そして、クラスタ制御部307は、式15の分類関数の値を演算して結果を判定部306に出力するように演算部305に指示する。演算部305は、順に読み出された入力ベクトルの要素xnと、対応する中間データgn(x)と、を積和して、積和結果と係数Cとを足し合わせることで、式15の分類関数の値を演算して、演算結果を判定部306に出力する。
図7は、本実施形態での情報処理装置301の処理の一例を示すフローチャートである。図7を用いて、分類関数の演算処理を説明する。
S501において、並べ替え部302は、例えば、予め二次記憶装置604等に記憶されている入力ベクトルの情報を、二次記憶装置604等から取得することで、入力ベクトルを取得する。そして、並べ替え部302は、S204で二次記憶装置604等に記憶された入力ベクトルの各要素がどのクラスタに属するかを示すクラスタ情報に基づいて、取得した入力ベクトルの各要素を、同一のクラスタに属する要素が連続するように並べ替える。また、並べ替え部302は、要素を並べ替えた入力ベクトルに対応して、分類関数の2次項の演算に用いられる係数行列の要素を、同一のクラスタの要素が固まるように並べ替える。
S502において、演算部305は、図6の行方向の入力ベクトルの要素に関するインデックスnを1とする。
S503において、クラスタ制御部307は、S204で二次記憶装置604等に記憶されたクラスタ情報に基づいて、インデックスnの属するクラスタkの範囲を取得する。
S504において、演算部305は、図6の列方向の入力ベクトルの要素に関するインデックスmをnの属するクラスタkの最初の要素のインデックスとする。より具体的には、演算部305は、mの値を、S503で取得したクラスタkの範囲の最初の要素のインデックスの値にする。
S505において、演算部305は、演算中のgn(x)の値に、入力ベクトルのm番目の要素xmと、係数A'nmと、をかけ合わせた値を加える。また、演算部305は、現在のnについて、初めてS505の処理を行う場合、演算中のgn(x)の値に、分類関数の1次項の係数Bnを加える。
S506において、演算部305は、mを1だけ増やす。
S507において、演算部305は、m>nか否かを判定する。演算部305は、m>nではないと判定した場合、S505の処理に進み、m>nであると判定した場合、S508の処理に進む。
以上のように、S501で同じクラスタの要素が連続するよう入力ベクトルの要素が並べ替えられたために、演算部305は、S504〜S507で、入力ベクトルの要素nについての分類関数の中間データを演算するために次のような処理を行うこととなる。即ち、演算部305は、mの値をnの属するクラスタの最初の要素からnまで順番に1ずつ増やしながら、A'nm×xmの値を足し合わせていく処理を行う。これにより、演算部305は、要素mがnと同じクラスタか否かを判定する処理を行う手間をかけずに、同じクラスタ同士で分類関数の2次項の演算を行うことができる。
S508において、演算部305は、現在のnに対するgn(x)の計算が完了したとして、nを1だけ増やす。
S509において、演算部305は、n>Dか否かを判定する。演算部305は、n>Dではないと判定した場合、S503の処理に進む。また、演算部305は、n>Dであると判定した場合、全てのnに対するgn(x)の計算が完了したとして、S510の処理に進む。gn(x)を演算する演算部305は、分類関数の値の中間データを演算する第1の演算手段の一例である。
S510において、演算部305は、入力ベクトル要素インデックスnを1とする。
S511において、演算部305は、現在のnに対応するgn(x)と、現在のnに対応する入力ベクトルの要素xnと、をかけ合わせた値を演算中の分類関数f(x)の値に加える。また、演算部305は、現在のnについて、初めてS511の処理を行う場合、演算中の分類関数f(x)の値に、分類関数の定数項の係数Cを加える。
S512において、演算部305は、nを1だけ増やす。
S513において、演算部305は、n>Dか否かを判定する。演算部305は、n>Dではないと判定した場合、S511の処理に進む。また、演算部305は、n>Dであると判定した場合、f(x)の演算が完了したとして、演算結果を判定部306に送信し、S514の処理に進む。また、演算部305は、分類関数の演算結果の情報を二次記憶装置604等にファイル形式で記憶することで出力してもよい。また、演算部305は、演算結果の情報を外部の情報処理装置等に送信することで出力してもよい。f(x)を演算する演算部305は、分類関数の値を演算する第2の演算手段の一例である。
S514において、判定部306は、S513で送信された分類関数f(x)の値に基づいて、分類結果を判定する。判定部306は、判定結果の情報を、二次記憶装置604等にファイル形式で記憶することで出力することとしてもよいし、外部の情報処理装置に送信することで出力することとしてもよい。
以上、本実施形態の処理により、情報処理装置301は、式15、16で示す分類関数を第1〜第3の技術と比べて演算回数を削減できる。また、情報処理装置301は、分類関数の2次項の係数Anmの一部について演算を行わず、1次項の係数Bnの全てを計算している。即ち、情報処理装置301は、第4の技術と異なり、精度上重要な分類関数の1次項について演算を削除しておらず、分類精度の低下を抑えることができる。
なお、本実施形態では、情報処理装置301は、図6において、式9の対称性によりAnmの下三角部分だけの計算を行っているが、逆に上三角部分だけの計算を行ってもよい。また、情報処理装置301は、式9の対称性を利用せずに、各クラスタの矩形領域全てに対して演算を行ってもよい。
また、本実施形態では、情報処理装置301は、判定部306を介して、分類関数の判定を行い、分類結果を出力しているが、判定処理を行わずに、分類関数の値を出力することで回帰装置としての機能を実現することもできる。
<実施形態2>
本実施形態では、実施形態1のように入力ベクトルの要素の並べ替えを行わない処理について説明する。なお、本実施形態における分類関数の係数の決定処理と、入力ベクトルの要素及び分類関数の2次項の係数のクラスタリング処理と、実施形態1と同様である。
本実施形態の情報処理装置801のハードウェア構成は、実施形態1の情報処理装置301と同様である。
本実施形態で用いられる有効領域情報について、図8を用いて説明する。図8は、図4(a)と同様の分類関数の2次項の係数Anmを示した図である。図8の領域701は、入力ベクトルの要素のうち、Cluster1に属しているある要素に対応する分類関数の2次項の係数を示す領域である。領域701には、有効領域702、703の2つの有効領域が含まれている。有効領域とは、分類関数のある項の係数を示す領域のうち、他の領域よりも絶対値が大きく、分類関数の演算に利用される係数を示す領域である。また、有効領域ではない領域とは、他の領域よりも絶対値が小さく、分類関数の演算に利用されない係数を示す領域である。例えば、情報処理装置801は、有効領域702内のある係数と、この係数に対応する列に対応する入力ベクトルの要素と、領域701に対応する行に対応する入力ベクトルの要素と、を掛け合わせた値を、分類関数の演算に利用する。有効領域は、入力ベクトルの要素同士の組み合わせとして表される。入力ベクトルの要素の組み合わせと、その組み合わせに対応する係数と、が分類関数の演算に利用されるか否かを示す情報を有効領域情報とする。
CPU601は、Anmのうち、他の領域よりも大きい値となる領域を有効領域であるとして決定する。CPU601は、例えば、入力ベクトルの要素nに対応する2次項の係数を、S201〜S204の処理と同様の処理でクラスタリングすることで、他の領域よりも大きい値となる領域を有効領域として決定することとする。また、CPU601は、Anmのうち、設定された閾値よりも大きい値をとる領域を有効領域として決定してもよい。CPU601は、有効領域に対応する入力ベクトルの要素の組み合わせの情報を、有効領域情報として生成し、生成した有効領域情報を二次記憶装置604等に記憶する。このように、情報処理装置301は、有効領域情報を生成する機能を有する。有効領域情報を生成する情報処理装置301の機能は、有効領域情報を生成する第1の生成手段の一例である。
図9は、情報処理装置801の機能構成の一例を示す図である。情報処理装置801は、入力ベクトル格納部303、判定部306、係数読み出し部308、係数格納部309、中間データ格納部310、入力ベクトル読み出し部802、演算部803、クラスタ制御部804を含む。入力ベクトル格納部303、判定部306、係数読み出し部308、係数格納部309、中間データ格納部310は、実施形態1の図3のものと同様である。
情報処理装置801は、実施形態1の情報処理装置301と同様に、式15、16で表される分類関数f(x)を演算し、演算結果に基づいて、分類判定を行い、分類結果を出力する情報処理装置である。
入力ベクトル読み出し部802は、演算部803による演算処理に必要な入力ベクトルの要素を、入力ベクトル格納部303から複数回、読み出し、演算部803に渡す。
演算部803は、クラスタ制御部804の指示に従って、入力ベクトル読み出し部802から渡されたデータと係数読み出し部308から渡された係数とに基づいて、分類関数の演算の中間データを演算し、中間データ格納部310に格納する。また、演算部305は、入力ベクトル読み出し部802から渡されたデータと、係数読み出し部308から渡された係数と、中間データ格納部310に格納される中間データ値と、に基づいて、分類関数の演算を実行する。
中間データ格納部310は、演算部803により演算された中間データを格納する。中間データ格納部310は、演算部803により、式16を用いて演算されたgn(x)の値を中間データとして格納する。
クラスタ制御部804は、入力ベクトル読み出し部802、係数読み出し部308、演算部803に指示を出して、まず、演算部803に式16を用いて、各gn(x)(n=1、2、・・・、D)を演算させる。次に、クラスタ制御部804は、演算部803に式15の分類関数の演算を実行させる。
演算部803による演算処理の順序について、図10を用いて説明する。図10は、図8と同様に、クラスタリングされた分類関数の2次項の係数全体を示す。中間データ903は、中間データ格納部310に格納された式16のgn(x)を示す。クラスタ制御部804は、まず、g1(x)を演算部803に演算させるために、矢印群901の中の一番上の矢印に相当する部分に対応する入力ベクトルの要素の全てを読み出すように入力ベクトル読み出し部802に指示する。また、クラスタ制御部804は、読み出しを指示した入力ベクトルの要素に対応する係数A'nm、Bnを読み出すように係数読み出し部308に指示する。更に、クラスタ制御部804は、入力ベクトル読み出し部802により読み出されたデータのうち、どの部分が有効領域かを示す有効領域情報を演算部803に渡す。
演算部803は、渡された有効領域情報に示される入力ベクトルの要素の組み合わせについて、分類関数の中間データの演算を実行してg1(x)を算出し、中間データ903の最初の要素としてRAM603等に格納する。演算部803は、g1(x)の計算が終わると、クラスタ制御部804は、矢印群901の中の上から2番目の矢印に相当する入力ベクトル要素の読み出しと対応する係数の読み出しと、g2(x)の演算、格納を指示する。クラスタ制御部804は、矢印群901を上から順にたどってCluster1又はCluster2に属するgn(x)の演算、格納を指示する。
クラスタ制御部804は、Cluster3に属するgn(x)に関しては、入力ベクトル要素がVelementに属していないため、係数Bnのみを読み出すように係数読み出し部308に指示する。更に、クラスタ制御部804は、Bnをそのままgn(x)として中間データ903に格納するように演算部803にも指示する。次に、クラスタ制御部804は、矢印群902に対しても矢印群901と同様にgn(x)の計算、格納を指示する。最後のgn(x)の格納が終わると、クラスタ制御部804は、入力ベクトル要素を順に全て読み出すように入力ベクトル読み出し部802に指示し、係数Cを読み出すように係数読み出し部308に指示する。そして、クラスタ制御部804は、式15の分類関数の値を演算して結果を判定部306に出力するように演算部803に指示する。演算部803は、順に読み出された入力ベクトルの要素xnと、対応する中間データgn(x)と、を積和して、積和結果と係数Cとを足し合わせることで、式15の分類関数の値を演算して、演算結果を判定部306に出力する。
図11は、本実施形態の情報処理装置801の処理の一例を示すフローチャートである。なお、図11の処理における演算部803による演算順序は、図10で説明したとおりである。
S1001において、演算部803は、図9の行方向の入力ベクトルの要素のインデックスnを1とする。
S1002において、演算部803は、クラスタ制御部804からnに対応する有効領域情報を取得する。クラスタ制御部804は、予め計算され、二次記憶装置604等に記憶されている有効領域情報を、演算部803に渡すことになる。
S1003において、演算部803は、図9の列方向の入力ベクトルの要素のインデックスmを1とする。
S1004において、演算部803は、S1002で取得した有効領域情報に基づいて、現在のmが有効領域に属するか(mがnと同じクラスタに属するか)否かを判定する。演算部803は、現在のmが有効領域に属すると判定した場合、演算中のgn(x)の値に、入力ベクトルのm番目の要素xmと、係数A'nmと、をかけ合わせた値を加える。また、演算部803は、現在のnについて、初めてS1004の処理を行う場合、演算中のgn(x)の値に、分類関数の1次項の係数Bnを加える。このように、演算部803が有効領域情報に基づいて、入力ベクトルの要素の組み合わせのそれぞれについて、分類関数の2次項の演算を行うか否かを判定することで、演算量を削減する。情報処理装置801は、実施形態1と異なり、有効領域情報を利用することで、入力ベクトルの要素の並べ替えを行うことなく、演算量を削減できる。
S1005において、演算部803は、mを1だけ増やす。
S1006において、演算部803は、m>nか否かを判定する。演算部803は、m>nでないと判定した場合、S1004の処理に進む。また、演算部803は、m>nであると判定した場合、現在のnに対するgn(x)の計算が完了したとして、S1007の処理に進む。
S1007において、演算部803は、nを1だけ増やす。
S1008において、演算部803は、n>Dか否かを判定する。演算部803は、n>Dではないと判定した場合、S1002の処理に進む。また、演算部803は、n>Dであると判定した場合、全てのnに対するgn(x)の計算が完了したとして、S1009の処理に進む。
S1009において、演算部803は、入力ベクトルの要素のインデックスnを1とする。
S1010において、演算部803は、現在のnに対応するgn(x)と、現在のnに対応する入力ベクトルの要素xnと、をかけ合わせた値を演算中の分類関数f(x)の値に加える。また、演算部803は、現在のnについて、初めてS1010の処理を行う場合、演算中の分類関数f(x)の値に、分類関数の定数項の係数Cを加える。
S1011において、演算部803は、nを1だけ増やす。
S1012において、演算部803は、n>Dか否かを判定する。演算部803は、n>Dではないと判定した場合、S1010の処理に進む。また、演算部803は、n>Dであると判定した場合、f(x)の演算が完了したとして、演算結果を判定部306に送信し、S1013の処理に進む。また、演算部803は、分類関数の演算結果の情報を二次記憶装置604等にファイル形式で記憶することで出力してもよい。また、演算部803は、演算結果の情報を外部の情報処理装置等に送信することで出力してもよい。
S1013において、判定部306は、S1012で送信された分類関数f(x)の値に基づいて、分類結果を判定する。判定部306は、判定結果の情報を、二次記憶装置604等にファイル形式で記憶することで出力することとしてもよいし、外部の情報処理装置に送信することで出力することとしてもよい。
以上、本実施形態の処理により、情報処理装置301は、式15、16で示す分類関数を第1〜第3の技術と比べて演算回数を削減できる。また、情報処理装置301は、分類関数の2次項の係数Anmの一部について演算を行わず、1次項の係数Bnの全てを計算している。即ち、情報処理装置301は、第4の技術と異なり、精度上重要な分類関数の1次項について演算を削除しておらず、分類精度の低下を抑えることができる。
なお、本実施形態では、情報処理装置301は、図10において、式9の対称性によりAnmの下三角部分だけの計算を行っているが、逆に上三角部分だけの計算を行ってもよい。また、情報処理装置301は、式9の対称性を利用せずに、各クラスタの矩形領域全てに対して演算を行ってもよい。
また、本実施形態では、情報処理装置301は、判定部306を介して、分類関数の判定を行い、分類結果を出力しているが、判定処理を行わずに、分類関数の値を出力することで回帰装置としての機能を実現することもできる。
<実施形態3>
実施形態1、2では、2次多項式カーネルの例を説明したが、本実施形態では、3次以上の高次多項式カーネルについても、分類関数の高次項の演算量を削減できる点について説明する。高次項とは2次以上の項のことを意味する。本実施形態では、3次多項式カーネルの例を説明する。本実施形態では、実施形態1と同様に情報処理装置301が分類関数の演算を行う。
3次多項式カーネルに関して、式12に相当する分類関数f(x)の計算式を式変形で導出すると、式18〜22のようになる。なお、本実施形態では、情報処理装置301は、表記の複雑化を避けるために、係数の対称性は利用しないこととするが、対称性を利用してもよい。
Figure 0006700843
Figure 0006700843
Figure 0006700843
Figure 0006700843
Figure 0006700843
式19の係数Anmlは、分類関数における3次項の係数である。情報処理装置301は、係数Anmlについて、各係数のクラスタリングを行い、クラスタリング結果に応じて、各係数に対応する入力ベクトルの各要素についてもクラスタリングを行う。並べ替え部302は、同一クラスタのベクトル要素が連続するように、入力ベクトルの要素、及び係数Anmlを並べ替える。
図12は、並べ替え部302により並べ替えられた入力ベクトルの要素、及び係数Anmlを示す図である。図12において、領域1101は、係数Anml全体を示す領域である。クロスハッチされた領域1102は、最初のクラスタに属する入力ベクトルの要素の組み合わせn、m、lに対応する係数を示す領域である。網点で示された領域1103は、2番目のクラスタに属する入力ベクトルの要素の組み合わせn、m、lに対応する係数を示す領域である。
図12からわかるように、情報処理装置301は、係数Anmlに関する演算を、クラスタ内に属するベクトル要素の組み合わせに限定することで、3次多項式カーネルの演算量を大幅に減らすことができる。例えば、情報処理装置301は、図12の領域1101内の無地の領域に対応する係数については、3次項の演算を行わない。3次項の係数Anml、2次項の係数Bnmに関する計算を、クラスタ内に属するベクトル要素の組み合わせに限定した場合の分類関数f(x)の計算式を式23〜25に示す。
Figure 0006700843
Figure 0006700843
Figure 0006700843
情報処理装置301は、式23〜25を用いて計算を行うことで、3次多項式カーネルに関しても、実施形態1の2次多項式カーネルの例と同様に、分類関数の演算量を削減することができる。
なお、情報処理装置301は、3次係数Anmlをクラスタリングする際のベクトル要素間の距離計算に関しては、例えば、次の方法で行う。情報処理装置301は、ベクトル要素の番号i、jの各組み合わせ(i≠j)に対する距離Lijを、式26を用いて、算出する。即ち、情報処理装置301は、n、m、lの各値がi、jだけからなる場合の係数Anmlの絶対値の和を算出し、算出した和の逆数をとることで、距離Lijを算出する。
Figure 0006700843
また、情報処理装置301は、3次項の係数Anmlだけでなく2次項の係数Bnmの値に基づいて、距離を算出してもよい。本実施形態では、情報処理装置301は、式26を用いて算出した距離に基づいて、Anmlの各係数をクラスタリングする。
以上、本実施形態の処理により、情報処理装置301は、3次以上の高次多項式カーネルについても、分類関数の高次項の演算量を削減できる。
なお、情報処理装置301は、本実施形態で説明した3次多項式カーネルの例と同様の拡張を行えば、4次以上の多項式に関しても同様に、分類関数の演算量を削減することができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
例えば、上述した情報処理装置301の機能構成の一部又は全てをハードウェアとして情報処理装置301に実装してもよい。
301 情報処理装置、305 演算部、601 CPU

Claims (12)

  1. 入力ベクトルの各要素のクラスタ情報に基づいて、前記入力ベクトルの要素の順序を並べ替える並べ替え手段と、
    前記並べ替え手段により並べ替えられた前記入力ベクトルの要素ごとに、前記入力ベクトルの要素と、多項式カーネルを展開して得られる係数と、前記クラスタ情報と、に基づいて、分類関数の値の中間データを演算する第1の演算手段と、
    前記第1の演算手段により演算された前記中間データと、前記入力ベクトルと、前記係数と、に基づいて、前記分類関数の値を演算する第2の演算手段と、
    を有する情報処理装置。
  2. 前記並べ替え手段は、前記クラスタ情報に従って、前記入力ベクトルの各要素を、同一クラスタに属する要素が連続するように並べ替える請求項1記載の情報処理装置。
  3. 前記並べ替え手段は、要素の順序を並べ替えた前記入力ベクトルを第1の格納部に格納し、
    前記第1の演算手段は、前記第1の格納部から要素の順序を並べ替えられた前記入力ベクトルを取得し、第2の格納部から前記係数を取得し、前記中間データを第3の格納部に格納し、
    前記第2の演算手段は、前記第3の格納部から前記中間データを取得し、取得した前記中間データと、前記入力ベクトルと、前記係数と、に基づいて、前記分類関数の値を演算する請求項1又は2記載の情報処理装置。
  4. 前記第1の演算手段は、前記第1の格納部から前記並べ替え手段により要素の順序を並べ替えられた前記入力ベクトルであるxを取得し、前記第2の格納部から前記係数を取得し、前記クラスタ情報に基づいて、クラスタkに属するベクトル要素の番号の集合を式1のClusterkとして、2次項の演算に利用されるクラスタkの番号kの集合を式2のVclusterとして、ベクトル要素番号nに対応するクラスタ番号をk(n)として、k(n)に対応するクラスタ番号k(n)がVclusterに属するベクトル要素番号の集合を式2のVelementとして、前記係数に含まれる前記分類関数の2次項の演算に利用される係数Anm及び前記分類関数の1次項の演算に利用される係数Bnと、xと、に基づいて、式3を利用して、xの要素ごとに前記中間データであるgn(x)を演算し、
    前記第2の演算手段は、前記第1の演算手段により演算されたgn(x)と、xと、前記係数に含まれる前記分類関数の定数項である係数Cに基づいて、式4を利用して前記分類関数の値を演算する請求項3記載の情報処理装置。
    Figure 0006700843
    Figure 0006700843
    Figure 0006700843
    Figure 0006700843
  5. 入力ベクトルの各要素のクラスタ情報に基づいて、多項式カーネルを展開して得られる係数のそれぞれの要素が、クラスタごとの演算に用いられるか否かを示す有効領域情報を生成する第1の生成手段と、
    前記入力ベクトルの要素ごとに、前記入力ベクトルの要素と、前記係数と、前記第1の生成手段により生成された有効領域情報と、に基づいて、分類関数の値の中間データを演算する第1の演算手段と、
    前記中間データと、前記入力ベクトルと、前記係数と、に基づいて、前記分類関数の値を演算する第2の演算手段と、
    を有する情報処理装置。
  6. 前記第2の演算手段により演算された前記分類関数の値の情報を出力する出力手段を更に有する請求項1乃至5何れか1項記載の情報処理装置。
  7. 前記第2の演算手段により演算された前記分類関数の値に基づいて、前記入力ベクトルの分類結果を判定する判定手段と、
    前記判定手段による判定結果を示す情報を出力する出力手段と、
    を更に有する請求項1乃至5何れか1項記載の情報処理装置。
  8. 多項式カーネル関数を用いて機械学習を行う学習手段と、
    前記学習手段による学習の結果により多項式カーネルを展開して得られる係数を取得する取得手段と、
    前記取得手段により取得される前記係数の値に基づいて、前記入力ベクトルの各要素をクラスタリングし、クラスタリングの結果を示す前記クラスタ情報を生成する第2の生成手段と、
    を更に有する請求項1乃至7何れか1項記載の情報処理装置。
  9. 前記第2の生成手段は、前記係数に基づいて、前記入力ベクトルの要素間の距離を取得し、取得した前記距離に基づいて、前記入力ベクトルの各要素をクラスタリングし、クラスタリングの結果に基づいて、前記入力ベクトルの各要素がどのクラスタに属するかを示す前記クラスタ情報を生成する請求項8記載の情報処理装置。
  10. 前記第2の生成手段による前記入力ベクトルの要素のクラスタリング処理の結果により定まるカーネル関数に基づいて、機械学習を行い、学習の結果に基づいて、前記係数を更新する更新手段を更に有する請求項8又は9記載の情報処理装置。
  11. 情報処理装置が実行する情報処理方法であって、
    入力ベクトルの各要素のクラスタ情報に基づいて、前記入力ベクトルの要素の順序を並べ替える並べ替えステップと、
    前記並べ替えステップで要素の順序を並べ替えられた前記入力ベクトルの要素ごとに、前記入力ベクトルの要素と、多項式カーネルを展開して得られる係数と、前記クラスタ情報と、に基づいて、分類関数の値の中間データを演算する第1の演算ステップと、
    前記中間データと、前記入力ベクトルと、前記係数と、に基づいて、前記分類関数の値を演算する第2の演算ステップと、
    を含む情報処理方法。
  12. コンピュータを、請求項1乃至10何れか1項記載の情報処理装置の各手段として機能させるためのプログラム。
JP2016031375A 2016-02-22 2016-02-22 情報処理装置、情報処理方法及びプログラム Active JP6700843B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016031375A JP6700843B2 (ja) 2016-02-22 2016-02-22 情報処理装置、情報処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016031375A JP6700843B2 (ja) 2016-02-22 2016-02-22 情報処理装置、情報処理方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2017151557A JP2017151557A (ja) 2017-08-31
JP2017151557A5 JP2017151557A5 (ja) 2019-04-04
JP6700843B2 true JP6700843B2 (ja) 2020-05-27

Family

ID=59739664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016031375A Active JP6700843B2 (ja) 2016-02-22 2016-02-22 情報処理装置、情報処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6700843B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3889663B2 (ja) * 2002-05-13 2007-03-07 日本電信電話株式会社 分類装置、分類方法、分類プログラム及びそのプログラムを記録した記録媒体

Also Published As

Publication number Publication date
JP2017151557A (ja) 2017-08-31

Similar Documents

Publication Publication Date Title
Chesi Estimating the domain of attraction for uncertain polynomial systems
JP6777574B2 (ja) 区分線形近似関数生成装置および方法
Charina et al. Multiple multivariate subdivision schemes: matrix and operator approaches
JP2021125136A (ja) 最適化装置及び最適化方法
JP6700843B2 (ja) 情報処理装置、情報処理方法及びプログラム
Manthe Optimized unoccupied single-particle functions in the (multi-layer) multi-configurational time-dependent Hartree approach
Strand Weighted distances based on neighbourhood sequences
JP6104469B2 (ja) 行列生成装置及び行列生成方法及び行列生成プログラム
Gonçalves et al. Algorithm 860: SimpleS—an extension of Freudenthal's simplex subdivision
EP4116856A1 (en) Program, inference method, and information processing apparatus
JP6651254B2 (ja) シミュレーション方法、シミュレーションプログラム、及びシミュレーション装置
Abramson et al. A subclass of generating set search with convergence to second-order stationary points
JP7468655B2 (ja) 不整合判定装置、方法、および、プログラム
Sukhorukova et al. Chebyshev multivariate polynomial approximation: alternance interpretation
JP7158175B2 (ja) 情報処理装置、システム、情報処理方法及びプログラム
Gago-Vargas Bases for projective modules in An (k)
Vandehey Lagrange's theorem for continued fractions on the Heisenberg group
CN114897188A (zh) 大规模数据处理方法
Bajaj et al. Solving a continuous multifacility location problem by DC algorithms
Nikolova et al. Unconditional well-posedness in the energy space for the Ginzburg-Landau equation
Lu et al. Multi-degree reduction of triangular Bézier surfaces with boundary constraints
JP2007079972A (ja) 逆変換回路
WO2018198273A1 (ja) シミュレーション方法、シミュレーションプログラム、及びシミュレーション装置
Asheim A combined Filon/asymptotic quadrature method for highly oscillatory problems
Faragó et al. Qualitatively adequate numerical modeling of some biological processes

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200305

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: 20200317

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200501

R151 Written notification of patent or utility model registration

Ref document number: 6700843

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151