JPWO2013047394A1 - Linear constraint generation apparatus and method, semi-definite definite optimization problem solving apparatus, metric learning apparatus, and computer program - Google Patents
Linear constraint generation apparatus and method, semi-definite definite optimization problem solving apparatus, metric learning apparatus, and computer program Download PDFInfo
- Publication number
- JPWO2013047394A1 JPWO2013047394A1 JP2013536242A JP2013536242A JPWO2013047394A1 JP WO2013047394 A1 JPWO2013047394 A1 JP WO2013047394A1 JP 2013536242 A JP2013536242 A JP 2013536242A JP 2013536242 A JP2013536242 A JP 2013536242A JP WO2013047394 A1 JPWO2013047394 A1 JP WO2013047394A1
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 59
- 238000005457 optimization Methods 0.000 title claims description 9
- 238000004590 computer program Methods 0.000 title claims description 8
- 239000011159 matrix material Substances 0.000 claims abstract description 155
- 238000004364 calculation method Methods 0.000 claims abstract description 55
- 239000013598 vector Substances 0.000 claims abstract description 36
- 230000006870 function Effects 0.000 claims description 147
- 238000004458 analytical method Methods 0.000 claims description 51
- 230000010365 information processing Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 17
- 238000009472 formulation Methods 0.000 claims description 12
- 239000000203 mixture Substances 0.000 claims description 12
- 238000012545 processing Methods 0.000 description 27
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000012886 linear function Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000007429 general method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex 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)
Abstract
半正定値計画問題を線形制約問題に近似して解くに際して、正確且つ迅速に解を求める線形制約条件生成装置が開示される。係る線形制約条件生成装置は、半正定値計画問題の目的関数を線形近似した結果を表す各係数を並べた行列と、その行列の転置行列とを求めると共に、該行列と該転置行列との和を算出する行列演算手段と、前記行列演算手段の演算結果が表す行列に関して、固有値と固有ベクトルとを算出すると共に、算出結果の中から特定の固有ベクトルを選択し、選択した特定の固有ベクトルが表す情報を、前記半正定値計画問題の線形制約条件を表す情報とするベクトル演算手段とを備える。A linear constraint condition generation apparatus that finds a solution accurately and quickly when a semi-definite programming problem is approximated to a linear constraint problem is disclosed. Such a linear constraint generation apparatus obtains a matrix in which coefficients representing the result of linear approximation of an objective function of a semi-definite programming problem are arranged, a transposed matrix of the matrix, and a sum of the matrix and the transposed matrix. And a matrix operation means for calculating eigenvalues and eigenvectors with respect to the matrix represented by the calculation result of the matrix operation means, selecting a specific eigenvector from the calculation results, and representing information represented by the selected specific eigenvector , And a vector operation means for making information representing a linear constraint condition of the semi-definite value programming problem.
Description
本発明は、指定された条件を満足する数値の組み合わせの中から、指定された目的関数の値を最小化する組み合わせを求める技術分野に関する。 The present invention relates to a technical field for obtaining a combination that minimizes a value of a specified objective function from among numerical value combinations that satisfy a specified condition.
指定された条件を満たす数値の組み合わせの中から、指定された目的関数(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)を用いて簡単な操作で行うことができるので、分析に要するトータル工数を大幅に削減することができる。このシステムでは、半正定計画問題を解くことによって計量学習が実現されている。The task (problem) of detecting a specific combination that can minimize the value of a specified objective function from combinations of numerical values satisfying a specified condition is various in industry. Exist in various fields. For example, there has been proposed an apparatus for determining a ratio of allocation to a plurality of investment destinations so that profits are maximized for a limited amount of funds (or the ones with reversed signs of profits are minimized). Further, an apparatus for adjusting a controllable parameter has been proposed so that the behavior of a machine or the like becomes the most desirable (or the deviation from the desired behavior is minimized). In addition, an apparatus for designing a structure or the like has been proposed so that the effect is maximized under complicated constraints (or the score obtained by reversing the sign of the effect is minimized).
In such various tasks, there are cases where the designated condition is expressed only by a linear inequality relating to a numerical value to be detected, and may not be expressed. The former is generally called a linear constraint problem (Linear Constraint Problem). The latter is called a nonlinear constraint problem (Non-Linear Constraint Problem). These can be regarded as representing tasks existing in various industrial fields. For this reason, methods for solving such tasks have been actively studied.
However, the nonlinear constraint problem is more complicated than the linear constraint problem. For this reason, it is difficult to solve the nonlinear constraint problem, and the time required for the calculation becomes long in the solution using the information processing apparatus (computer).
As an example of the nonlinear constraint problem, there is a semi-definite programming (SDP) problem. This is the task of maximizing the value of the specified function using a semi-definite matrix. Here, the positive semidefinite matrix is a symmetric matrix in which all eigenvalues are 0 or more. Since a condition that all eigenvalues of a certain matrix are 0 or more cannot be expressed by a linear function of matrix components or a finite number of combinations of such linear functions, this is a nonlinear constraint problem. Hereinafter, in this specification, the condition that “all eigenvalues are 0 or more” will be referred to as “semi-definite condition”.
Whether a certain matrix satisfies the positive semidefinite condition can be determined by a method such as examining the eigenvalues of the matrix. On the other hand, it is generally a very difficult task to obtain a “matrix satisfying a semi-definite condition” that minimizes the value of a specified function.
In the present specification, a function optimization problem having one or more linear constraint conditions in addition to a semi-definite condition is also referred to as a semi-definite programming problem. Furthermore, a case where a plurality of positive semidefinite matrices are simultaneously optimized (when a linear constraint condition is provided) is also referred to as a positive semidefinite programming problem.
As an industrial application example of an apparatus that operates by solving a semi-definite programming problem, there is an apparatus described in Patent Document 1. The apparatus described in Patent Document 1 is an apparatus that analyzes input text data. This device is a device that automatically adjusts a parameter called metric information according to the “characteristic that the analysis result should satisfy” presented by the user. Here, the metric information is, for example, information such as “which word should be regarded as important”, “which word should be neglected”, and “which word should be identified with which word”, etc. It is. In this apparatus, the metric information is expressed by a semi-definite matrix and operates according to the principle of detecting the matrix that minimizes the amount of violation from the “property that the analysis result should satisfy” instructed by the user.
Another example of industrial adaptation of a device that performs an operation for solving a semi-definite programming problem is a node classification device described in
Further, another industrial application example of the apparatus for solving the semi-definite programming problem is a filter design apparatus described in Patent Document 3. That is, Patent Document 3 discloses an apparatus for designing a digital filter, and particularly discloses that a filter coefficient is adjusted so as to be close to a specified filter characteristic. When adjusting the filter coefficients, the filter coefficients (parameters that determine the filter coefficients) are represented by a semi-definite matrix, and this filter design device detects a semi-definite matrix where the difference between the specified filter characteristics and the value is the smallest. Operates according to the principle of
Further, Patent Literature 4 proposes a metric learning device that a plurality of users use or work in cooperation using a semi-definite plan problem.
Here, as related technologies existing prior to the present application, for example, there are the following non-patent documents.
In other words, Non-Patent Document 1 estimates the bankruptcy probability of SMEs by applying the semi-definite programming method to the logit model as an application example of the analysis technique using the semi-definite programming method. A method has been proposed.
For example, in analysis using data mining technology, analysis in accordance with the intention of the user (analyst) or reflecting the viewpoint intended by the user in the analysis result is to improve the analysis accuracy. is important. In a general interactive analysis system, since these operations are performed manually by the user (intervention operation), man-hours are a problem. For example, when clustering a set of text data, it is necessary to create an unnecessary word list or a synonym list as a preliminary work. As post-work, it is necessary to devise an arrangement for displaying a cluster group as a map. Since these operations impose a large man-hour on the user independently of the clustering process executed by the computer system, the total cost for completing a series of analysis tasks becomes a problem. And in order to improve such a problem, the
Non-Patent
[発明が解決しようとする課題]
上述した例の如く、半正定値計画問題は、様々な用途に利用されている。しかしながら、半正定値計画問題を、線形制約問題に近似して解く(即ち、線形制約問題を用いて近似解として解法する)装置においては、係る線形制約問題を繰り返し生成して解く回数が多いので、最終的な解を得るまでに要する処理時間が長いという問題がある。繰り返しの回数が多い理由は、生成される線形制約問題への近似が目的関数を無視して行われるため、なかなか真の解に到達しないためである。
そこで、本発明は、半正定値計画問題を線形制約問題に近似して解くに際して、正確且つ迅速に解を求めるための線形制約条件生成装置等の提供を主たる目的とする。[Problems to be solved by the invention]
As in the example described above, the semi-definite programming problem is used for various purposes. However, in a device that solves a semi-definite programming problem by approximating it to a linear constraint problem (ie, solving as an approximate solution using a linear constraint problem), the linear constraint problem is repeatedly generated and solved. There is a problem that the processing time required to obtain a final solution is long. The reason for the large number of iterations is that the approximation to the generated linear constraint problem is performed ignoring the objective function, so that it is difficult to reach a true solution.
Therefore, the present invention mainly aims to provide a linear constraint condition generation device and the like for obtaining a solution accurately and quickly when solving a semi-definite programming problem by approximating it to a linear constraint problem.
上記の目的を達成すべく、本発明に係る線形制約条件生成装置は、以下の構成を備えることを特徴とする。
即ち、線形制約条件生成装置は、
半正定値計画問題の目的関数を線形近似した結果を表す各係数を並べた行列と、その行列の転置行列とを求めると共に、該行列と該転置行列との和を算出する行列演算手段と、
前記行列演算手段の演算結果が表す行列に関して、固有値と固有ベクトルとを算出すると共に、算出結果の中から特定の固有ベクトルを選択し、選択した特定の固有ベクトルが表す情報を、前記半正定値計画問題の線形制約条件を表す情報とするベクトル演算手段とを備える。
また、上記の同目的を達成する他の見地として、本発明に係る半正定値計画問題求解装置は、
上記構成を有する線形制約条件生成装置と、
前記線形制約条件生成装置が生成した線形制約条件を利用して、前記半正定値計画問題を線形近似した結果を表す線形制約問題の暫定解を算出する求解手段と、
前記暫定解を表す行列の所定条件を満たしているか否かを判定し、満足する場合に、前記暫定解を前記半正定値計画問題の解とする判定手段とを備える。
更に、上記の同目的を達成する他の見地として、本発明に係る計量学習装置は、
クラスタリング分析に用いる計量行列の最適化問題を、分析対象を表す情報と、ユーザの要求情報とに基づいて、半正定値計画問題として定式化する定式化手段と、
前記定式化手段によって定式化された半正定値計画問題を解法する、上記構成を有する半正定値計画問題求解装置と、
前記半正定値計画問題求解装置によって求めた解を用いて、前記クラスタリング分析を行うクラスタリング手段とを備える。
そして、上記の同目的を達成する線形制約条件生成方法は、
情報処理装置により、半正定値計画問題の目的関数を線形近似した結果を表す各係数を並べた行列と、その行列の転置行列とを求め、
情報処理装置により、前記行列と前記転置行列との和を算出し、
情報処理装置により、算出した和が表す行列に関して、固有値と固有ベクトルとを算出すると共に、算出結果の中から特定の固有ベクトルを選択し、
情報処理装置により、前記選択した特定の固有ベクトルが表す情報を、前記半正定値計画問題の線形制約条件を表す情報とする。
尚、同目的は、上記構成を有する線形制約条件生成装置、半正定値最適化問題求解装置、計量学習装置、並びに、係る各装置に対応する方法を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
[発明の効果]
上記の本発明によれば、半正定値計画問題を線形制約問題に近似して解くに際して、正確且つ迅速に解を求めるための線形制約条件生成装置等が実現する。In order to achieve the above object, a linear constraint condition generation apparatus according to the present invention has the following configuration.
That is, the linear constraint generation device
Matrix computing means for obtaining a matrix in which coefficients representing the result of linear approximation of the objective function of the semi-definite programming problem are arranged, a transposed matrix of the matrix, and calculating a sum of the matrix and the transposed matrix;
With respect to the matrix represented by the calculation result of the matrix calculation means, the eigenvalue and the eigenvector are calculated, a specific eigenvector is selected from the calculation result, and the information represented by the selected specific eigenvector is represented by the semi-positive definite programming problem. Vector calculation means for providing information representing linear constraint conditions.
In addition, as another aspect of achieving the above object, the semi-definite programming problem solving apparatus according to the present invention is as follows.
A linear constraint generation device having the above-described configuration;
Solving means for calculating a provisional solution of a linear constraint problem representing a result of linear approximation of the semi-definite programming problem using the linear constraint condition generated by the linear constraint condition generation device;
Judgment means for determining whether or not a predetermined condition of a matrix representing the provisional solution is satisfied and, if satisfied, determining the provisional solution as a solution of the half positive definite programming problem.
Furthermore, as another aspect for achieving the above object, the metric learning device according to the present invention is:
Formulation means for formulating a metric matrix optimization problem used for clustering analysis as a semi-definite programming problem based on information representing the analysis target and user request information;
A semi-definite value programming problem solving apparatus having the above-described configuration for solving the semi-positive definite value programming problem formulated by the formulation means;
Clustering means for performing the clustering analysis using a solution obtained by the half positive definite plan problem solving apparatus.
And, the linear constraint generation method that achieves the same purpose is as follows.
Using an information processing device, find a matrix with each coefficient representing the result of linear approximation of the objective function of a semi-definite programming problem, and a transposed matrix of the matrix,
The information processing device calculates the sum of the matrix and the transpose matrix,
The information processing device calculates eigenvalues and eigenvectors for the matrix represented by the calculated sum, and selects a specific eigenvector from the calculation results,
The information represented by the selected specific eigenvector is set as information representing a linear constraint condition of the semi-definite programming problem by the information processing apparatus.
The same object is to generate a linear constraint condition generating apparatus having the above-described configuration, a semi-definite value optimization problem solving apparatus, a metric learning apparatus, and a computer program for realizing a method corresponding to each of the apparatuses by a computer, and It is also achieved by a computer readable storage medium in which a computer program is stored.
[Effect of the invention]
According to the present invention described above, a linear constraint condition generation device or the like for obtaining a solution accurately and quickly when a semi-definite programming problem is approximated to a linear constraint problem can be realized.
以下、本発明を実施する形態について図面を参照して詳細に説明する。
[第1の実施の形態]
はじめに、本発明の第1の実施形態について説明する。図1は、本発明の第1の実施形態に係る線形制約条件生成装置の構成を示すブロック図である。本実施形態に係る線形制約条件生成装置300は、行列演算部311と、ベクトル演算部312とを有する。
行列演算部311は、半正定値計画問題の目的関数を線形近似した結果(線形近似解情報301)に含まれる各係数を並べた行列Hと、その行列Hの転置行列HTを求めると共に、その行列Hと当該転置行列HTとの和を表す行列(H+HT)を算出する。
ベクトル演算部312は、行列演算部311の演算結果が表す行列(H+HT)に関して、固有値と固有ベクトルとを算出すると共に、算出結果の中から特定の固有ベクトルを選択し、選択した特定の固有ベクトルが表す情報を、当該半正定値計画問題の線形制約条件を表す情報(線形制約条件情報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は、係る線形制約条件を生成することを目的とする半正定値計画問題の、暫定的な解(後述する対称行列A1)を表す情報である。即ち、記憶部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の転置行列HTとの和を表す行列(H+HT)を表す情報である。
固有値・固有ベクトル情報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の転置行列HTを求めると共に、当該行列Hと転置行列HTとの和である行列(前記のH+HT)を算出する機能を有する。行列演算部13は、算出した結果を、行列演算情報24として、記憶部2に格納する。
固有値・固有ベクトル算出部14は、記憶部2から読み込んだ行列演算情報24が表す行列(前記のH+HT)に関して、固有値と、固有ベクトルとを算出する機能を有する。固有値・固有ベクトル算出部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の転置行列HTを求めると共に、行列(H+HT)を算出する。行列演算部24は、算出した結果を、行列演算情報24として記憶部2に格納する(ステップS4)。
固有値・固有ベクトル算出部14は、記憶部2から行列演算情報24を読み出し、読み出した情報が表す行列(H+HT)に関して、上述した手順によって固有値と固有ベクトルとを算出し、固有値・固有ベクトル情報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の転置行列HTを求めると共に、行列(H+HT)を行列演算情報24として算出する。次に、本実施形態では、この行列(H+HT)に関して固有値・固有ベクトル算出部14によって固有値と固有ベクトル(固有値・固有ベクトル情報25)とを算出する。次に、固有ベクトル選択部15は、算出された固有値と固有ベクトルの中から、上述した選択基準に基づいて、特定の固有ベクトル(選択結果情報26)を選択する。そして出力部16は、係る選択された特定の固有ベクトルに対して、上述した如く必要に応じて加工を施し、線形制約条件を表す情報(出力情報27)として出力する。
従って、本実施形態に係る線形制約条件生成装置により線形制約条件線形制約条件を求めれば、係る半正定値計画問題を解く際に必要な線形制約問題の求解処理の繰り返し回数を減らすことができるので、係る半正定値計画問題自体を解く所用時間を短縮することができる。このことを換言すると、本実施形態によれば、指定された条件が、数値の組み合わせからなる非線形関数の不等式で表現されている問題(半正定値計画問題)に対して、係る非線形関数を用いて表現された条件を、幾つかの線形不等式で表現された条件によって代替することにより、目的関数の値を最小化する効率を向上することができる。
ここで、上述した本実施形態の効果を数学的な見地から補足する。本実施形態に係る線形制約条件生成装置によれば、目的関数を考慮して(v,Av)≧0を満たすべきベクトルvを、無限集合である集合Vの中から選ぶことにより、線形制約問題を繰り返し生成すると共に解法する際の処理回数を削減することができる。その際、ベクトルvは以下のように選ぶ。
まず、目的関数が対称行列Aの線形関数である場合から説明する。線形関数である目的関数は、対象行列Aを構成する各成分(Aijと表す)に対して重み付け和を求めた値である。本実施形態では、対象行列Aの成分Aijの重みをij成分とする行列を、行列Hと表すことにする。
今、半正定値計画問題を線形制約問題に近似して解いた解A1(上述した暫定解情報22に相当)が、半正定条件を満たさなかった場合を考える。この場合、当該線形制約問題に対して、新しく(v,Av)≧0という条件を付け加えた線形制約問題の解A2が達成する目的関数の値は、解A1が達成する目的関数の値以上に必ずなる。その際、解A1が達成する目的関数の値がどの程度大きな値になってしまうか否かは、新しい条件を定めるベクトルvとして何を選択するかに依存する。但し、本実施形態においては、そもそも解法対象である元の半正定値計画問題が、対象とする目的関数を最小化するという問題であるから、解A1ができるだけ大きくならないようにベクトルvを選択すればよい訳である。
また、前記の如くベクトルvを選んだときにどれくらい目的関数の値が大きくなるかは、その他の線形制約条件がどのような条件によって構成されているかに依存する。但し、解A1が小さくなる量の最悪値を極小化するには、ベクトルvとして、上記の行列Hと、その行列Hの転置行列との和(H+HT)の最大固有値に対応する固有ベクトルを、ベクトルvとして選択すればよい。
そして、本実施形態では、このようにして選択したベクトルvに対して、例えば、カッティング・プレーン・アルゴリズムによって選択された集合Wに付け加える、或いは、その集合Wの一部の要素と入れ替える仕組みを追加する。これにより、元の半正定値計画問題の最適解の周りにおける半正定条件の線形制約による近似の精度を向上することができると共に、繰り返し線形制約問題を生成して解く回数を減らすことができる。
尚、本実施形態において選択するベクトルvは、係る(H+HT)の最大固有値に対応する固有ベクトルのみではなく、その他の固有値に対応する固有ベクトルや、それらを近似的に求めた値であってもよい。
次に、目的関数が対称行列Aの線形関数ではない場合について説明する。この場合は、現状得られている解A1(上述した暫定解情報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が出力した半正定値計画問題の暫定的な解(前記の対称行列A1)を表す情報である。即ち、記憶部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,Aov)≧0という不等式を最も激しく違反するベクトルvを集合Vの中から選択する、という基本方針に従って行われる。即ち、係る選択は、長さ1のベクトルvのうち、(v,Aov)を、最も小さくする特定のベクトルvを選択することに相当する。そして、選択した特定のベクトvは、解Aoの最も小さな(負で絶対値が最大の)固有値に対応する固有ベクトルである。本実施形態では、このようにして選ばれたベクトルvを集合Wに付け加える、或いは、その集合Wの要素の一部と入れ替えることにより、半正定条件を線形制約条件の集合で近似し直すことによってベクトルvを選んでいる。但し、ベクトルは、長さ成分と方向成分とによって一意に定まる。本実施形態において、このベクトルvの長さ成分は1であることを前提しているので、係る選択において選べるのは方向成分だけである。そこで、本実施形態では、上記の如く(v,Aov)≧0という不等式を“最も激しく違反するベクトルvを選択する動作”を、“違反方向を考慮した線形制約条件の生成”と称している。その際、係る線形制約条件生成部33は、生成線形制約条件情報44として、記憶部2に既に格納されていた情報への追加、或いはその一部あるいは全部の置き換えを行ってもよい。
目的関数を考慮した線形制約条件生成部34は、上述した第2の実施形態において説明したところの、目的関数を考慮した線形制約条件生成装置と同様な処理を行う。即ち、係る目的関数を考慮した線形制約条件生成部34は、第2の実施形態において説明した手順に従って、目的関数情報41と暫定解情報42と用いて、線形制約条件を表す情報を生成し、生成した情報を、生成線形制約条件情報(生成した線形制約条件情報)44として記憶部2に格納する。その際、係る線形制約条件生成部34は、生成線形制約条件情報44として、記憶部2に既に格納されていた情報への追加、或いはその一部あるいは全部の置き換えを行ってもよい。
線形制約問題求解部35は、目的関数情報41と、所与の線形制約条件情報42と、生成線形制約条件情報44と用いて、それらの情報によって特定される線形制約問題を、現在では一般的な求解方法を用いて解法する機能を有する。そして、線形制約問題求解部35は、係る解法結果を表す情報を、前述した半正定値計画問題の暫定解情報43(前記の対称行列A1)として、記憶部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を基礎とする優先権を主張し、その開示の全てをここに取り込む。Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[First Embodiment]
First, a first embodiment of the present invention will be described. FIG. 1 is a block diagram showing a configuration of a linear constraint condition generation apparatus according to the first embodiment of the present invention. The linear constraint condition generation device 300 according to the present embodiment includes a
The
The
When the linear constraint condition information 302 is obtained by such a linear constraint condition generation device 300, when solving a semi-definite programming problem by approximating it to a linear constraint problem (that is, solving as an approximate solution using a linear constraint problem), The solution can be obtained accurately and quickly.
[Second Embodiment]
Next, a second embodiment based on the above-described first embodiment will be described. FIG. 2 is a block diagram showing the configuration of the linear constraint condition generation apparatus according to the second embodiment of the present invention. The linear constraint condition generation apparatus according to the present embodiment roughly includes a processor 1 and a
The linear constraint condition generation apparatus according to the present embodiment is an apparatus capable of generating a linear constraint condition considering an objective function, and defines the linear constraint condition considering the objective function or the linear constraint condition. It has a function to generate a vector v.
Here, mathematical preconditions when generating linear constraint conditions in the present embodiment will be described. First, in this embodiment, it is equivalent that the symmetric matrix A satisfies the semi-definite condition and that the vector v having an arbitrary length 1 satisfies (v, Av) ≧ 0. Hereinafter, a set of vectors having a length of 1 is referred to as a set V. (V, Av) is a linear function with respect to each element constituting the symmetric matrix A. In this case, (v, Av) ≧ 0 is a linear constraint imposed on the symmetric matrix A with respect to a certain vector v. However, in this case, (v, Av) ≧ 0 needs to be satisfied for all elements v of the set V that is an infinite set, so the semi-definite condition is a set in which infinite number of such linear constraints are collected. Is equivalent to However, in the present specification, the semi-definite condition is a condition that all eigenvalues of the semi-definite matrix are 0 or more as described above in the “Background Art” column.
Next, the configuration and operation of the linear constraint condition generation device according to this embodiment will be described.
The processor 1 executes various software programs (computer programs, hereinafter simply abbreviated as “programs”) read from the
The
The
The
The approximation result
Note that the
The
The eigenvalue /
The selection result
When all eigenvectors calculated by the eigenvalue /
The
The processor 1 includes a microprocessor (not shown in FIG. 2) such as a CPU (Central Processing Unit) 101 shown in FIG. The processor 1 executes the program code read from the
The
Further, the
Furthermore, when information representing a linear approximation result corresponding to the provisional solution of the objective function is input, the
The objective function
Here, in the differentiation process of the objective function (objective function information 21), a method of approximation based on a numerical difference or a program for calculating a differential value may be held in the
Based on the matrix H represented by the approximation result
The eigenvalue /
It should be noted that a general method can be adopted as a method for calculating the eigenvalues and eigenvectors of the matrix, and a detailed description thereof in this embodiment will be omitted. Also, instead of obtaining all eigenvalues and eigenvectors for the target matrix, partial values may be used, for example, obtaining only eigenvectors corresponding to the maximum eigenvalue. Also in this case, a general method can be adopted in this embodiment.
Further, when the
The
(A) selecting the eigenvector corresponding to the largest or smallest eigenvalue;
(B) Selecting a plurality of corresponding eigenvectors for several eigenvalues in order from the largest eigenvalue.
Then, the
The
(A) the eigenvector itself to be used,
(B) When the eigenvector selected in (a) above is the vector v described above, information in which the coefficients of the respective components forming the matrix A appearing on the left side of the inequality (v, Av) ≧ 0 are arranged,
(C) another form of information based on communication protocol with other devices that receive linear constraints;
(D) Information in other forms based on the device for calculation processing.
Then, the
FIG. 3 is a flowchart showing the generation processing of the linear constraint condition by the linear constraint condition generation device according to the second embodiment of the present invention. The flowchart corresponds to the processing procedure of the program executed by the processor 1 shown in FIG. 2 (corresponding to a
That is, the
Further, the
Next, the objective function
As described above, when the approximation result
The
The eigenvalue /
The
The
According to the linear constraint condition generation device according to the second embodiment described above, the objective function (objective function information 21) is taken into consideration when generating the linear constraint condition (output information 27), and the semi-definite programming problem Can be obtained accurately and quickly when solving by approximating a linear constraint problem. The reason is that in this embodiment, the value of the objective function achieved in the provisional solution (provisional solution information 22) when generating the linear constraint condition used to approximate the nonlinear constraint condition of the semi-definite programming problem. This is because a linear constraint condition that does not change as much as possible is generated using information on the objective function.
In order to realize this, in this embodiment, the
Therefore, if the linear constraint condition is determined by the linear constraint condition generation device according to the present embodiment, the number of iterations of the linear constraint problem solving process necessary for solving the semi-definite programming problem can be reduced. Therefore, the time required for solving such a semi-definite programming problem itself can be shortened. In other words, according to the present embodiment, the specified condition is used for a problem (half positive definite programming problem) expressed by an inequality of a nonlinear function composed of a combination of numerical values. By substituting the condition expressed in terms of several linear inequalities, the efficiency of minimizing the value of the objective function can be improved.
Here, the effect of this embodiment mentioned above is supplemented from a mathematical viewpoint. According to the linear constraint condition generation device according to the present embodiment, a linear constraint problem is obtained by selecting a vector v that should satisfy (v, Av) ≧ 0 from the set V that is an infinite set in consideration of the objective function. Can be generated repeatedly and the number of processing times when solving can be reduced. At that time, the vector v is selected as follows.
First, the case where the objective function is a linear function of the symmetric matrix A will be described. The objective function, which is a linear function, has each component (A ij Is a value obtained by calculating a weighted sum. In this embodiment, the component A of the target matrix A ij A matrix having the weight of ij as an ij component is represented as a matrix H.
Now, a solution A obtained by approximating a semi-definite programming problem to a linear constraint problem A 1 Consider a case where (corresponding to the
In addition, how much the value of the objective function increases when the vector v is selected as described above depends on the conditions under which other linear constraint conditions are configured. However, Solution A 1 In order to minimize the worst value of the amount of decrease, the vector v is the sum of the matrix H and the transposed matrix of the matrix H (H + H). T The eigenvector corresponding to the largest eigenvalue of () may be selected as the vector v.
In this embodiment, a mechanism is added to the vector v selected in this way, for example, to be added to the set W selected by the cutting plane algorithm, or to be replaced with some elements of the set W. To do. As a result, the accuracy of approximation by the linear constraint of the semi-definite condition around the optimal solution of the original semi-definite programming problem can be improved, and the number of times of generating and solving the repeated linear constraint problem can be reduced.
Note that the vector v selected in this embodiment is related to (H + H T ), Eigenvectors corresponding to other eigenvalues, and values obtained by approximating them may be used.
Next, a case where the objective function is not a linear function of the symmetric matrix A will be described. In this case, the currently obtained solution A 1 A mechanism for performing an operation such as Taylor expansion on an objective function around (equivalent to the
[Third Embodiment]
Next, a third embodiment of the present invention based on the above-described first and second embodiments will be described. The half positive definite programming problem solving apparatus according to the present embodiment includes the function of the linear constraint condition generation apparatus (linear constraint condition generation apparatus considering an objective function) described in the second embodiment, and the generated linear constraint It has a function to find a semi-definite programming problem using conditions.
FIG. 4 is a block diagram showing the configuration of a half-definite-value planning problem solving apparatus according to the third embodiment of the present invention. Similar to the linear constraint condition generation apparatus in the second embodiment described above, this semi-definite programming problem solving apparatus roughly includes a processor 1 and a
Next, the configuration and operation of the semi-definite plan problem solving apparatus according to the present embodiment will be described.
In the present embodiment as well, in the present embodiment, the functions described below are executed by executing various programs read from the
As in the second embodiment, the
That is, in the
The given linear
The
The generated linear constraint condition information (generated linear constraint condition information) 44 is generated by the linear constraint
The
The processor 1 has a hardware configuration not shown in FIG. 4 as in the second embodiment. For example, the processor 1 executes the program code read from the
The
Further, the
The initial
The linear constraint
That is, in order to obtain an approximation by a linear constraint that better approximates the semi-definite condition, it is necessary to carefully select the vector v under (v, Av) ≧ 0 that is imposed as a linear constraint. For example, in the cutting plane algorithm, this choice is (v, A o v) according to the basic policy of selecting from the set V the vector v that most violates the inequality ≧ 0. That is, such a selection is made of (v, A o v) corresponds to selecting a specific vector v to be minimized. And the selected vector v is the solution A o Is the eigenvector corresponding to the smallest (negative and largest absolute value) eigenvalue. In the present embodiment, by adding the vector v selected in this way to the set W, or by replacing some of the elements of the set W, the semi-definite condition is approximated by a set of linear constraints. The vector v is selected. However, the vector is uniquely determined by the length component and the direction component. In this embodiment, since it is assumed that the length component of the vector v is 1, only the direction component can be selected in such selection. Therefore, in this embodiment, as described above (v, A o v) The inequality “≧ 0” is referred to as “the operation of selecting the vector v that violates the most severely” as “generation of a linear constraint considering the violation direction”. At this time, the linear constraint
The linear constraint
The linear constraint
The semi-definite
Depending on the accuracy of the required semi-definite programming problem, the semi-definite condition is not strictly determined, but at a certain level (for example, the maximum absolute value of the negative eigenvalue is small). It may be determined that it is satisfied.
The
(A) the matrix itself,
(B) another form of information based on the communication protocol with other devices receiving the solution;
(C) Information in other forms based on the device for calculation processing.
And the
FIG. 5 is a flowchart showing a solution process for a semi-definite value planning problem by the semi-definite value planning problem solving apparatus according to the third embodiment of the present invention. The flowchart corresponds to the processing procedure of the program executed by the processor 1 shown in FIG. 4 (corresponding to a
That is, the
Further, the
Next, the initial
The linear constraint
The linear
The linear constraint
The semi-definite
The
As described above, the half positive definite programming problem solving apparatus according to the third embodiment performs the solving procedure of the linear constraint problem in consideration of the objective function described in the second embodiment when solving the semi positive definite programming problem. Adopt and use the linear constraints obtained by such a solution procedure. Thereby, according to the semi-definite value planning problem solving apparatus according to the present embodiment, the number of repetitions of solving the linear constraint problem performed in the process of solving the semi-definite value programming problem can be minimized. Therefore, according to the half positive definite plan problem solving apparatus, it is possible to shorten the time required to obtain the solution of the semi positive definite plan problem.
That is, according to this embodiment described above, in the semi-definite programming problem solving apparatus that approximates a semi-definite programming problem to a linear constraint problem, the approximation accuracy around the optimal solution of the original problem is increased. A linear constraint can be generated. Thus, according to the present embodiment, the number of times the linear constraint problem is repeatedly generated and solved can be reduced, so that the processing time until a final solution is obtained can be shortened.
[Fourth Embodiment]
Next, a fourth embodiment of the present invention based on the first to third embodiments described above will be described. The metric learning device according to the present embodiment includes the function of the semi-definite programming problem solving apparatus described in the third embodiment, and uses the generated linear constraint condition to obtain a solution of the semi-definite programming problem. And a function of clustering analysis objects based on the obtained solution. Since the metric learning device according to the present embodiment includes the function of the semi-definite programming problem solving device according to the third embodiment described above, when generating such a linear constraint condition, the metric learning device according to the second embodiment described above is included. A procedure similar to that of the linear constraint condition generation apparatus is executed.
In the following description, as an example of the metric learning device according to the present embodiment, a case where the text data to be analyzed is clustered so as to satisfy the request from the user as much as possible as in the technique described in
FIG. 6 is a block diagram showing a configuration of a metric learning device according to the fourth embodiment of the present invention. This metric learning device is roughly divided into the processor 1 and the
Next, the configuration and operation of the metric learning device according to the present embodiment will be described.
Also in this embodiment, the processor 1 executes the various programs read from the
Similar to the second and third embodiments, the
That is, in the
The
The
The
The analysis result
The
Similar to the second and third embodiments, the processor 1 has a hardware configuration not shown in FIG. For example, the processor 1 causes a program code (program) read from the
The
The
The half positive definite plan
The
The
FIG. 7 is a flowchart showing the analysis processing by the metric learning device according to the fourth embodiment of the present invention. The flowchart corresponds to the processing procedure of the program executed by the processor 1 shown in FIG. 6 (corresponding to a
That is, the
The
The
Then, the
The semi-definite value programming
The
The
As described above, the metric learning device according to the fourth embodiment has the function of the semi-definite value planning problem solving device according to the above-described third embodiment before performing the clustering analysis on the analysis target. A positive definite plan
That is, according to each of the above-described embodiments, in an apparatus that solves a semi-definite programming problem by approximating it to a linear constraint problem, the number of times a series of operations of generating an approximation problem and solving the generated approximation problem is repeated. Therefore, a solution can be obtained quickly.
<Example of hardware configuration>
Here, a configuration example of hardware capable of realizing the apparatus according to each embodiment described above will be described. FIG. 8 is a diagram illustrating an exemplary hardware configuration of a computer (information processing apparatus) that can implement the first to fourth embodiments of the present invention.
The hardware of the computer (PC) 100 shown in FIG. 8 includes a
The present invention described with reference to the first to fourth embodiments described above is the function of the flowcharts (FIGS. 3, 5, and 7) referred to in the description, or FIGS. , A program capable of realizing the function of each unit (each block) shown in the processor 1 in the block diagram shown in FIG. 6 is supplied to the computer 100 shown in FIG. 8, and then the program is read to the
In the above case, the program can be supplied to the apparatus by a method of installing in the apparatus via various computer-readable recording media (109) such as CD-ROM and flash memory, and the Internet. Currently, a general procedure can be adopted, such as a method of downloading from the outside via the communication line (200). In such a case, the present invention can be considered to be configured by a code (
However, the present invention is not limited to an embodiment realized by executing the program on a computer as described above. The present invention can also be realized by a dedicated device that realizes the functions of the devices according to the above-described embodiments, for example. In addition, the present invention uses not only the case where it is executed using one computer exemplified with reference to FIG. 8, but also an information processing system that is physically and / or logically configured by a plurality of computers. May be realized.
The present invention has been described above using the above-described embodiment as an exemplary example. However, the present invention is not limited to the above-described embodiment. That is, the present invention can apply various modes that can be understood by those skilled in the art within the scope of the present invention.
This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2011-208732 for which it applied on September 26, 2011, and takes in those the indications of all here.
上述した各実施形態を例に説明した本発明は、例えば、マイニングプロセスの設計最適化システム等のように、情報処理装置を利用して、半正定値計画問題を、線形制約問題に近似して解く各種の装置に広く適用することができる。 The present invention described by taking each of the embodiments described above as an example, approximates a semi-definite programming problem to a linear constraint problem using an information processing device, such as a design optimization system for a mining process. It can be widely applied to various devices to be solved.
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 ベクトル演算部DESCRIPTION OF SYMBOLS 1
101 CPU
102 Input /
105 RAM
106
Claims (10)
前記行列演算手段の演算結果が表す行列に関して、固有値と固有ベクトルとを算出すると共に、算出結果の中から特定の固有ベクトルを選択し、選択した特定の固有ベクトルが表す情報を、前記半正定値計画問題の線形制約条件を表す情報とするベクトル演算手段とを備える
ことを特徴とする線形制約条件生成装置。Matrix computing means for obtaining a matrix in which coefficients representing the result of linear approximation of the objective function of the semi-definite programming problem are arranged, a transposed matrix of the matrix, and calculating a sum of the matrix and the transposed matrix;
With respect to the matrix represented by the calculation result of the matrix calculation means, the eigenvalue and the eigenvector are calculated, a specific eigenvector is selected from the calculation result, and the information represented by the selected specific eigenvector is represented by the semi-positive definite programming problem. A linear constraint condition generating apparatus, comprising: vector calculation means that uses information representing a linear constraint condition.
前記特定の固有ベクトルとして、最大または最小の固有値に対応する固有ベクトル、或いは、大きい固有値から順に、幾つかの固有値に対応する複数の固有ベクトルを選択する
ことを特徴とする請求項1記載の線形制約条件生成装置。The vector calculation means includes
The linear constraint condition generation according to claim 1, wherein as the specific eigenvector, an eigenvector corresponding to the maximum or minimum eigenvalue, or a plurality of eigenvectors corresponding to several eigenvalues are selected in order from the largest eigenvalue. apparatus.
前記特定の固有ベクトルをベクトルvとした場合に、不等式(v,Av)≧0の左辺に現れる行列Aをなす各成分vの係数を並べた情報を、前記線形制約条件を表す情報とする
ことを特徴とする請求項1または請求項2記載の線形制約条件生成装置。The vector calculation means includes
When the specific eigenvector is a vector v, information in which the coefficients of the components v forming the matrix A appearing on the left side of the inequality (v, Av) ≧ 0 are arranged as information representing the linear constraint condition. 3. The linear constraint condition generation apparatus according to claim 1, wherein the linear constraint condition generation apparatus is characterized.
ことを特徴とする請求項1乃至請求項3の何れかに記載の線形制約条件生成装置。Linear approximation means for calculating each coefficient representing a result of linear approximation of the objective function based on information representing the objective function of the semi-definite programming problem and information representing a provisional solution of the semi-definite programming problem; In addition.
The linear constraint condition generation apparatus according to any one of claims 1 to 3, wherein
前記線形制約条件生成装置が生成した線形制約条件を利用して、前記半正定値計画問題を線形近似した結果を表す線形制約問題の暫定解を算出する求解手段と、
前記暫定解を表す行列の所定条件を満たしているか否かを判定し、満足する場合に、前記暫定解を前記半正定値計画問題の解とする判定手段とを備える
ことを特徴とする半正定値計画問題求解装置。The linear constraint condition generation device according to any one of claims 1 to 4,
Solving means for calculating a provisional solution of a linear constraint problem representing a result of linear approximation of the semi-definite programming problem using the linear constraint condition generated by the linear constraint condition generation device;
It is determined whether or not a predetermined condition of a matrix representing the provisional solution is satisfied, and if satisfied, a determination unit that determines the provisional solution as a solution of the half-definite programming problem Value planning problem solver.
ことを特徴とする請求項5記載の半正定値計画問題求解装置。When the matrix representing the provisional solution does not satisfy the predetermined condition, the linear constraint condition generated by the linear constraint condition generation device is updated, and the provisional solution is updated by the solution solving means using the updated linear constraint condition. 6. The method according to claim 5, wherein a series of processes for determining whether or not the updated provisional solution satisfies the predetermined condition is repeated until the updated provisional solution satisfies the predetermined condition. Positive definite plan problem solver.
前記暫定解を表す行列の全ての固有値が0以上であるという条件である
ことを特徴とする請求項6記載の半正定値計画問題求解装置。The predetermined condition is:
The semi-definite value planning problem solving apparatus according to claim 6, wherein all eigenvalues of the matrix representing the provisional solution are in a condition of 0 or more.
前記定式化手段によって定式化された半正定値計画問題を解法する、請求項6または請求項7記載の半正定値計画問題求解装置と、
前記半正定値計画問題求解装置によって求めた解を用いて、前記クラスタリング分析を行うクラスタリング手段とを備える
ことを特徴とする計量学習装置。Formulation means for formulating a metric matrix optimization problem used for clustering analysis as a semi-definite programming problem based on information representing the analysis target and user request information;
The semi-definite definite programming problem solving apparatus according to claim 6 or 7, wherein the semi-definite definite programming problem formulated by the formulation means is solved.
A metric learning apparatus comprising: clustering means for performing the clustering analysis using a solution obtained by the semi-definite value planning problem solving apparatus.
情報処理装置により、前記行列と前記転置行列との和を算出し、
情報処理装置により、算出した和が表す行列に関して、固有値と固有ベクトルとを算出すると共に、算出結果の中から特定の固有ベクトルを選択し、
情報処理装置により、前記選択した特定の固有ベクトルが表す情報を、前記半正定値計画問題の線形制約条件を表す情報とする
ことを特徴とする線形制約条件生成方法。Using an information processing device, find a matrix with each coefficient representing the result of linear approximation of the objective function of a semi-definite programming problem, and a transpose matrix of that matrix,
The information processing device calculates the sum of the matrix and the transpose matrix,
The information processing device calculates eigenvalues and eigenvectors for the matrix represented by the calculated sum, and selects a specific eigenvector from the calculation results,
A method for generating a linear constraint condition, characterized in that information represented by the selected specific eigenvector is used as information representing a linear constraint condition of the semi-definite programming problem by an information processing device.
半正定値計画問題の目的関数を線形近似した結果を表す各係数を並べた行列と、その行列の転置行列とを求めると共に、該行列と該転置行列との和を算出する行列演算機能と、
前記行列演算機能による演算結果が表す行列に関して、固有値と固有ベクトルとを算出すると共に、算出結果の中から特定の固有ベクトルを選択し、選択した特定の固有ベクトルが表す情報を、前記半正定値計画問題の線形制約条件を表す情報とするベクトル演算機能とをコンピュータに実現させる
ことを特徴とするコンピュータ・プログラム。A computer program for controlling the operation of the linear constraint condition generator, the computer program,
A matrix operation function for obtaining a matrix in which coefficients representing a result of linear approximation of an objective function of a semi-definite programming problem are arranged, a transposed matrix of the matrix, and calculating a sum of the matrix and the transposed matrix;
With respect to the matrix represented by the calculation result by the matrix calculation function, the eigenvalue and the eigenvector are calculated, a specific eigenvector is selected from the calculation result, and the information represented by the selected specific eigenvector is represented by the semi-positive definite programming problem. A computer program for causing a computer to realize a vector operation function that uses information representing a linear constraint condition.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011208732 | 2011-09-26 | ||
JP2011208732 | 2011-09-26 | ||
PCT/JP2012/074312 WO2013047394A1 (en) | 2011-09-26 | 2012-09-14 | Device and method for generating linear constraint condition, device for solving positive semidefinite optimization problem, metric learning device, and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013047394A1 true JPWO2013047394A1 (en) | 2015-03-26 |
JP5942998B2 JP5942998B2 (en) | 2016-06-29 |
Family
ID=47995426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013536242A Active JP5942998B2 (en) | 2011-09-26 | 2012-09-14 | Linear constraint generation apparatus and method, semi-definite definite optimization problem solving apparatus, metric learning apparatus, and computer program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5942998B2 (en) |
WO (1) | WO2013047394A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015186338A1 (en) * | 2014-06-05 | 2015-12-10 | 日本電気株式会社 | Non-linear programming problem processing device and non-linear programming problem processing method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006139575A (en) * | 2004-11-12 | 2006-06-01 | Nippon Telegr & Teleph Corp <Ntt> | Device, method, and program for calculating eigen value, and recording medium |
WO2009104324A1 (en) * | 2008-02-22 | 2009-08-27 | 日本電気株式会社 | Active metric learning device, active metric learning method, and program |
JP2010218521A (en) * | 2009-03-16 | 2010-09-30 | Atsuya Kumagai | Relationship data processing method |
-
2012
- 2012-09-14 JP JP2013536242A patent/JP5942998B2/en active Active
- 2012-09-14 WO PCT/JP2012/074312 patent/WO2013047394A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006139575A (en) * | 2004-11-12 | 2006-06-01 | Nippon Telegr & Teleph Corp <Ntt> | Device, method, and program for calculating eigen value, and recording medium |
WO2009104324A1 (en) * | 2008-02-22 | 2009-08-27 | 日本電気株式会社 | Active metric learning device, active metric learning method, and program |
JP2010218521A (en) * | 2009-03-16 | 2010-09-30 | Atsuya Kumagai | Relationship data processing method |
Also Published As
Publication number | Publication date |
---|---|
JP5942998B2 (en) | 2016-06-29 |
WO2013047394A1 (en) | 2013-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200293838A1 (en) | Scheduling computation graphs using neural networks | |
US10963817B2 (en) | Training tree-based machine-learning modeling algorithms for predicting outputs and generating explanatory data | |
US20160358070A1 (en) | Automatic tuning of artificial neural networks | |
US8650138B2 (en) | Active metric learning device, active metric learning method, and active metric learning program | |
TW201915839A (en) | Method and apparatus for quantizing artificial neural network and floating-point neural network | |
JP7287397B2 (en) | Information processing method, information processing apparatus, and information processing program | |
JP6874219B2 (en) | Information processing device, arithmetic unit, and information processing method | |
US20220164666A1 (en) | Efficient mixed-precision search for quantizers in artificial neural networks | |
US12015526B2 (en) | Mixed-precision neural networks | |
WO2022227217A1 (en) | Text classification model training method and apparatus, and device and readable storage medium | |
JP7007520B2 (en) | Information processing device, arithmetic unit, and information processing method | |
JP2022165395A (en) | Method for optimizing neural network model and method for providing graphical user interface for neural network model | |
WO2010048758A1 (en) | Classification of a document according to a weighted search tree created by genetic algorithms | |
WO2021244203A1 (en) | Parameter optimization method, electronic device and storage medium | |
JP7512631B2 (en) | Ising machine data input device and method for inputting data into an Ising machine | |
JP5942998B2 (en) | Linear constraint generation apparatus and method, semi-definite definite optimization problem solving apparatus, metric learning apparatus, and computer program | |
CN116976461A (en) | Federal learning method, apparatus, device and medium | |
JP7306432B2 (en) | Information processing method, information processing device and program | |
JP4643586B2 (en) | Optimal design management device, optimal design calculation system, optimal design management method, optimal design management program | |
Zheng | Boosting based conditional quantile estimation for regression and binary classification | |
CN114118381A (en) | Learning method, device, equipment and medium based on adaptive aggregation sparse communication | |
JP2020030702A (en) | Learning device, learning method, and learning program | |
CN113505838B (en) | Image clustering method and device, electronic equipment and storage medium | |
WO2023019427A1 (en) | Method and apparatus for graph-based recommendation | |
JP2017167967A (en) | Information processor, method, and program |
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 or registration of utility model |
Ref document number: 5942998 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |