JP5942998B2 - 線形制約条件生成装置及び方法、半正定値最適化問題求解装置、計量学習装置、並びにコンピュータ・プログラム - Google Patents

線形制約条件生成装置及び方法、半正定値最適化問題求解装置、計量学習装置、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP5942998B2
JP5942998B2 JP2013536242A JP2013536242A JP5942998B2 JP 5942998 B2 JP5942998 B2 JP 5942998B2 JP 2013536242 A JP2013536242 A JP 2013536242A JP 2013536242 A JP2013536242 A JP 2013536242A JP 5942998 B2 JP5942998 B2 JP 5942998B2
Authority
JP
Japan
Prior art keywords
information
matrix
semi
linear constraint
definite
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
JP2013536242A
Other languages
English (en)
Other versions
JPWO2013047394A1 (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 JPWO2013047394A1 publication Critical patent/JPWO2013047394A1/ja
Application granted granted Critical
Publication of JP5942998B2 publication Critical patent/JP5942998B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、指定された条件を満足する数値の組み合わせの中から、指定された目的関数の値を最小化する組み合わせを求める技術分野に関する。
指定された条件を満たす数値の組み合わせの中から、指定された目的関数(Objective Function)の値を最小化することが可能な、特定の組み合わせを検出するというタスク(問題)は、産業上の様々な分野に存在する。例えば、限られた資金を利益が最大になるように(或いは、利益の符号を逆転したものが最小になるように)、複数の投資先に配分する割合を求める装置が提案されている。また、機械等の挙動が最も望ましくなるように(或いは、所望の挙動からのずれを最小にするように)、制御可能なパラメータを調整する装置が提案されている。また、複雑な制約条件の下で効能が最も大きくなるように(或いは、効能の符号を逆転したスコアが最も小さくなるように)、構造などを設計する装置等が提案されている。
このような様々なタスクにおいては、指定された条件が、検出すべき数値に関する一次不等式のみで表現されている場合と、表現されていない場合とがある。前者は、一般に、線形制約問題(Linear Constraint Problem)と呼ばれる。後者は、非線形制約問題(Non−Linear Constraint Problem)と呼ばれる。これらは、何れも産業上の様々な分野に存在するタスクを表すと捉えることができる。このため、係るタスクの解法は盛んに研究されている。
しかしながら、非線形制約問題は、線形制約問題と比較して複雑である。このため、係る非線形制約問題の解法は困難であり、情報処理装置(コンピュータ)を利用した解法においては計算に要する時間が長くなる。
非線形制約問題の一例として、半正定値計画(Semi−definite Programming:SDP)問題がある。これは、半正定行列を用いて、指定された関数の値を最大化するというタスクである。ここで、半正定行列とは、全ての固有値が0以上の対称行列である。ある行列において、その全ての固有値が0以上であるという条件は、行列の成分の一次関数、あるいは係る一次関数の有限個の組み合わせによっては表わすことができないので、これは非線形制約問題である。以下、本願明細書においては、この「全ての固有値が0以上である」という条件を、“半正定条件”と称することにする。
ある行列が半正定条件を満たすかどうかは、その行列の固有値を調べる等の方法によって判定することができる。これに対して、指定された関数の値を最小化する“半正定条件を満たす行列”を求めることは、一般に非常に困難なタスクである。
尚、本願明細書においては、半正定条件に加えて、一つ以上の線形制約条件を有する関数最適化問題も、半正定値計画問題と呼ぶことにする。更に、複数の半正定値行列を同時に最適化する場合(線形制約条件を有している場合)も、半正定値計画問題と称することとする。
半正定値計画問題を解くことによって動作する装置の産業上の適用例として、特許文献1に記載された装置がある。この特許文献1に記載された装置は、入力されるテキストデータを分析する装置である。この装置は、計量情報と呼ばれるパラメータを、ユーザから提示される「分析結果が満たすべき性質」に従って自動的に調整する装置である。ここで、この計量情報とは、例えば、「どの単語を重要視するべきか」、「どの単語を軽視するべきか」、並びに「どの単語とどの単語とを同一視するべきか」等の情報である。この装置において、係る計量情報は、半正定行列で表現され、ユーザから指示された「分析結果が満たすべき性質」からの違反量を最も小さくする当該行列を検出する、という原理に従って動作する。
また、半正定値計画問題を解く動作を行う装置の産業上の他の適応例としては、特許文献2に記載されたノード分類装置がある。この装置は、インターネットを介して、外部装置の情報を発信しているユーザを分類する装置である。この装置は、特に悪意あるユーザの特定を、予め正解セットを用意することなく行う装置である。この装置は、ユーザ間の関係性が半正定行列で表現され、悪意あるユーザに関する情報とのズレ(差異)を最も小さくする特定の行列を検出するという原理を基に動作する。
更に、半正定値計画問題を解く装置の産業上の別の適応例としては、特許文献3に記載されたフィルタ設計装置がある。即ち、特許文献3は、デジタルフィルタを設計する装置を開示しており、特に、指定されたフィルタ特性に近くなるようにフィルタ係数を調整することを開示する。フィルタ係数の調整に際しては、フィルタ係数(フィルタ係数を定めるパラメータ)が半正定行列で表現され、このフィルタ設計装置は、フィルタ特性が指定された値と最も値のズレが小さくなる半正定行列を検出するという原理に従って動作する。
また、特許文献4には、半正定値計画問題を利用して、複数のユーザが協同して使用または作業する計量学習装置が提案されている。
ここで、本願出願に先だって存在する関連技術としては、例えば以下の非特許文献がある。
即ち、非特許文献1には、半正定値計画法を用いた解析技術の応用例として、半正定値計画法を、ロジットモデル(Logit Model)に適用することにより、中小企業の倒産確率を推定する方法が提案されている。
また、例えばデータマイニング技術を用いた分析において、ユーザ(分析者)の意図に沿った分析を行なったり、或いは、ユーザが意図する観点を分析結果に反映することは、分析精度を向上するために重要である。一般的なインタラクティブ型の分析システムでは、これらの作業がユーザによる手作業(介入操作)によって行なわれているので工数が問題となる。例えば、テキストデータの集合をクラスタリングする場合、事前作業としては、不要語リストや類義語リストを作成する等が必要である。そして、事後作業としては、クラスタ群をマップ表示する際の配置の工夫等が必要である。これらの作業は、コンピュータシステムが実行するクラスタリング処理とは独立して、ユーザに大きな工数を強いることになるので、一連の分析業務を完了するためのトータルコストが問題となる。そして、このような問題を改善するために、非特許文献2が提案されている。
非特許文献2は、テキストデータのクラスタリングを、上記の如くインタラクティブに行うシステムにおいて、計量学習(Metric Learning)の概念を採用する。係る非特許文献2によれば、クラスタリング結果に対するユーザの指示に応じて、そのユーザの意図を文書ベクトル空間の計量として学習し、それを用いて再びクラスタリングする、という処理を繰り返すことにより、分析結果に対してユーザの知識や意図を効率的に反映することができる。非特許文献2において、ユーザからの指示は、直感的な統合GUI(Graphical User Interface)を用いて簡単な操作で行うことができるので、分析に要するトータル工数を大幅に削減することができる。このシステムでは、半正定計画問題を解くことによって計量学習が実現されている。
特開2006−031460号公報 特開2009−288883号公報 特開2007−142563号公報 WO/2011/078368号公報
今野、武、「半正定値計画法を用いた倒産確率推計」、日本応用数理学界論文誌、Vol.12.No.2,2002,pp.121〜134 Michinari Momma,Satoshi Morinaga,Daisuke Komura,"Promoting Total Efficiency in Text Clustering via Iterative and Interactive Metric Learning,"icdm,pp.878−883,2009 Ninth IEEE International Conference on Data Mining,2009
[発明が解決しようとする課題]
上述した例の如く、半正定値計画問題は、様々な用途に利用されている。しかしながら、半正定値計画問題を、線形制約問題に近似して解く(即ち、線形制約問題を用いて近似解として解法する)装置においては、係る線形制約問題を繰り返し生成して解く回数が多いので、最終的な解を得るまでに要する処理時間が長いという問題がある。繰り返しの回数が多い理由は、生成される線形制約問題への近似が目的関数を無視して行われるため、なかなか真の解に到達しないためである。
そこで、本発明は、半正定値計画問題を線形制約問題に近似して解くに際して、正確且つ迅速に解を求めるための線形制約条件生成装置等の提供を主たる目的とする。
上記の目的を達成すべく、本発明に係る線形制約条件生成装置は、以下の構成を備えることを特徴とする。
即ち、線形制約条件生成装置は、
半正定値計画問題の目的関数を線形近似した結果を表す各係数を並べた行列と、その行列の転置行列とを求めると共に、該行列と該転置行列との和を算出する行列演算手段と、
前記行列演算手段の演算結果が表す行列に関して、固有値と固有ベクトルとを算出すると共に、算出結果の中から特定の固有ベクトルを選択し、選択した特定の固有ベクトルが表す情報を、前記半正定値計画問題の線形制約条件を表す情報とするベクトル演算手段とを備える。
また、上記の同目的を達成する他の見地として、本発明に係る半正定値計画問題求解装置は、
上記構成を有する線形制約条件生成装置と、
前記線形制約条件生成装置が生成した線形制約条件を利用して、前記半正定値計画問題を線形近似した結果を表す線形制約問題の暫定解を算出する求解手段と、
前記暫定解を表す行列の所定条件を満たしているか否かを判定し、満足する場合に、前記暫定解を前記半正定値計画問題の解とする判定手段とを備える。
更に、上記の同目的を達成する他の見地として、本発明に係る計量学習装置は、
クラスタリング分析に用いる計量行列の最適化問題を、分析対象を表す情報と、ユーザの要求情報とに基づいて、半正定値計画問題として定式化する定式化手段と、
前記定式化手段によって定式化された半正定値計画問題を解法する、上記構成を有する半正定値計画問題求解装置と、
前記半正定値計画問題求解装置によって求めた解を用いて、前記クラスタリング分析を行うクラスタリング手段とを備える。
そして、上記の同目的を達成する線形制約条件生成方法は、
情報処理装置により、半正定値計画問題の目的関数を線形近似した結果を表す各係数を並べた行列と、その行列の転置行列とを求め、
情報処理装置により、前記行列と前記転置行列との和を算出し、
情報処理装置により、算出した和が表す行列に関して、固有値と固有ベクトルとを算出すると共に、算出結果の中から特定の固有ベクトルを選択し、
情報処理装置により、前記選択した特定の固有ベクトルが表す情報を、前記半正定値計画問題の線形制約条件を表す情報とする。
尚、同目的は、上記構成を有する線形制約条件生成装置、半正定値最適化問題求解装置、計量学習装置、並びに、係る各装置に対応する方法を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
[発明の効果]
上記の本発明によれば、半正定値計画問題を線形制約問題に近似して解くに際して、正確且つ迅速に解を求めるための線形制約条件生成装置等が実現する。
図1は、本発明の第1の実施形態に係る線形制約条件生成装置の構成を示すブロック図である。 図2は、本発明の第2の実施形態に係る線形制約条件生成装置の構成を示すブロック図である。 図3は、本発明の第2の実施形態に係る線形制約条件生成装置による線形制約条件の生成処理を示すフローチャートである。 図4は、本発明の第3の実施形態に係る半正定値計画問題求解装置の構成を示すブロック図である。 図5は、本発明の第3の実施形態に係る半正定値計画問題求解装置による半正定値計画問題の解法処理を示すフローチャートである。 図6は、本発明の第4の実施形態に係る計量学習装置の構成を示すブロック図である。 図7は、本発明の第4の実施形態に係る計量学習装置による分析処理を示すフローチャートである。 図8は、本発明の第1乃至第4の実施形態を実現可能なコンピュータ(情報処理装置)のハードウェア構成を例示的に説明する図である。
以下、本発明を実施する形態について図面を参照して詳細に説明する。
[第1の実施の形態]
はじめに、本発明の第1の実施形態について説明する。図1は、本発明の第1の実施形態に係る線形制約条件生成装置の構成を示すブロック図である。本実施形態に係る線形制約条件生成装置300は、行列演算部311と、ベクトル演算部312とを有する。
行列演算部311は、半正定値計画問題の目的関数を線形近似した結果(線形近似解情報301)に含まれる各係数を並べた行列Hと、その行列Hの転置行列Hを求めると共に、その行列Hと当該転置行列Hとの和を表す行列(H+H)を算出する。
ベクトル演算部312は、行列演算部311の演算結果が表す行列(H+H)に関して、固有値と固有ベクトルとを算出すると共に、算出結果の中から特定の固有ベクトルを選択し、選択した特定の固有ベクトルが表す情報を、当該半正定値計画問題の線形制約条件を表す情報(線形制約条件情報302)とする。
このような線形制約条件生成装置300によって線形制約条件情報302を求めれば、半正定値計画問題を線形制約問題に近似して解く(即ち、線形制約問題を用いて近似解として解法する)に際して、正確且つ迅速に解を求めることができる。
[第2の実施の形態]
次に、上述した第1の実施形態を基礎とする第2の実施形態について説明する。図2は、本発明の第2の実施形態に係る線形制約条件生成装置の構成を示すブロック図である。本実施形態に係る線形制約条件生成装置は、大別して、プロセッサ1と、記憶部2とを有しており、図2には不図示の通信インタフェースやディスプレイ等を有する。この線形制約条件生成装置は、例えば、図8に例示するハードウェア構成を備える情報処理装置(コンピュータ)において実現される(尚、この情報処理装置については後述する)。
本実施形態に係る線形制約条件生成装置は、目的関数を考慮した線形制約条件を生成することができる装置であって、係る目的関数を考慮した線形制約条件、或いは、係る線形制約条件を規定するベクトルvを生成する機能を有する。
ここで、本実施形態において線形制約条件を生成する際の数学的な前提条件を説明する。まず、本実施形態において、対称行列Aが半正定条件を満たすことと、任意の長さ1を有する上記ベクトルvに関して、(v,Av)≧0であることは同値である。以下、長さ1のベクトルの集合を、集合Vと記す。(v,Av)は、対称行列Aを構成する各要素に関しての一次関数である。この場合、あるベクトルvに関して、(v,Av)≧0は、対称行列Aに課せられた線形制約条件である。但しこの場合、(v,Av)≧0は、無限集合である集合Vの全ての要素vに対して成立する必要があるので、半正定条件は、係る線形制約条件が無限個まとめられた集合と同値である。但し、本願明細書において、半正定条件とは、「背景技術」欄において上述したように、半正定行列の全ての固有値が0以上である、という条件である。
次に、本実施形態に係る線形制約条件生成装置の構成と動作とについて説明する。
プロセッサ1は、記憶部2等から読み出した各種のソフトウェア・プログラム(コンピュータ・プログラム、以下では単に「プログラム」と略称する)を、例えば図8に示すハードウェア資源において実行することにより、以下に説明する機能を実現する。プロセッサ1が実現する機能は、概ね図1に示す各部(11〜16)に該当する。
記憶部2は、ハードディスクや半導体メモリなどの記憶装置であって、プロセッサ1にて実行される各種処理に必要な情報(21〜27)を、プロセッサ1による読み書き可能に記憶する。本実施形態において記憶部2には、目的関数情報21、暫定解情報22、近似結果情報23、行列演算情報24、固有値・固有ベクトル情報25、選択結果情報26、出力情報27等の情報が記憶(格納)される。ここで、説明の都合から、まず、記憶部2が記憶する各種情報について説明し、その後、プロセッサ1が実行する各部について説明する。
目的関数情報21は、線形制約条件を生成しようとしている半正定値計画問題の目的関数を表す情報である。この目的関数情報21は、係る目的関数を表す式であってもよいし、係る目的関数を計算するプログラムであってもよい。
暫定解情報22は、係る線形制約条件を生成することを目的とする半正定値計画問題の、暫定的な解(後述する対称行列A)を表す情報である。即ち、記憶部2は、暫定的な解によって構成される行列の各要素の値を記憶する。
近似結果情報23は、目的関数情報21と暫定解情報22とに基づいて、目的関数線形近似部12が算出した処理結果を表わす情報である。この近似結果情報23は、目的関数を、暫定解の周辺においてテーラ展開することによって得られる、一次の係数を表す情報である。ここで、目的関数は、行列を入力とする関数であるので、その行列をなすどの成分(要素)によって当該目的関数を微分するかに起因して、テーラ展開によって求められる一次の係数は、当該行列の要素数と同数となる。即ち、近似結果情報23は、係る目的関数を微分して得られる各要素(当該一次の係数)を、それらの要素と同じ順番に並べた行列Hを表す情報である。
尚、近似結果情報23は、目的関数線形近似部12によって生成するのではなく、外部装置から、或いはユーザによる操作に応じて入力する装置構成であれば、入力された情報を、近似結果情報23として記憶部2に格納してもよい。そしてこの場合、係る近似結果情報23を目的関数線形近似部12によって生成する必要が無いのであるから、その生成に必要な目的関数情報21と暫定解情報22とを記憶部2に格納する必要はなく、且つ、目的関数線形近似部12自体を自装置に設ける必要もない。
行列演算情報24は、近似結果情報23の入力に応じて行列演算部13が算出する処理結果を表わす情報である。即ち、行列演算情報13は、係る近似結果情報23によって特定される行列Hと、その行列Hの転置行列Hとの和を表す行列(H+H)を表す情報である。
固有値・固有ベクトル情報25は、行列演算情報24を入力とした固有値・固有ベクトル算出部による処理結果を表わす情報であり、行列演算情報24により特定される行列の固有値と固有ベクトルを表す情報である。
選択結果情報26は、固有値・固有ベクトル情報25を入力とした固有ベクトル選択部14による処理結果を表わす情報である。即ち、選択結果情報26は、固有値・固有ベクトル情報25により特定される固有ベクトルの中から、線形制約条件を生成する際に利用するために選択された特定の固有ベクトルの集合を表す情報である。
尚、固有値・固有ベクトル算出部14が算出する全ての固有ベクトルを、線形制約条件を生成する際に利用する場合、選択結果情報26(選択された特定の固有ベクトルの集合)は、固有値・固有ベクトル情報25と同じ情報になる。従ってこの場合、これらの情報(25,26)は、記憶部2に別々に保持する必要はない。そしてこの場合、固有ベクトル選択部15も不要である。
出力情報27は、選択結果情報26の入力に応じて出力部16が算出する処理結果を表わす情報であり、選択された固有ベクトルを基に生成した線形制約条件を表す情報である。当該線形制約条件を表す情報は、本実施形態に係る線形制約条件生成装置の成果物であって、その生成方法の具体例は、出力部16の動作と共に後述する。
プロセッサ1は、図2には不図示の、後述する図8に示すCPU(Central Processing Unit)101等のマイクロプロセッサ、並びにその周辺回路を有する。プロセッサ1は、例えば記憶部2から読み出したプログラム・コードを実行することにより、係るプロセッサ1を含むハードウェア資源と、プログラムを協働させて各種処理部(11〜16)の機能を実現する。
入力部11は、外部装置から、或いはユーザの操作によって入力された目的関数を表す情報を、目的関数情報21として記憶部2に格納する機能を有する。
また、入力部11は、入力された暫定解を表す情報を、暫定解情報22として記憶部2に格納する機能を有する。
更に、目的関数の暫定解に対応する線形近似結果を表す情報が入力される場合、入力部11は、その入力される情報を、近似結果情報23として記憶部2に格納する機能を有する。
目的関数線形近似部12は、対象とする目的関数を線形関数に近似した結果(近似結果情報23)を求める。即ち、目的関数線形近似部12は、記憶部2から入手した目的関数情報21と暫定解情報22とに基づいて、目的関数を暫定解の周りでテーラ展開することによって得られる一次の係数(上記の行列H)を算出する機能を有する。即ち、近似結果情報23の説明に際して上述したように、テーラ展開によって求められる一次の係数は、行列Hの要素数と同数にすることができる。目的関数線形近似部12は、微分計算によって当該個々の要素を算出し、算出した値を順番に並べた行列Hを表す情報を、近似結果情報23として、記憶部に格納する機能を有する。尚、近似結果情報23を外部装置から入手可能な場合、目的関数線形近似部12は、プロセッサ1内に備える必要はない。
ここで、目的関数(目的関数情報21)の微分処理は、数値的な差分に基づき近似する方法や、微分値を計算するプログラムを、例えば、目的関数情報21と共に記憶部2に保持しておけばよい。そして、目的関数線形近似部12は、係るプログラムの実行に際して、目的関数情報21と、暫定解情報22とを参照すればよい。
行列演算部13は、記憶部2から読み込んだ近似結果情報23が表す行列Hを基に、その行列Hの転置行列Hを求めると共に、当該行列Hと転置行列Hとの和である行列(前記のH+H)を算出する機能を有する。行列演算部13は、算出した結果を、行列演算情報24として、記憶部2に格納する。
固有値・固有ベクトル算出部14は、記憶部2から読み込んだ行列演算情報24が表す行列(前記のH+H)に関して、固有値と、固有ベクトルとを算出する機能を有する。固有値・固有ベクトル算出部14は、算出した結果を、固有値・固有ベクトル情報25として、記憶部2に格納する。この固有値・固有ベクトル算出部14は、上述した第1の実施形態におけるベクトル演算部312の一部に相当する。
尚、行列の固有値及び固有ベクトルを算出する方法には、現在では一般的な方法を採用することができるので、本実施形態における詳細な説明は省略する。また、対象とする行列に関して固有値と固有ベクトルとを全て求めるのではなく、例えば固有値の最大値に対応する固有ベクトルだけ求める等のように、部分的な値を利用してもよい。この場合にも、本実施形態には、一般的な方法を採用することができる。
また、後述する固有ベクトル選択部15において固有値に関する情報を使用しない場合、固有値・固有ベクトル算出部14は、固有値に関しては算出しなくてもよい。或いは、この場合、固有値・固有ベクトル算出部14は、算出した値を、固有値・固有ベクトル情報25として記憶部2に格納しなくてもよい。
固有ベクトル選択部15は、記憶部2から読み込んだ固有値・固有ベクトル情報25が表す固有ベクトルの中から、線形制約条件を生成するために使用する特定の固有ベクトルを選択する機能を有する。係る特定の固有ベクトルを選択する際の選択基準としては、例えば、以下の方法を採用することができる。
(a)最大または最小の固有値に対応する固有ベクトルを選択する、
(b)大きい固有値から順に幾つかの固有値に関して、対応する複数の固有ベクトルを選択する等。
そして、固有ベクトル選択部15は、選択した固有ベクトルを表す情報を、選択結果情報26として、記憶部2に格納する。この固有ベクトル選択部15は、上述した第1の実施形態におけるベクトル演算部312の一部に相当する。
出力部16は、記憶部2から読み込んだ選択結果情報26が表すところの、当該選択した特定の固有ベクトルを表す情報を利用して、線形制約条件を表す情報を生成する機能を有する。この線形制約条件を表す情報は、当該特定の固有ベクトルを、所定の条件を基に整形(加工)した情報であって、その整形方法としては、例えば、以下の情報を採用することができる。
(a)使用する固有ベクトルそのもの、
(b)上記(a)にて選択した固有ベクトルを前述したベクトルvとした場合に、不等式(v,Av)≧0の左辺に現れる行列Aをなす各成分の係数を並べた情報、
(c)線形制約条件を受け取る他の装置との通信規約に基づく別形式の情報、
(d)計算処理上の工夫に基づくその他の形式の情報等。
そして、出力部16は、係る線形制約条件を表す情報を、出力情報27として、記憶部2に格納する。更に、出力部16は、係る出力情報27を、外部装置に出力する機能(例えばディスプレイを介してユーザに提示する場合を含む)を有する。
図3は、本発明の第2の実施形態に係る線形制約条件生成装置による線形制約条件の生成処理を示すフローチャートである。係るフローチャートは、図2に示すプロセッサ1(後述する図8におけるCPU101に相当)が実行するプログラムの処理手順にも対応する。
即ち、入力部11は、外部装置から、或いはユーザによる操作に応じて、目的関数を表す情報を入力し、目的関数情報21として記憶部2に格納する(ステップS1)。
また、入力部11は、外部装置から、或いはユーザによる操作に応じて、暫定解を表す情報を入力し、暫定解情報22として記憶部22に格納する(ステップS2)。
次に、目的関数線形近似部12は、目的関数情報21と暫定解情報22とを記憶部2から読み出し、読み出した情報を利用して、上述した手順によって求めた近似結果情報23を、記憶部2に格納する(ステップS3)。
尚、上述したように、近似結果情報23を外部装置から入力可能な場合、上述したステップS1及びステップS2は不要であり、且つステップS3では、係る外部装置から近似結果情報23を入手するだけでよい。
行列演算部13は、記憶部2から近似結果情報23を読み出し、読み出した情報が表す行列Hの転置行列Hを求めると共に、行列(H+H)を算出する。行列演算部24は、算出した結果を、行列演算情報24として記憶部2に格納する(ステップS4)。
固有値・固有ベクトル算出部14は、記憶部2から行列演算情報24を読み出し、読み出した情報が表す行列(H+H)に関して、上述した手順によって固有値と固有ベクトルとを算出し、固有値・固有ベクトル情報25として記憶部2に格納する(ステップS5)。
固有ベクトル選択部15は、記憶部2から固有値・固有ベクトル情報25を読み出し、読み出した情報が表す固有ベクトルの中から、上述した手順により、線形制約条件を生成するために使用する特定の固有ベクトルを選択し、選択結果情報26として記憶部2に格納する(ステップS6)。
出力部16は、記憶部2から選択結果情報26を読み出し、読み出した情報を利用して、上述した手順により、線形制約条件を表す情報を生成し、出力情報27として記憶部2に格納する(ステップS7)。更に、出力部16は、この出力情報27を外部装置に出力する(ステップS7)。
以上説明した第2の実施形態に係る線形制約条件生成装置によれば、線形制約条件(出力情報27)を生成するに際して、目的関数(目的関数情報21)を考慮すると共に、半正定値計画問題を線形制約問題に近似して解くに際して、正確且つ迅速に解を求めることができる。その理由は、本実施形態では、係る半正定値計画問題の非線形制約条件を近似するために用いる線形制約条件を生成するに際して、暫定解(暫定解情報22)において達成されている目的関数の値がなるべく変化しない線形制約条件を、係る目的関数の情報を用いて生成するからである。
このことを実現するために、本実施形態において、行列演算部13は、係る目的関数の近似結果である近似結果情報23が表す行列Hの転置行列Hを求めると共に、行列(H+H)を行列演算情報24として算出する。次に、本実施形態では、この行列(H+H)に関して固有値・固有ベクトル算出部14によって固有値と固有ベクトル(固有値・固有ベクトル情報25)とを算出する。次に、固有ベクトル選択部15は、算出された固有値と固有ベクトルの中から、上述した選択基準に基づいて、特定の固有ベクトル(選択結果情報26)を選択する。そして出力部16は、係る選択された特定の固有ベクトルに対して、上述した如く必要に応じて加工を施し、線形制約条件を表す情報(出力情報27)として出力する。
従って、本実施形態に係る線形制約条件生成装置により線形制約条件線形制約条件を求めれば、係る半正定値計画問題を解く際に必要な線形制約問題の求解処理の繰り返し回数を減らすことができるので、係る半正定値計画問題自体を解く所用時間を短縮することができる。このことを換言すると、本実施形態によれば、指定された条件が、数値の組み合わせからなる非線形関数の不等式で表現されている問題(半正定値計画問題)に対して、係る非線形関数を用いて表現された条件を、幾つかの線形不等式で表現された条件によって代替することにより、目的関数の値を最小化する効率を向上することができる。
ここで、上述した本実施形態の効果を数学的な見地から補足する。本実施形態に係る線形制約条件生成装置によれば、目的関数を考慮して(v,Av)≧0を満たすべきベクトルvを、無限集合である集合Vの中から選ぶことにより、線形制約問題を繰り返し生成すると共に解法する際の処理回数を削減することができる。その際、ベクトルvは以下のように選ぶ。
まず、目的関数が対称行列Aの線形関数である場合から説明する。線形関数である目的関数は、対象行列Aを構成する各成分(Aijと表す)に対して重み付け和を求めた値である。本実施形態では、対象行列Aの成分Aijの重みをij成分とする行列を、行列Hと表すことにする。
今、半正定値計画問題を線形制約問題に近似して解いた解A(上述した暫定解情報22に相当)が、半正定条件を満たさなかった場合を考える。この場合、当該線形制約問題に対して、新しく(v,Av)≧0という条件を付け加えた線形制約問題の解Aが達成する目的関数の値は、解Aが達成する目的関数の値以上に必ずなる。その際、解Aが達成する目的関数の値がどの程度大きな値になってしまうか否かは、新しい条件を定めるベクトルvとして何を選択するかに依存する。但し、本実施形態においては、そもそも解法対象である元の半正定値計画問題が、対象とする目的関数を最小化するという問題であるから、解Aができるだけ大きくならないようにベクトルvを選択すればよい訳である。
また、前記の如くベクトルvを選んだときにどれくらい目的関数の値が大きくなるかは、その他の線形制約条件がどのような条件によって構成されているかに依存する。但し、解Aが小さくなる量の最悪値を極小化するには、ベクトルvとして、上記の行列Hと、その行列Hの転置行列との和(H+H)の最大固有値に対応する固有ベクトルを、ベクトルvとして選択すればよい。
そして、本実施形態では、このようにして選択したベクトルvに対して、例えば、カッティング・プレーン・アルゴリズムによって選択された集合Wに付け加える、或いは、その集合Wの一部の要素と入れ替える仕組みを追加する。これにより、元の半正定値計画問題の最適解の周りにおける半正定条件の線形制約による近似の精度を向上することができると共に、繰り返し線形制約問題を生成して解く回数を減らすことができる。
尚、本実施形態において選択するベクトルvは、係る(H+H)の最大固有値に対応する固有ベクトルのみではなく、その他の固有値に対応する固有ベクトルや、それらを近似的に求めた値であってもよい。
次に、目的関数が対称行列Aの線形関数ではない場合について説明する。この場合は、現状得られている解A(上述した暫定解情報22に相当)の周りにおける目的関数に対してテーラ展開等の演算を施すと共に、係る演算によって得られた線形近似した値に対して、上記と同様な処理を行う仕組みを追加すればよい。このような処理手順によっても、上記の場合と同様に、元の半正定値計画問題の最適解の周りにおける半正定条件の線形制約による近似の精度を向上することができると共に、繰り返し線形制約問題を生成して解く回数を減らすことができる。この場合、目的関数をテーラ展開した1次の係数を並べた行列が行列Hである。
[第3の実施の形態]
次に、上述した第1及び第2の実施形態を基礎とする本発明の第3の実施形態について説明する。本実施形態に係る半正定値計画問題求解装置は、第2の実施形態において説明した線形制約条件生成装置(目的関数を考慮した線形制約条件生成装置)の機能を含んでおり、生成した線形制約条件を用いて、半正定値計画問題を求解する機能を有する。
図4は、本発明の第3の実施形態に係る半正定値計画問題求解装置の構成を示すブロック図である。この半正定値計画問題求解装置は、上述した第2の実施形態における線形制約条件生成装置と同様に、大別して、プロセッサ1と、記憶部2とを有しており、図4には不図示の通信インタフェースやディスプレイ等を有する。この半正定値計画問題求解装置は、例えば、図8に例示するハードウェア構成を備える情報処理装置(コンピュータ)において実現される(尚、この情報処理装置の構成例については後述する)。
次に、本実施形態に係る半正定値計画問題求解装置の構成と動作とについて説明する。
プロセッサ1は、本実施形態においても、第2の実施形態と同様に、記憶部2等から読み出した各種のプログラムを、例えば図8に示すハードウェア資源において実行することにより、以下に説明する機能を実現する。プロセッサ1が実現する機能は、概ね図4に示す各部(31〜37)に該当する。
記憶部2は、第2の実施形態と同様に、プロセッサ1による読み書き可能に、各種の情報を格納可能である。図4に示す例において、記憶部2は、目的関数情報41、所与の線形制約条件情報42、暫定解情報43、生成線形制約条件情報44、出力情報45等を格納する。
即ち、記憶部2において、目的関数情報41は、第2の実施形態において図2を参照して説明した目的関数情報21と同様であるため、重複する説明は省略する。
所与の線形制約条件情報42は、本実施形態に係る半正定値計画問題求解装置が求解すべき半正定値計画問題に関する所与の線形制約条件を表す情報である。所与の線形制約条件情報42は、外部装置から、或いはユーザによる操作に応じて記憶部2に格納される。本願明細書においては、「背景技術」欄において上述したように、線形制約条件が含まれる場合であっても半正定値計画問題と呼ぶことにしているので、記憶部2は、そのような情報も、所与の線形制約条件情報42として保持する。
暫定解情報43は、後述する初期値生成部23が出力した半正定値計画問題の暫定的な解(前記の対称行列A)を表す情報である。即ち、記憶部2は、暫定的な解によって構成される行列の各要素の値を記憶する。
生成線形制約条件情報(生成された線形制約条件情報)44は、後述するところの、違反方向を考慮した線形制約条件生成部33、或いは、目的関数を考慮した線形制約条件生成部34が生成した情報である。この生成線形制約条件情報44は、係る半正定値計画問題の半正定条件を近似する線形制約条件の集合を表す情報である。
出力情報45は、後述する半正定条件判定部36によって、係る半正定条件が満たされていると判定された暫定解を表わす情報である。この出力情報54は、本実施形態に係る半正定値計画問題求解装置が、解として出力する行列を表す情報である。
プロセッサ1は、第2の実施形態と同様に図4には不図示のハードウェア構成を備える。プロセッサ1は、例えば記憶部2から読み出したプログラム・コードを実行することにより、係るプロセッサ1を含むハードウェア資源と、プログラムを協働させて各種処理部(31〜37)の機能を実現する。
入力部31は、外部装置から、或いはユーザの操作によって入力された目的関数を表す情報を、目的関数情報41として記憶部2に格納する機能を有する。
また、入力部11は、外部装置から、或いはユーザの操作によって入力された、所与の線形制約条件を表す情報を、所与の線形制約条件情報42として、記憶部2に格納する機能を有する。
初期値生成部32は、記憶部2に記憶した目的関数情報41及び所与の線形制約条件情報42のうち少なくとも何れか、或いはそれらの情報を何れも使わずに、暫定解の初期値を表す情報生成し、生成した情報を、暫定解情報43として記憶部2に格納する。係る暫定解の初期値には、例えば、対称行列Aの成分をランダムに設定すればよい。或いは、係る暫定解の初期値には、目的関数情報41と、所与の線形制約条件情報42とによって特定される線形制約問題(半正定条件を無視した線形制約問題)を、現在では一般的な方法によって求解した結果を採用してもよい。
違反方向を考慮した線形制約条件生成部33は、例えば、カッティング・プレーン・アルゴリズムにおける線形制約条件の生成方法に従って、暫定解情報43から、線形制約条件を表す情報を求め、求めた情報を、生成線形制約条件情報44として、記憶部2に格納する。
即ち、半正定条件をより良く近似する線形制約条件によって近似を得るためには、線形制約条件として課す(v,Av)≧0におけるベクトルvの選定を注意深く行う必要がある。例えば、カッティング・プレーン・アルゴリズムにおいて、この選択は、(v,Av)≧0という不等式を最も激しく違反するベクトルvを集合Vの中から選択する、という基本方針に従って行われる。即ち、係る選択は、長さ1のベクトルvのうち、(v,Av)を、最も小さくする特定のベクトルvを選択することに相当する。そして、選択した特定のベクトvは、解Aの最も小さな(負で絶対値が最大の)固有値に対応する固有ベクトルである。本実施形態では、このようにして選ばれたベクトルvを集合Wに付け加える、或いは、その集合Wの要素の一部と入れ替えることにより、半正定条件を線形制約条件の集合で近似し直すことによってベクトルvを選んでいる。但し、ベクトルは、長さ成分と方向成分とによって一意に定まる。本実施形態において、このベクトルvの長さ成分は1であることを前提しているので、係る選択において選べるのは方向成分だけである。そこで、本実施形態では、上記の如く(v,Av)≧0という不等式を“最も激しく違反するベクトルvを選択する動作”を、“違反方向を考慮した線形制約条件の生成”と称している。その際、係る線形制約条件生成部33は、生成線形制約条件情報44として、記憶部2に既に格納されていた情報への追加、或いはその一部あるいは全部の置き換えを行ってもよい。
目的関数を考慮した線形制約条件生成部34は、上述した第2の実施形態において説明したところの、目的関数を考慮した線形制約条件生成装置と同様な処理を行う。即ち、係る目的関数を考慮した線形制約条件生成部34は、第2の実施形態において説明した手順に従って、目的関数情報41と暫定解情報42と用いて、線形制約条件を表す情報を生成し、生成した情報を、生成線形制約条件情報(生成した線形制約条件情報)44として記憶部2に格納する。その際、係る線形制約条件生成部34は、生成線形制約条件情報44として、記憶部2に既に格納されていた情報への追加、或いはその一部あるいは全部の置き換えを行ってもよい。
線形制約問題求解部35は、目的関数情報41と、所与の線形制約条件情報42と、生成線形制約条件情報44と用いて、それらの情報によって特定される線形制約問題を、現在では一般的な求解方法を用いて解法する機能を有する。そして、線形制約問題求解部35は、係る解法結果を表す情報を、前述した半正定値計画問題の暫定解情報43(前記の対称行列A)として、記憶部2に格納する。
半正定条件判定部36は、記憶部2から読み出した暫定解情報43が表す行列が、半正定条件を満たしているかを判定する。暫定解情報43が表す行列が、係る半正定条件を満たしているか否かの判定は、現在では一般的な方法により、当該行列の固有値が全て正か否かをチェックすればよい。そして、半正定条件判定部36は、その判定結果に応じて、係る暫定解を半正定値計画問題の解として出力するか、或いは、生成線形制約条件情報44を更新して同様な処理を繰り返すかを判断する。即ち、このチェックにおいて当該半正定条件が満たされていると判定した場合、半正定条件判定部36は、暫定解情報43を半正定値計画問題の解として出力すべく、出力部37に通知する。一方、当該半正定条件が満たされていないと判定した場合、半正定条件判定部36は、生成線形制約条件情報44の更新と線形制約問題の求解までの処理を更に繰り返すべく、違反方向を考慮した線形制約条件生成部33に通知する。
尚、要求される半正定値計画問題の解の精度によって、半正定性条件は、厳密に判定するのではなく、ある程度の段階(例えば、負の固有値の絶対値の最大値が小さい等)において、満たされたと判定してもよい。
出力部37は、記憶部2から読み出した暫定解情報43が表す行列から、半正定値計画問題の解を表す情報を生成する機能を有する。生成される半正定値計画問題の解を表す情報としては、例えば、以下の情報を採用することができる。
(a)当該行列そのもの、
(b)解を受け取る他の装置との通信規約に基づく別形式の情報、
(c)計算処理上の工夫に基づくその他の形式の情報等。
そして、出力部37は、生成された半正定値計画問題の解を表す情報を、出力情報45として、記憶部2に格納する。更に、出力部37は、係る出力情報45を、外部装置に出力する機能(例えばディスプレイを介してユーザに提示する場合を含む)を有する。
図5は、本発明の第3の実施形態に係る半正定値計画問題求解装置による半正定値計画問題の解法処理を示すフローチャートである。係るフローチャートは、図4に示すプロセッサ1(後述する図8におけるCPU101に相当)が実行するプログラムの処理手順にも対応する。
即ち、入力部31は、外部装置から、或いはユーザによる操作に応じて、目的関数を表す情報を入力し、目的関数情報41として記憶部2に格納する(ステップS11)。
また、入力部11は、外部装置から、或いはユーザによる操作に応じて、所与の線形制約条件を表す情報を入力し、所与線形制約条件情報42として記憶部に格納する(ステップS12)。
次に、初期値生成部32は、上述した手順により、暫定解の初期値を表す情報を生成し、生成した情報を、暫定解情報43として記憶部2に格納する(ステップS13)。
違反方向を考慮した線形制約条件生成部33は、記憶部2から読み出した暫定解情報43を用いて、上述した手順により、線形制約条件を表す情報を生成し、生成した情報を、生成線形制約条件情報44として記憶部2に格納する(ステップS14)。
目的関数を考慮した線形制約条件生成部34は、記憶部2から読み出した目的関数情報41と暫定解情報43とを用いて、上述した第2の実施形態と同様な手順により、目的関数を考慮した線形制約条件を生成し、生成した情報を、生成線形制約条件情報44として記憶部2に格納する(ステップS15)。
線形制約問題求解部35は、記憶部2から読み出した目的関数情報41と、所与の線形制約条件情報42と、生成線形制約条件情報44とを用いて、それらの情報によって特定される線形制約問題を、現在では一般的な求解方法を用いて求解し、その結果を、半正定値計画問題の暫定解情報43として、記憶部2に格納する(ステップS16)。
半正定条件判定部36は、記憶部2から読み出した暫定解情報43が表す行列が、半正定条件を満たしているか否か(即ち、半正定行列の全ての固有値が0以上であるか)を判定する(ステップS17)。この判定結果がNOの場合(当該半正定条件を満足しない場合)、処理はステップS14に戻される。そしてこの場合、生成線形制約条件情報44の更新と、線形制約問題の解法等が繰り返される(ステップS14〜ステップS17)。一方、この判定結果がYESの場合(当該半正定条件を満足する場合)、記憶部2に現在格納されている暫定解情43報を半正定値計画問題の解として出力すべく、処理はステップS18に進められる。
出力部37は、記憶部2から読み出した暫定解情報43を、上述した手順によって整形(加工)し、整形した結果が表す半正定値計画問題の解を表す情報を、出力情報45として記憶部2に格納する(ステップS18)。更に、出力部37は、この出力情報45を外部装置に出力する(ステップS18)。
このように、第3の実施形態に係る半正定値計画問題求解装置は、半正定値計画問題を解法するに際して、第2の実施形態において説明した目的関数を考慮した線形制約問題の求解手順を採用し、係る求解手順によって得られた線形制約条件を利用する。これにより、本実施形態に係る半正定値計画問題求解装置によれば、半正定値計画問題を解法する過程において行われる線形制約問題の求解の繰り返し回数を最小限にすることができる。従って、係る半正定値計画問題求解装置によれば、半正定値計画問題の解を得るまでの所要時間を短縮することができる。
即ち、上述した本実施形態によれば、半正定値計画問題を線形制約問題に近似して解く半正定値計画問題求解装置において、元の問題の最適解の周辺における近似精度が高くなるように、線形制約条件を生成することができる。これにより、本実施形態によれば、線形制約問題を繰り返し生成して解く回数を削減することができるので、最終的な解を得るまでの処理時間を短縮することができる。
[第4の実施の形態]
次に、上述した第1乃至第3の実施形態を基礎とする本発明の第4の実施形態について説明する。本実施形態に係る計量学習装置は、第3の実施形態において説明した半正定値計画問題求解装置の機能を含んでおり、生成した線形制約条件を用いて、半正定値計画問題の解を求め、求めた解を基に分析対象をクラスタリングする機能を有する。本実施形態に係る計量学習装置は、上述した第3の実施形態に係る半正定値計画問題求解装置の機能を含んでいるので、係る線形制約条件の生成に際して、上述した第2の実施形態係る線形制約条件生成装置と同様な手順を実行する。
以下の説明では、本実施形態に係る計量学習装置の一例として、非特許文献2に記載された技術のように、分析対象のテキストデータを、ユーザからの要求をなるべく満たすようにクラスタリングする場合を例に説明する。尚、クラスタリング分析(クラスタ解析)自体については、現在では一般的な手法を採用することができるので、本実施形態における詳細な説明は省略する。
図6は、本発明の第4の実施形態に係る計量学習装置の構成を示すブロック図である。この計量学習装置は、上述した第2の実施形態における線形制約条件生成装置、及び第3の実施形態における半正定値計画問題求解装置と同様に、大別して、プロセッサ1と、記憶部2とを有しており、図6には不図示の通信インタフェースやディスプレイ等を有する。この計量学習装置は、例えば、図8に例示するハードウェア構成を備える情報処理装置(コンピュータ)において実現される(尚、この情報処理装置については後述する)。
次に、本実施形態に係る計量学習装置の構成と動作とについて説明する。
プロセッサ1は、本実施形態においても、第2及び第3の実施形態と同様に、記憶部2等から読み出した各種のプログラムを、例えば図8に示すハードウェア資源において実行することにより、以下に説明する機能を実現する。プロセッサ1が実現する機能は、概ね図6に示す各部(51〜55)に該当する。
記憶部2は、第2及び第3の実施形態と同様に、プロセッサ1による読み書き可能に、各種の情報を格納可能である。図6に示す例において、記憶部2は、分析対象情報61、ユーザ要求情報62、目的関数情報63、所与の線形制約情報64、解情報65、分析結果情報66、出力情報67等を格納する。
即ち、記憶部2において、分析対象情報61は、外部装置から、或いはユーザの操作によって入力されたテキストデータの集合であって、本実施形態に係る計量学習装置のクラスタリング対象の一例である。
ユーザ要求情報62は、本実施形態に係る計量学習装置が出力するクラスタリング結果が満たすべき条件について、ユーザが要求した内容を表す情報である。このユーザ要求情報62は、外部装置から、或いはユーザの操作によって当該計量学習装置に入力され、記憶部2に格納される。
目的関数情報63は、目的関数を表す情報である。所与の線形制約情報64は、線形制約条件を表す情報である。これらの情報は、クラスタリング分析に用いる計量行列の最適化問題を、半正定値計画問題求解部53が半正定値計画問題として求解するのに先立って、定式化部52によって生成される(詳細は後述する)。
解情報65は、記憶部2から読み出した目的関数情報63と、所与の線形制約情報64とに基づいて、それらの情報によって特定される半正定値計画問題を、半正定値計画問題求解部53によって求解した結果を表す情報である。
分析結果情報66は、記憶部2から読み出した分析対象情報61と、解情報65とに基づいて、解を利用したクラスタリング部54がクラスタリングした結果を表す情報である。即ち、クラスタリング部54は、解情報65が表す計量行列を用いて、分析対象情報66をクラスタリングする。
出力情報67は、記憶部2から読み出した分析結果情報66を用いて、出力部55が出力用に生成した情報である。
プロセッサ1は、第2及び第3の実施形態と同様に図6には不図示のハードウェア構成を備える。プロセッサ1は、例えば記憶部2から読み出したプログラム・コード(プログラム)を、係るプロセッサ1を含むハードウェア資源と、そのハードウェア資源において当該プログラムとを協働させることによって、各種処理部(51〜55)の機能を実現する。
入力部51は、外部装置から、或いはユーザの操作によって入力された分析対象を表す情報を、分析対象情報61として記憶部2に格納する機能を有する。また、入力部51は、外部装置から、或いはユーザの操作によって入力されたユーザ要求を表す情報を、ユーザ要求情報62として記憶部2に格納する機能を有する。
定式化部52は、クラスタリング分析に用いる計量行列の最適化問題を、分析対象情報61とユーザ要求情報62とに基づいて、半正定値計画問題として定式化する機能を有する。そして、定式化部52は、係る定式化によって得られた当該半正定値計画問題の目的関数を表す情報と、線形制約条件を表す情報とを、目的関数情報63及び所与の線形制約情報64として、記憶部2に格納する。
半正定値計画問題求解部53は、上述した第3の実施形態にて説明した半正定値計画問題求解装置と同様な機能を有する。即ち、半正定値計画問題求解部53は、記憶部2から読み出した目的関数情報63と所与の線形制約情報64とを参照することにより、それらの情報によって特定される半正定値計画問題を、第3の実施形態において上述した手順によって求解し、その求解結果を表す情報を、解情報65として記憶部2に格納する。
解を利用したクラスタリング部54は、記憶部2から読み出した分析対象情報61と解情報65とに基づいて、クラスタリングした結果を表す情報を、分析結果情報66として記憶部2に格納する機能を有する。即ち、このクラスタリング部54は、解情報56が表す計量行列を用いて、分析対象情報66の一例であるテキストデータの集合をクラスタリングする。
出力部55は、記憶部2から読み出した分析結果情報66が表すクラスタリング結果を、出力に適した形式に変換し、変換結果を出力情報67として記憶部2に格納する機能を有する。更に、出力部55は、係る出力情報67を、外部装置に出力する機能(例えばディスプレイを介してユーザに提示する場合を含む)を有する。
図7は、本発明の第4の実施形態に係る計量学習装置による分析処理を示すフローチャートである。係るフローチャートは、図6に示すプロセッサ1(後述する図8におけるCPU101に相当)が実行するプログラムの処理手順にも対応する。
即ち、入力部51は、外部装置から、或いはユーザによる操作に応じて、分析対象となるテキストデータを表す情報を入力し、分析対象情報61として記憶部2に格納する(ステップS21)。
入力部51は、外部装置から、或いはユーザによる操作に応じて、分析結果(クラスタリング結果)に対するユーザの要求を表す情報を入力し、ユーザ要求情報62として記憶部2に格納する(ステップS22)。
定式化部52は、クラスタリング分析に用いる計量行列の最適化問題を、分析対象情報61とユーザ要求情報62とを用いて、半正定値計画問題として定式化し、その半正定値計画問題の目的関数を表す情報を生成し、生成した情報を、目的関数情報63として記憶部2に格納する(ステップS23)。
そして、定式化部52は、外部装置から、或いはユーザによる操作によって入力された所与の線形制約条件を表す情報を、所与の線形制約条件情報64として、記憶部2に格納する(ステップS24)。
半正定値計画問題求解部53は、記憶部2から読み出した目的関数情報63と、所与の線形制約情報64とによって特定される半正定値計画問題を求解し、得られた解情報65を、記憶部2に格納する(ステップS25)。
解を利用したクラスタリング部54は、分析対象情報61と解情報65とを記憶部2から読み出し、解情報65が表す計量行列を用いて、分析対象情報61であるテキストデータの集合をクラスタリングし、その結果を、分析結果情報66として記憶部2に格納する(ステップS26)。
出力部55は、記憶部2から読み出した分析結果情報66を、例えば、分析結果を受け取る他の装置との通信規約に基づく別形式の情報、或いは、計算処理上の工夫に基づくその他の形式の情報等に必要に応じて整形(加工)し、出力情報67として記憶部2に格納する(ステップS27)。更に、出力部16は、係る出力情報67を、外部装置に出力する(ステップS27)。
このように、第4の実施形態に係る計量学習装置は、分析対象に対してクラスタリング分析を施すのに先だって、上述した第3の実施形態に係る半正定値計画問題求解装置の機能を有する半正定値計画問題求解部53を備える。この半正定値計画問題求解部53は、第2の実施形態において説明した線形制約問題の求解手順を、定式化部52によって用意された目的関数情報63と所与の線形制約情報64とを利用して実行する機能を有する。これにより、係る計量学習装置は、半正定値計画問題を解法する過程において行われる線形制約問題の求解の繰り返し回数を最小限にすることができる。従って、係る計量学習装置によれば、分析結果を得るまでの処理時間を短縮することができる。
即ち、上述した各実施形態によれば、半正定値計画問題を線形制約問題に近似して解く装置において、近似問題を生成してはその生成した近似問題を解く、という一連の動作を繰り返す回数を削減することができるので、迅速に解を求めることができる。
<ハードウェアの構成例>
ここで、上述した各実施形態に係る装置を実現可能なハードウェアの構成例について説明する。図8は、本発明の第1乃至第4の実施形態を実現可能なコンピュータ(情報処理装置)のハードウェア構成を例示的に説明する図である。
図8に示したコンピュータ(PC)100のハードウェアは、CPU101、入出力ユーザインタフェース102、通信インタフェース(I/F)103、ROM(Read Only Memory)104、RAM(Random Access Memory)105、ハードディスクドライブ(HD)107、及び記憶媒体109のドライブ装置108を備え、これらがバス106を介して接続された構成を有する。入出力ユーザインタフェース102は、入力デバイスの一例であるキーボードや、出力デバイスとしてのディスプレイ等のマンマシンインタフェースである。通信インタフェース103は、上述した各実施形態に係る装置(図1,図2,図4,図6)が、外部装置とのとの間において、通信ネットワーク200を介して通信するための一般的な通信手段である。係るハードウェア構成において、CPU101は、各実施形態に係る装置としてのコンピュータ100の全体の動作を司る。
そして、上述した第1乃至第4の実施形態を例に説明した本発明は、その説明において参照したフローチャート(図3,図5,図7)の機能、或いは、図1,図2,図4,図6に示したブロック図においてプロセッサ1内に示した各部(各ブロック)の機能を実現可能なプログラムを、図8に示すコンピュータ100に対して供給した後、そのプログラムを、CPU101に読み出して実行することによって達成される。また、コンピュータ100内に供給されたプログラムは、読み書き可能な一時記憶メモリ(105)またはハードディスク装置(107)等の不揮発性の記憶装置に格納すれば良い。即ち、ハードディスク装置107において、プログラム群107Aは、例えば、上述した各実施形態におけるプロセッサ1内に示した各部を実現可能なプログラムである。また、各種の記憶情報107Bは、例えば、上述した各実施形態における記憶部2内に示した各種情報である。
また、前記の場合において、当該装置内へのプログラムの供給方法は、CD−ROM、フラッシュメモリ等のコンピュータ読み取り可能な各種の記録媒体(109)を介して当該装置内にインストールする方法や、インターネット等の通信回線(200)を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード(プログラム群107A)、或いは係るコードが格納された記憶媒体(109)によって構成されると捉えることができる。
但し、本発明は、上記の如くプログラムをコンピュータにおいて実行することによって実現する態様には限定されない。本発明は、例えば、上述した各実施形態に係る装置の機能を実現する専用の装置によっても実現可能である。また、本発明は、図8を参照して例示した1つのコンピュータを利用して実行される場合だけでなく、物理的及び/または論理的に複数のコンピュータによって構成される情報処理システムを利用して実現してもよい。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、2011年9月26日に出願された日本出願特願2011−208732を基礎とする優先権を主張し、その開示の全てをここに取り込む。
上述した各実施形態を例に説明した本発明は、例えば、マイニングプロセスの設計最適化システム等のように、情報処理装置を利用して、半正定値計画問題を、線形制約問題に近似して解く各種の装置に広く適用することができる。
1 プロセッサ
2 記憶部
11,31,51 入力部
12 目的関数線形近似部
13 行列演算部
14 固有値・固有ベクトル算出部
15 固有ベクトル選択部
16,37,55 出力部
21,41,63 目的関数情報
22,43 暫定解情報
23 近似結果情報
24 行列演算情報
25 固有値・固有ベクトル情報
26 選択結果情報
27,45,67 出力情報
32 初期値生成部
33 違反方向を考慮した線形制約条件生成部
34 目的関数を考慮した線形制約条件生成部
35 線形制約問題求解部
36 半正定条件判定部
42,64 所与の線形制約条件情報
44 生成線形制約条件情報
52 定式化部
53 半正定値計画問題求解部
54 解を利用したクラスタリング部
61 分析対象情報
62 ユーザ要求情報
65 解情報
66 分析結果情報
100 コンピュータ(情報処理装置)
101 CPU
102 入出力ユーザインタフェース
103 通信インタフェース
104 ROM
105 RAM
106 バス
107 ハードディスク装置
107A プログラム群
107B 各種の記憶情報
108 ドライブ装置
109 記憶媒体
200 通信ネットワーク
300 線形制約条件生成装置
301 線形近似解情報
302 線形制約条件情報
311 行列演算部
312 ベクトル演算部

Claims (10)

  1. 半正定値計画問題の目的関数を線形近似した結果を表す各係数を並べた行列と、その行列の転置行列とを求めると共に、該行列と該転置行列との和を算出する行列演算手段と、
    前記行列演算手段の演算結果が表す行列に関して、固有値と固有ベクトルとを算出すると共に、算出結果の中から特定の固有ベクトルを選択し、選択した特定の固有ベクトルが表す情報を、前記半正定値計画問題の線形制約条件を表す情報とするベクトル演算手段とを備える
    ことを特徴とする線形制約条件生成装置。
  2. 前記ベクトル演算手段は、
    前記特定の固有ベクトルとして、最大または最小の固有値に対応する固有ベクトル、或いは、大きい固有値から順に、幾つかの固有値に対応する複数の固有ベクトルを選択する
    ことを特徴とする請求項1記載の線形制約条件生成装置。
  3. 前記ベクトル演算手段は、
    前記特定の固有ベクトルをベクトルvとした場合に、不等式(v,Av)≧0の左辺に現れる行列Aをなす各成分vの係数を並べた情報を、前記線形制約条件を表す情報とする
    ことを特徴とする請求項1または請求項2記載の線形制約条件生成装置。
  4. 前記半正定値計画問題の目的関数を表す情報と、その半正定値計画問題の暫定解を表す情報とに基づいて、その目的関数を線形近似した結果を表す各係数を算出する線形近似手段を更に備える。
    ことを特徴とする請求項1乃至請求項3の何れかに記載の線形制約条件生成装置。
  5. 請求項1乃至請求項4の何れかに記載の線形制約条件生成装置と、
    前記線形制約条件生成装置が生成した線形制約条件を利用して、前記半正定値計画問題を線形近似した結果を表す線形制約問題の暫定解を算出する求解手段と、
    前記暫定解を表す行列の所定条件を満たしているか否かを判定し、満足する場合に、前記暫定解を前記半正定値計画問題の解とする判定手段とを備える
    ことを特徴とする半正定値計画問題求解装置。
  6. 前記暫定解を表す行列が前記所定条件を満足しない場合に、前記線形制約条件生成装置によって生成する線形制約条件を更新し、更新した線形制約条件を利用して、前記求解手段によって前記暫定解を更新し、更新した暫定解が前記所定条件を満たしているか否かを判定する一連の処理を、該更新した暫定解が前記所定条件を満足するまで繰り返す
    ことを特徴とする請求項5記載の半正定値計画問題求解装置。
  7. 前記所定条件は、
    前記暫定解を表す行列の全ての固有値が0以上であるという条件である
    ことを特徴とする請求項6記載の半正定値計画問題求解装置。
  8. クラスタリング分析に用いる計量行列の最適化問題を、分析対象を表す情報と、ユーザの要求情報とに基づいて、半正定値計画問題として定式化する定式化手段と、
    前記定式化手段によって定式化された半正定値計画問題を解法する、請求項6または請求項7記載の半正定値計画問題求解装置と、
    前記半正定値計画問題求解装置によって求めた解を用いて、前記クラスタリング分析を行うクラスタリング手段とを備える
    ことを特徴とする計量学習装置。
  9. 情報処理装置により、半正定値計画問題の目的関数を線形近似した結果を表す各係数を並べた行列と、その行列との転置行列を求め、
    情報処理装置により、前記行列と前記転置行列との和を算出し、
    情報処理装置により、算出した和が表す行列に関して、固有値と固有ベクトルとを算出すると共に、算出結果の中から特定の固有ベクトルを選択し、
    情報処理装置により、前記選択した特定の固有ベクトルが表す情報を、前記半正定値計画問題の線形制約条件を表す情報とする
    ことを特徴とする線形制約条件生成方法。
  10. 線形制約条件生成装置の動作制御のためのコンピュータ・プログラムであって、そのコンピュータ・プログラムにより、
    半正定値計画問題の目的関数を線形近似した結果を表す各係数を並べた行列と、その行列の転置行列とを求めると共に、該行列と該転置行列との和を算出する行列演算機能と、
    前記行列演算機能による演算結果が表す行列に関して、固有値と固有ベクトルとを算出すると共に、算出結果の中から特定の固有ベクトルを選択し、選択した特定の固有ベクトルが表す情報を、前記半正定値計画問題の線形制約条件を表す情報とするベクトル演算機能とをコンピュータに実現させる
    ことを特徴とするコンピュータ・プログラム。
JP2013536242A 2011-09-26 2012-09-14 線形制約条件生成装置及び方法、半正定値最適化問題求解装置、計量学習装置、並びにコンピュータ・プログラム Active JP5942998B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011208732 2011-09-26
JP2011208732 2011-09-26
PCT/JP2012/074312 WO2013047394A1 (ja) 2011-09-26 2012-09-14 線形制約条件生成装置及び方法、半正定値最適化問題求解装置、計量学習装置、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JPWO2013047394A1 JPWO2013047394A1 (ja) 2015-03-26
JP5942998B2 true JP5942998B2 (ja) 2016-06-29

Family

ID=47995426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013536242A Active JP5942998B2 (ja) 2011-09-26 2012-09-14 線形制約条件生成装置及び方法、半正定値最適化問題求解装置、計量学習装置、並びにコンピュータ・プログラム

Country Status (2)

Country Link
JP (1) JP5942998B2 (ja)
WO (1) WO2013047394A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2015186338A1 (ja) * 2014-06-05 2017-04-20 日本電気株式会社 非線形計画問題処理装置および非線形計画問題処理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4260725B2 (ja) * 2004-11-12 2009-04-30 日本電信電話株式会社 固有値計算装置、固有値計算方法、固有値計算プログラム及び記録媒体
JPWO2009104324A1 (ja) * 2008-02-22 2011-06-16 日本電気株式会社 能動計量学習装置、能動計量学習方法およびプログラム
JP2010218521A (ja) * 2009-03-16 2010-09-30 Atsuya Kumagai 関連性データ処理方法

Also Published As

Publication number Publication date
WO2013047394A1 (ja) 2013-04-04
JPWO2013047394A1 (ja) 2015-03-26

Similar Documents

Publication Publication Date Title
US10963817B2 (en) Training tree-based machine-learning modeling algorithms for predicting outputs and generating explanatory data
US11423311B2 (en) Automatic tuning of artificial neural networks
US20200293838A1 (en) Scheduling computation graphs using neural networks
US8650138B2 (en) Active metric learning device, active metric learning method, and active metric learning program
TW201915839A (zh) 對人工神經網路及浮點神經網路進行量化的方法及裝置
JP7287397B2 (ja) 情報処理方法、情報処理装置及び情報処理プログラム
JP6874219B2 (ja) 情報処理装置、演算装置、及び情報処理方法
US10268749B1 (en) Clustering sparse high dimensional data using sketches
US20210377122A1 (en) Mixed-precision neural networks
US20220164666A1 (en) Efficient mixed-precision search for quantizers in artificial neural networks
WO2010048758A1 (en) Classification of a document according to a weighted search tree created by genetic algorithms
WO2022227217A1 (zh) 文本分类模型的训练方法、装置、设备及可读存储介质
WO2020202312A1 (ja) 情報処理装置、演算装置、及び情報処理方法
Lim et al. Inverse multi-objective robust evolutionary design optimization in the presence of uncertainty
JP5942998B2 (ja) 線形制約条件生成装置及び方法、半正定値最適化問題求解装置、計量学習装置、並びにコンピュータ・プログラム
CN116976461A (zh) 联邦学习方法、装置、设备及介质
JP7306432B2 (ja) 情報処理方法、情報処理装置及びプログラム
TW202145078A (zh) 具有動態最小批次尺寸之運算方法,以及用於執行該方法之運算系統及電腦可讀儲存媒體
JP2022165395A (ja) ニューラルネットワークモデルの最適化方法及びニューラルネットワークモデルに関するグラフィックユーザインターフェースを提供する方法
JP2010244363A (ja) 遺伝的処理装置、遺伝的処理方法およびプログラム
Zheng Boosting based conditional quantile estimation for regression and binary classification
CN114118381A (zh) 基于自适应聚合稀疏通信的学习方法、装置、设备及介质
JP2021002322A (ja) イジングマシンデータ入力機器、及びイジングマシンにデータを入力する方法
WO2020040007A1 (ja) 学習装置、学習方法及び学習プログラム
CN113505838B (zh) 一种图像聚类方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150824

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160509

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 5942998

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150