JP7230925B2 - 疎行列標準化装置、疎行列標準化方法および疎行列標準化プログラム - Google Patents

疎行列標準化装置、疎行列標準化方法および疎行列標準化プログラム Download PDF

Info

Publication number
JP7230925B2
JP7230925B2 JP2020558734A JP2020558734A JP7230925B2 JP 7230925 B2 JP7230925 B2 JP 7230925B2 JP 2020558734 A JP2020558734 A JP 2020558734A JP 2020558734 A JP2020558734 A JP 2020558734A JP 7230925 B2 JP7230925 B2 JP 7230925B2
Authority
JP
Japan
Prior art keywords
matrix
column
vector
row
sparse matrix
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
JP2020558734A
Other languages
English (en)
Other versions
JPWO2020115844A1 (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 JPWO2020115844A1 publication Critical patent/JPWO2020115844A1/ja
Application granted granted Critical
Publication of JP7230925B2 publication Critical patent/JP7230925B2/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/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Complex Calculations (AREA)

Description

本発明は、疎行列標準化装置、疎行列標準化方法および疎行列標準化プログラに関する。
機械学習では、一般的に学習データが行列形式で表される。また、機械学習では、学習データ内の各特徴量の大きさを揃えるため、標準化(standardization) と呼ばれる操作が行われることが多い。
標準化が行われることが多い理由は、学習データに対する標準化の実行の有無が学習データを処理する学習アルゴリズムの性能に大きな影響を及ぼす場合もあるためである。標準化が行われる場合、標準化対象の各特徴量に対して、以下の計算がそれぞれ行われる。
z = (X - μ)/σ ・・・式(1)
なお、式(1)におけるX は、1つの特徴量である。また、μは、標準化対象の各特徴量の平均である。また、σは、標準化対象の各特徴量の標準偏差である。また、z は、1つの標準化された特徴量である。すなわち、標準化は、標準化対象の各特徴量の平均が0、標準化対象の各特徴量の分散が1にそれぞれなるように行われる。
図11は、行列形式で表された学習データに対する標準化の例を示す説明図である。図11(a)は、A君、B君、C君、およびD君の各体重および各身長を特徴量として有する学習データPを示す。また、図11(b)は、学習データPの標準化された特徴量を有する学習データP’を示す。
図11(a)に示すように、各体重の平均は、26.25 である。また、各体重の標準偏差は、約6.29である。図11(b)に示すように、例えばA君の体重は、式(1)に従って(25-26.25)/6.29 = -0.2と標準化されている。他の人の体重も、同様に計算されて標準化されている。また、各身長に関しても、体重と同様に計算されて標準化されている。
また、比較的規模が大きい学習データは、疎行列形式で表されることが多い。疎行列は、成分の値の大半が0の行列である。また、疎行列が用いられる基本的な演算は、疎行列とベクトルとの乗算である。以下、値が0の成分を「零の成分」とも呼ぶ。また、値が0以外の成分を「非零の成分」とも呼ぶ。
例えば、機械学習の対象範囲が大規模になると、様々な種類のデータが扱われるため、学習データの規模も大きくなる。しかし、1つの学習対象のサンプルに関するデータの種類は、学習データが扱うデータの種類のうちの数種類にすぎない。よって、対象範囲の規模が大きい機械学習では、学習データが疎行列形式で表されることが多い。
図12は、疎行列形式で表された学習データの例を示す説明図である。図12に示す学習データQは、特徴量として文書中に単語が現れた回数を有する。図12に示す疎行列は、類義語を探したり、類似した文書を探したりするような文書の分析で操作される。
具体的には、学習データQは、列が「単語」、行が「文書」をそれぞれ示す行列形式で表されている。また、行列の成分の値は、上述したように文書中に単語が現れた回数である。
図12に示す行列の各列はそれぞれ「this」、「is」、「a 」、「pen 」、「I 」、「am」、「boy 」等の各単語を示す。また、図12に示す行列の各行はそれぞれ「this is a pen 」、「I am a boy」等の各文書を示す。
図12に示すように、文書「this is a pen 」を示す行における列「this」、「is」、「a 」、「pen 」にそれぞれ対応する各成分の値は、「1」である。また、列「I 」、「am」、「boy 」にそれぞれ対応する各成分の値は、「0」である。
なお、図12に示す疎行列において、「0」は表記されていない。本明細書中の疎行列において、「0」は表記しないものとする。
文書「I am a boy」を示す行における各成分の値も、文書「this is a pen 」を示す行における各成分の値と同様に定められる。図12に示すように、学習データQは、様々な種類の文書に対応することが求められる。従って、特徴量として文書中に単語が現れた回数を有する学習データは、疎行列形式で表される。
図13は、疎行列形式で表された学習データの他の例を示す説明図である。図13に示す学習データRは、特徴量としてアイテムに対して購入等が行われた回数を有する。図13に示す疎行列は、ユーザに対して任意のアイテムを推奨するレコメンドで操作される。
具体的には、学習データRは、列が「アイテム」、行が「ユーザ」をそれぞれ示す行列形式で表されている。また、行列の成分の値は、上述したようにアイテムに対して購入等が行われた回数である。
図13に示す行列の各列はそれぞれ「本1」、「お茶」、「菓子」、「本2」等の各アイテムを示す。また、図13に示す行列の各行はそれぞれ「Eさん」、「Fさん」等の各ユーザを示す。
図13に示すように、例えばユーザ「Eさん」を示す行における列「本1」、「お茶」、「菓子」にそれぞれ対応する各成分の値は、「1」、「2」、「2」である。また、列「本2」に対応する成分の値は、「0」である。
図13に示すように、学習データRは、様々な種類のアイテムに対応することが求められる。従って、特徴量としてアイテムに対して購入等が行われた回数を有する学習データは、疎行列形式で表される。
図12および図13に示す疎行列の保存方法として、零の成分をスキップして保存する方法がある。零の成分をスキップして保存するためには、疎行列を他の形式のデータにフォーマットすることが求められる。
図14は、疎行列フォーマットの例を示す説明図である。図14は、CRS(Compressed Row Storage) による疎行列フォーマットを示す。CRS により疎行列がフォーマットされると、図14に示すように、値を含むデータと、オフセットデータと、列番号を含むデータとがそれぞれ生成される。
疎行列をフォーマットする場合、CRS は、最初に疎行列の各非零の成分の値を、図14に示す点線の矢印に沿って抽出する。次いで、CRS は、抽出された各非零の成分の値を含むデータを生成する。図14に示す値を含むデータには、点線の矢印に沿って抽出された順に各非零の成分の値が含まれている。
次に、CRS は、疎行列の各行の最初の非零の成分の値の番号と、疎行列中の非零の成分の数を含むオフセットデータを生成する。具体的には、図14に示すオフセットデータに含まれる「0」、「3」、「5」、「8」は、疎行列の各行の最初の非零の成分の値の番号である。
例えば、「0」は、疎行列の1行目の最初の非零の成分の値「1」の、値を含むデータにおける番号である。同様に、「3」は、疎行列の2行目の最初の非零の成分の値「4」の、値を含むデータにおける番号である。「5」、「8」も、それぞれ同様に定められた番号である。また、図14に示すオフセットデータに含まれる「10」は、疎行列中の非零の成分の数である。
次に、CRS は、列番号を含むデータを生成する。例えば、「0」は、値「1」の成分の疎行列における列番号である。同様に、「2」は、値「2」の成分の疎行列における列番号である。他の列番号も、それぞれ同様に定められた番号である。
図14に示すように零の成分がスキップされるように疎行列がフォーマットされると、行列形式が使用されなくなるため、効率よく学習データが保存される。効率よく学習データが保存されると、記憶容量の削減、および学習データの計算の高速化が可能になる。また、疎行列をフォーマットする方法に応じた、効率よく疎行列を演算する方法もある。
また、特許文献1~3には、行列の標準化に関連する内容がそれぞれ記載されている。例えば、特許文献1には、並列処理をするにあたって、照合処理における計算量を減少させるようにした情報処理装置が記載されている。
また、特許文献2には、二値化された特徴ベクトルと複数の実数ベクトルとの内積計算を高速化することで、そのような特徴ベクトルと複数の実数ベクトルとの関連性の判定を高速に行う関連性判定装置が記載されている。
また、特許文献3には、クラスが既知の多次元サンプルパターンに対して予め学習を行っておき、入力パターンがどのクラスに所属するかの識別をその学習の結果に基づいて行うパターン認識方法が記載されている。
特開2018-037020号公報 特開2015-138462号公報 特開平09-231366号公報
疎行列を標準化すると密行列に変換されてしまい、計算効率が大きく低下するという問題がある。以下、問題が発生する理由を、図15を参照して説明する。
図15は、疎行列の標準化の例を示す説明図である。図15(a)に示す疎行列は、標準化されると、図15(b)に示す密行列に変換される。密行列は、成分の大半が非零の成分である行列である。
図15に示す標準化は、疎行列の各列を1つの単位として行われている。例えば、図15(a)に示す疎行列の0列目の各成分の値「1」、「0」、「6」、「0」の平均は、1.75である。また、各成分の値の標準偏差は、約2.87である。
よって、図15(a)に示す疎行列の0列目の成分の値「1」は、式(1)に従って、(1-1.75)/2.87 = -0.26 と標準化されている。同様に、疎行列の0列目の成分の値「0」は、式(1)に従って、(0-1.75)/2.87 = -0.61 と標準化されている。他の疎行列の成分の値も、同様に計算されて標準化されている。
図15(b)に示す行列の0列目の各成分の値はそれぞれ、「-0.26 」、「-0.61 」、「1.48」、「-0.61 」である。図15(a)に示す疎行列の0列目に存在していた零の成分が、図15(b)に示す行列の0列目には存在しない。
すなわち、標準化で疎行列が密行列に変換される理由は、特徴量である各成分の値の平均を0に揃えるため、零の成分からもμ/σが必ず減算されるためである。零の成分は、μ/σが減算されると、非零の成分になる。
上記のように、疎行列は、標準化されると零の成分から標準偏差で除算された平均が減算されるため、密行列に変換される。学習データを表す形式が疎行列形式から密行列形式に変換されると、元の学習データが疎である性質が失われる。
疎である性質が失われると、学習データの保存により多くのメモリが求められたり、学習データの計算に掛かる時間がより長くなったりする。特許文献1~3には、疎である性質を失うことなく、疎行列形式で表される学習データを標準化する方法が記載されていない。
そこで、本発明は、上述した課題を解決する、疎行列形式で表されている学習データを、学習データの疎である性質を保ったまま標準化できる疎行列標準化装置、疎行列標準化方法および疎行列標準化プログラを提供することを目的とする。
本発明による疎行列標準化装置は、標準化の対象行列の列ごとに、列の各成分の値の平均および標準偏差を算出する算出処理をそれぞれ実行する算出部と、対象行列の列ごとに、列の各成分の値をその列を基に算出された標準偏差でそれぞれ除算する第1除算処理をそれぞれ実行する第1除算部と、対象行列の列ごとに、列を基に算出された平均をその列を基に算出された標準偏差で除算する第2除算処理をそれぞれ実行する第2除算部と、複数の第2除算処理でそれぞれ算出された各商を、各商のそれぞれの算出元である対象行列の列順に横に並べることによって行ベクトルを生成する生成部とを備えることを特徴とする。
本発明による疎行列標準化装置は、標準化の対象行列の行ごとに、行の各成分の値の平均および標準偏差を算出する算出処理をそれぞれ実行する算出部と、対象行列の行ごとに、行の各成分の値をその行を基に算出された標準偏差でそれぞれ除算する第1除算処理をそれぞれ実行する第1除算部と、対象行列の行ごとに、行を基に算出された平均をその行を基に算出された標準偏差で除算する第2除算処理をそれぞれ実行する第2除算部と、複数の第2除算処理でそれぞれ算出された各商を、各商のそれぞれの算出元である対象行列の行順に縦に並べることによって列ベクトルを生成する生成部とを備えることを特徴とする。
本発明による疎行列標準化装置は、標準化の対象行列の列ごとに、列の各成分の値の平均を算出する算出処理をそれぞれ実行する算出部と、複数の算出処理でそれぞれ算出された各平均を、各平均のそれぞれの算出元である対象行列の列順に横に並べることによって行ベクトルを生成する生成部とを備えることを特徴とする。
本発明による疎行列標準化方法は、標準化の対象行列の列ごとに、列の各成分の値の平均および標準偏差を算出する算出処理をそれぞれ実行し、対象行列の列ごとに、列の各成分の値をその列を基に算出された標準偏差でそれぞれ除算する第1除算処理をそれぞれ実行し、対象行列の列ごとに、列を基に算出された平均をその列を基に算出された標準偏差で除算する第2除算処理をそれぞれ実行し、複数の第2除算処理でそれぞれ算出された各商を、各商のそれぞれの算出元である対象行列の列順に横に並べることによって行ベクトルを生成することを特徴とする。
本発明による疎行列標準化プログラムは、コンピュータに、標準化の対象行列の列ごとに、列の各成分の値の平均および標準偏差を算出する処理をそれぞれ実行する算出処理、対象行列の列ごとに、列の各成分の値をその列を基に算出された標準偏差でそれぞれ除算する処理をそれぞれ実行する第1除算処理、対象行列の列ごとに、列を基に算出された平均をその列を基に算出された標準偏差で除算する処理をそれぞれ実行する第2除算処理、および第2除算処理で算出された各商を、各商のそれぞれの算出元である対象行列の列順に横に並べることによって行ベクトルを生成する生成処理を実行させることを特徴とする。
本発明によれば、疎行列形式で表されている学習データを、学習データの疎である性質を保ったまま標準化できる。
本発明による疎行列標準化装置の第1の実施形態の構成例を示すブロック図である。 標準化部110による疎行列の標準化の例を示す説明図である。 演算部140による標準化された疎行列に対する演算の例を示す説明図である。 演算部140による標準化された疎行列に対する他の演算の例を示す説明図である。 第1の実施形態の疎行列標準化装置100による標準化処理の動作を示すフローチャートである。 第1の実施形態の疎行列標準化装置100による乗算処理の動作を示すフローチャートである。 本発明による疎行列標準化装置100のハードウェア構成例を示す説明図である。 本発明による疎行列標準化装置の概要を示すブロック図である。 本発明によるデータ構造の概要を示すブロック図である。 本発明によるデータ構造の他の概要を示すブロック図である。 行列形式で表された学習データに対する標準化の例を示す説明図である。 疎行列形式で表された学習データの例を示す説明図である。 疎行列形式で表された学習データの他の例を示す説明図である。 疎行列フォーマットの例を示す説明図である。 疎行列の標準化の例を示す説明図である。
実施形態1.
[構成の説明]
以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明による疎行列標準化装置の第1の実施形態の構成例を示すブロック図である。
本実施形態の疎行列標準化装置100は、疎行列形式で表されている学習データが標準化されても疎である性質が失われないように、標準化において新たなフォーマットの疎行列とベクトルを追加する。
図1に示すように、本実施形態の疎行列標準化装置100は、標準化部110と、疎行列保存部120と、平均ベクトル保存部130と、演算部140とを備える。
標準化部110は、疎行列形式で表されている学習データを標準化する機能を有する。図2は、標準化部110による疎行列の標準化の例を示す説明図である。
図2に示す行列Aは、図15(b)に示す疎行列が一般的に標準化された行列である。図2に示すように、行列Aは、密行列である行列Bと、疎行列である行列Cとに分離可能である。換言すると、行列Aは、行列Bと行列Cとの和とみなされる。
行列Bの各列の成分の値は、一般的な標準化で疎行列の各列の零の成分から減算されたμ/σの負の値である。例えば、行列Bの0列目の各成分の値は、上記で計算された「-0.61 」である。
また、行列Cの各列の成分の値は、対応する行列Aの各列の成分の値と、対応する行列Bの各列の成分の値の差である。例えば、行列Cの0列目の各成分の値「0.35」、「0」、「2.09」、「0」は、行列Aの0列目の各成分の値「-0.26 」、「-0.61 」、「1.48」、「-0.61 」それぞれと、行列Bの0列目の各成分の値「-0.61 」との差である。
すなわち、行列Cの成分の値y は、行列Aの対応する成分の値z 、および行列Aが標準化される前の行列の対応する成分の値x を用いて、以下のように求められる。
y = z - (- μ/σ) = (x - μ)/σ + μ/σ = x/σ ・・・式(2)
よって、標準化部110は、行列Aが標準化される前の疎行列の各列の成分の値を、列ごとに求められた各標準偏差でそれぞれ除算することによって、行列Cを生成できる。
また、行列Bは、図2に示す行ベクトルDに変換可能である。その理由は、図2に示すように、行列Bの各行の成分の値は、全行で同じである。すなわち、行列Bのいずれか1行のみが保存されることが、行列Bが保存されることに相当するからである。
よって、標準化部110は、行列Bのいずれか1行に相当する行ベクトルDを生成する。以下、行ベクトルDを平均ベクトルとも呼ぶ。本実施形態において疎行列が標準化された行列Aは、行列Cと行ベクトルDとで構成されている。
以上の処理をまとめると、疎行列の標準化にあたって標準化部110は、標準化の対象行列の列ごとに、列の各成分の値の平均および標準偏差を算出する算出処理をそれぞれ実行する。次いで、標準化部110は、対象行列の列ごとに、列の各成分の値をその列を基に算出された標準偏差でそれぞれ除算する第1除算処理をそれぞれ実行する。
次いで、標準化部110は、対象行列の列ごとに、列を基に算出された平均をその列を基に算出された標準偏差で除算する第2除算処理をそれぞれ実行する。次いで、標準化部110は、複数の第2除算処理でそれぞれ算出された各商に-1を乗じた各値を、各商のそれぞれの算出元である対象行列の列順に横に並べることによって行ベクトルを生成する。
なお、標準化部110は、複数の第2除算処理でそれぞれ算出された各商を、各商のそれぞれの算出元である対象行列の列順に横に並べることによって行ベクトルを生成してもよい。
疎行列保存部120は、生成された疎行列である行列Cを保存する機能を有する。また、平均ベクトル保存部130は、生成された平均ベクトルである行ベクトルDを保存する機能を有する。なお、疎行列保存部120が保存する行列Cのフォーマット、および平均ベクトル保存部130が保存する行ベクトルDのフォーマットは、どちらも特に限定されない。
上記のように、標準化部110は、上述した複数の第1除算処理がそれぞれ実行されることによって生成された行列と生成された行ベクトルとで構成されるデータを、対象行列が標準化されたデータである標準化データとしている。標準化部110は、標準化データを疎行列保存部120および平均ベクトル保存部130に格納する。
演算部140は、疎行列に対する演算を行う機能を有する。上述したように、疎行列に対する演算は、基本的にベクトルとの乗算である。学習アルゴリズムにおいても、基本的に疎行列とベクトルとの乗算が利用されている。
例えば、標準化された疎行列とベクトルとの積を求める要求が、疎行列標準化装置100に入力された場合を考える。図3は、演算部140による標準化された疎行列に対する演算の例を示す説明図である。
図3(a)は、疎行列が標準化された行列Aと列ベクトルEとの乗算を示す。図2を踏まえると、行列Aと列ベクトルEとの乗算は、行列Bと列ベクトルEとの乗算と、行列Cと列ベクトルEとの乗算とに分離可能である。
図3(b)は、行列Bと列ベクトルEとの乗算を示す。また、図3(c)は、行列Cと列ベクトルEとの乗算、すなわち疎行列とベクトルとの乗算を示す。なお、行列Cと列ベクトルEとの積は、4行1列の行列(列ベクトル)である。
さらに、図2を踏まえると、行列Bと列ベクトルEとの乗算は、行ベクトルDと列ベクトルEとの乗算に変換可能である。図3(d)は、行ベクトルDと列ベクトルEとの乗算を示す。図3(d)に示すように、行ベクトルDと列ベクトルEとの積(ドット積)は、1つのスカラ値Sになる。
よって、演算部140は、入力された要求が示す標準化された疎行列とベクトルとの乗算を、図3に示すように変換する。具体的には、行列Aと列ベクトルEとの積を求める要求が入力されたら、演算部140は、最初に行列Cと列ベクトルEとの積、および行ベクトルDと列ベクトルEとの積をそれぞれ求める。
次いで、演算部140は、行ベクトルDと列ベクトルEとの積であるスカラ値Sを、行列Cと列ベクトルEとの積である列ベクトルの各成分の値にそれぞれ加算する。各成分の値それぞれにスカラ値Sが加算された列ベクトルが、求められた行列Aと列ベクトルEとの積である。
なお、標準化された疎行列と密行列との積を求める場合、演算部140は、図3(d)に示すスカラ値を図3(c)に示す乗算の積である列ベクトルの各成分の値に加算することによって新たな列ベクトルを算出する処理を、密行列を構成する各列ベクトルに渡って繰り返し実行する。疎行列と密行列との積である行列は、疎行列と列ベクトルとの積である列ベクトルの集合と考えられるからである。
以上の処理をまとめると、標準化された疎行列と第1の列ベクトルとの積を計算する演算部140は、標準化された疎行列を構成する行列と第1の列ベクトルとの積である第2の列ベクトルを計算し、標準化された疎行列を構成する行ベクトルと第1の列ベクトルとの積であるスカラ値を計算する。
次いで、演算部140は、計算された第2の列ベクトルの各成分の値に計算されたスカラ値をそれぞれ加算し、各成分の値にスカラ値がそれぞれ加算された第2の列ベクトルを、標準化された疎行列と第1の列ベクトルとの積として出力する。
なお、各商がそれぞれの算出元である対象行列の列順に横に並べられることによって行ベクトルが生成される場合、演算部140は、計算された第2の列ベクトルの各成分の値から計算されたスカラ値をそれぞれ減算する。演算部140は、各成分の値からスカラ値がそれぞれ減算された第2の列ベクトルを、標準化データと第1の列ベクトルとの積として出力する。
以上のように、平均ベクトルが別のデータとして保存されれば、疎行列としての性質が失われることなく、疎行列が標準化される。
なお、本実施形態では、疎行列の各列が標準化の単位である例を説明した。しかし、標準化の単位は、疎行列の各行でもよい。
疎行列の各行が単位である標準化が行われた場合であっても、標準化部110は、図2に示す例と同様に疎行列と平均ベクトルとを生成できる。なお、疎行列の各行が標準化の単位である場合、標準化部110は、平均ベクトルとして行ベクトルではなく、列ベクトルを生成する。
また、疎行列は、転置されて用いられることも多い。転置された疎行列の各列が単位である標準化が行われる場合、標準化部110は、疎行列の各行が標準化の単位である場合と同様に、平均ベクトルとして列ベクトルを生成する。
図4は、演算部140による標準化された疎行列に対する他の演算の例を示す説明図である。図4(a)に示す行列Bと列ベクトルFとの乗算は、標準化された行列Aの転置行列である行列Aと列ベクトルFとの積が求められる場合の図3(b)に示す乗算に対応する。すなわち、図3(b)に示す乗算で用いられている行列Bが、図4(a)に示すように転置行列である行列Bに変換される。
また、図4(a)に示す行列Bと列ベクトルFとの乗算は、図4(b)に示す列ベクトルとスカラ値との乗算に変換可能である。図4(b)に示す列ベクトルとスカラ値との乗算は、行列Aと列ベクトルFとの積が求められる場合の図3(d)に示す乗算に対応する。
例えば、行列Bの1行目と列ベクトルFとのドット積は、列ベクトルFの各成分の値の総和(Σfi)と-0.61 との積になる。行列Bの他の行と列ベクトルFとのドット積も、同様に求められる。
演算部140は、図4(b)に示す乗算の積である列ベクトルと、標準化部110が生成した疎行列Cと列ベクトルFとの積である列ベクトルとを加算する。2つの列ベクトルの和が、求められた行列Aと列ベクトルFとの積である。
なお、標準化部110が生成した疎行列Cの構成は、入力された疎行列を行ごとに標準化するときに標準化部110が生成する疎行列の構成と同様である。
本実施形態の変形例として、標準化部110は、標準化対象の疎行列の各成分を何ら変換しない場合が考えられる。標準化部110は、標準化対象の疎行列の列ごとに、列の各成分の値の平均を算出する算出処理をそれぞれ実行する。
次いで、標準化部110は、複数の算出処理でそれぞれ算出された各平均を、各平均のそれぞれの算出元である標準化対象の疎行列の列順に横に並べることによって行ベクトルを生成する。
上記の変形例の場合、標準化部110は、標準化対象の行列と生成された行ベクトルとで構成されるデータを、対象行列が標準化されたデータである標準化データとする。標準化部110は、標準化データを疎行列保存部120および平均ベクトル保存部130に格納する。疎行列の各行が標準化の単位である場合も、標準化部110は、同様の処理を行う。
[動作の説明]
以下、本実施形態の疎行列標準化装置100の疎行列に対する標準化を実行する動作を図5を参照して説明する。図5は、第1の実施形態の疎行列標準化装置100による標準化処理の動作を示すフローチャートである。
最初に、疎行列標準化装置100に、標準化対象の疎行列が入力される(ステップS101)。標準化対象の疎行列は、標準化部110に入力される。
次いで、標準化部110は、入力された疎行列の任意の1つの列の各成分の値の平均および標準偏差をそれぞれ算出する。標準化部110は、平均および標準偏差を算出する処理を、疎行列の全ての列に渡って行う(ステップS102)。
次いで、標準化部110は、入力された疎行列の任意の1つの列の各成分の値を、ステップS102でその各成分の値を基に算出された標準偏差でそれぞれ除算する。標準化部110は、列の各成分の値を標準偏差で除算する処理を、疎行列の全ての列に渡って行う(ステップS103)。
ステップS103の処理が実行されることによって、新たな疎行列(例えば、疎行列C)が生成される。標準化部110は、生成された疎行列を疎行列保存部120に保存する(ステップS104)。
ステップS103の処理と独立に、標準化部110は、入力された疎行列の任意の1つの列を基にステップS102で算出された平均を、その任意の1つの列を基にステップS102で算出された標準偏差で除算する。標準化部110は、平均を標準偏差で除算する処理を、疎行列の全ての列に渡って行う(ステップS105)。
次いで、標準化部110は、ステップS105で求められた各平均が各標準偏差でそれぞれ除算された結果である各商の負の値を、各商のそれぞれの算出元である疎行列の各列順に横に並べる(ステップS106)。
ステップS106の処理が実行されることによって、新たな平均ベクトル(例えば、行ベクトルD)が生成される。標準化部110は、生成された平均ベクトルを平均ベクトル保存部130に保存する(ステップS107)。
平均ベクトルを保存した後、疎行列標準化装置100は、標準化処理を終了する。本処理で標準化された疎行列は、ステップS103で生成された疎行列と、ステップS106で生成された平均ベクトルとで構成されている。
次に、本実施形態の疎行列標準化装置100の標準化された疎行列とベクトルとの乗算処理を実行する動作を図6を参照して説明する。図6は、第1の実施形態の疎行列標準化装置100による乗算処理の動作を示すフローチャートである。
最初に、疎行列標準化装置100に、標準化された疎行列に乗算される列ベクトルが入力される(ステップS201)。乗算される列ベクトルは、演算部140に入力される。
次いで、演算部140は、標準化された疎行列を構成する、疎行列保存部120に保存されている疎行列に入力された列ベクトルを乗算する(ステップS202)。
ステップS202の処理と独立に、演算部140は、標準化された疎行列を構成する、平均ベクトル保存部130に保存されている平均ベクトルに入力された列ベクトルを乗算する(ステップS203)。
次いで、演算部140は、ステップS202で求められた疎行列と列ベクトルとの積である列ベクトルの各成分の値に、ステップS203で求められた平均ベクトル(行ベクトル)と列ベクトルとの積であるスカラ値をそれぞれ加算する(ステップS204)。
次いで、演算部140は、ステップS204で求められた列ベクトルを、標準化された疎行列と入力された列ベクトルとの積として出力する(ステップS205)。出力した後、疎行列標準化装置100は、乗算処理を終了する。
[発明の効果]
本実施形態の疎行列標準化装置100は、疎行列形式で表されている学習データを、学習データの疎である性質を保ったまま標準化できる。
その理由は、標準化部110が、疎行列が標準化された行列から疎行列を分離し、標準化された行列から分離された列ごとに異なる-μ/σが成分の値である行列に基づいた平均ベクトルを生成するためである。
また、演算部140は、疎行列が標準化された行列とベクトルとの乗算を、生成された疎行列とベクトルとの乗算と、生成された平均ベクトルとベクトルとの乗算に変換する。よって、疎行列標準化装置100は、疎行列が標準化された行列とベクトルとの乗算も、学習データの疎である性質を保ったまま実行できる。
以下、本実施形態の疎行列標準化装置100のハードウェア構成の具体例を説明する。図7は、本発明による疎行列標準化装置100のハードウェア構成例を示す説明図である。
図7に示す疎行列標準化装置100は、CPU(Central Processing Unit)101と、主記憶部102と、通信部103と、補助記憶部104とを備える。また、ユーザが操作するための入力部105や、ユーザに処理結果または処理内容の経過を提示するための出力部106を備えてもよい。
疎行列標準化装置100は、図7に示すCPU101が各構成要素が有する機能を提供するプログラムを実行することによって、ソフトウェアにより実現される。
すなわち、CPU101が補助記憶部104に格納されているプログラムを、主記憶部102にロードして実行し、疎行列標準化装置100の動作を制御することによって、各機能がソフトウェアにより実現される。
なお、図7に示す疎行列標準化装置100は、CPU101の代わりにDSP(Digital Signal Processor)を備えてもよい。または、図7に示す疎行列標準化装置100は、CPU101とDSPとを併せて備えてもよい。
主記憶部102は、データの作業領域やデータの一時退避領域として用いられる。主記憶部102は、例えばRAM(Random Access Memory)である。疎行列保存部120、および平均ベクトル保存部130は、主記憶部102で実現されてもよい。
通信部103は、有線のネットワークまたは無線のネットワーク(情報通信ネットワーク)を介して、周辺機器との間でデータを入力および出力する機能を有する。
補助記憶部104は、一時的でない有形の記憶媒体である。一時的でない有形の記憶媒体として、例えば磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、半導体メモリが挙げられる。
入力部105は、データや処理命令を入力する機能を有する。入力部105は、例えばキーボードやマウス等の入力デバイスである。
出力部106は、データを出力する機能を有する。出力部106は、例えば液晶ディスプレイ装置等の表示装置、またはプリンタ等の印刷装置である。
また、図7に示すように、疎行列標準化装置100において、各構成要素は、システムバス107に接続されている。
補助記憶部104は、例えば、標準化部110、および演算部140を実現するためのプログラムを記憶している。
なお、疎行列標準化装置100は、ハードウェアにより実現されてもよい。例えば、疎行列標準化装置100は、内部に図1に示すような機能を実現するLSI(Large Scale Integration)等のハードウェア部品が含まれる回路が実装されてもよい。
また、各構成要素の一部または全部は、汎用の回路(circuitry)または専用の回路、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップ(例えば、上記のLSI)によって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
次に、本発明の概要を説明する。図8は、本発明による疎行列標準化装置の概要を示すブロック図である。本発明による疎行列標準化装置10は、標準化の対象行列の列ごとに、列の各成分の値の平均および標準偏差を算出する算出処理をそれぞれ実行する算出部11(例えば、標準化部110)と、対象行列の列ごとに、列の各成分の値をその列を基に算出された標準偏差でそれぞれ除算する第1除算処理をそれぞれ実行する第1除算部12(例えば、標準化部110)と、対象行列の列ごとに、列を基に算出された平均をその列を基に算出された標準偏差で除算する第2除算処理をそれぞれ実行する第2除算部13(例えば、標準化部110)と、複数の第2除算処理でそれぞれ算出された各商を、各商のそれぞれの算出元である対象行列の列順に横に並べることによって行ベクトルを生成する生成部14(例えば、標準化部110)とを備える。
そのような構成により、疎行列標準化装置は、疎行列形式で表されている学習データを、学習データの疎である性質を保ったまま標準化できる。
また、疎行列標準化装置10は、複数の第1除算処理がそれぞれ実行されることによって生成された行列と生成された行ベクトルとで構成されるデータを、対象行列が標準化されたデータである標準化データとして記憶する記憶部(例えば、疎行列保存部120、および平均ベクトル保存部130)を備えてもよい。
そのような構成により、疎行列標準化装置は、疎行列と行ベクトルとで構成される標準化データを管理できる。
また、疎行列標準化装置10は、標準化データと第1の列ベクトルとの積を計算する計算部(例えば、演算部140)を備え、計算部は、標準化データを構成する行列と第1の列ベクトルとの積である第2の列ベクトルを計算し、標準化データを構成する行ベクトルと第1の列ベクトルとの積であるスカラ値を計算し、計算された第2の列ベクトルの各成分の値から計算されたスカラ値をそれぞれ減算し、各成分の値からスカラ値がそれぞれ減算された第2の列ベクトルを、標準化データと第1の列ベクトルとの積として出力してもよい。
そのような構成により、疎行列標準化装置は、疎である性質を活用して標準化された学習データに対する演算を実行できる。
また、図8に示す疎行列標準化装置10の各構成要素は、以下のように動作してもよい。例えば、算出部11は、標準化の対象行列の行ごとに、行の各成分の値の平均および標準偏差を算出する算出処理をそれぞれ実行する。また、第1除算部12は、対象行列の行ごとに、行の各成分の値をその行を基に算出された標準偏差でそれぞれ除算する第1除算処理をそれぞれ実行する。
また、第2除算部13は、対象行列の行ごとに、行を基に算出された平均をその行を基に算出された標準偏差で除算する第2除算処理をそれぞれ実行する。また、生成部14は、複数の第2除算処理でそれぞれ算出された各商を、各商のそれぞれの算出元である対象行列の行順に縦に並べることによって列ベクトルを生成する。
また、記憶部は、複数の第1除算処理がそれぞれ実行されることによって生成された行列と生成された列ベクトルとで構成されるデータを、対象行列が標準化されたデータである標準化データとして記憶する。
また、計算部は、標準化データを構成する行列と第1の列ベクトルとの積である第2の列ベクトルを計算し、標準化データを構成する列ベクトルの各成分の値に-1が乗じられた各値と第1の列ベクトルの各成分の値の総和との各積が各成分の値である第3の列ベクトルを計算し、計算された第2の列ベクトルと計算された第3の列ベクトルとの和を、標準化データと第1の列ベクトルとの積として出力する。
また、図8に示す疎行列標準化装置10の各構成要素は、以下のように動作してもよい。例えば、算出部11は、標準化の対象行列の列ごとに、列の各成分の値の平均を算出する算出処理をそれぞれ実行する。また、生成部14は、複数の算出処理でそれぞれ算出された各平均を、各平均のそれぞれの算出元である対象行列の列順に横に並べることによって行ベクトルを生成する。
また、図8に示す疎行列標準化装置10の各構成要素は、以下のように動作してもよい。例えば、算出部11は、標準化の対象行列の行ごとに、行の各成分の値の平均を算出する算出処理をそれぞれ実行する。また、生成部14は、複数の算出処理でそれぞれ算出された各平均を、各平均のそれぞれの算出元である対象行列の行順に縦に並べることによって列ベクトルを生成する。
また、図9は、本発明によるデータ構造の概要を示すブロック図である。本発明によるデータ構造は、標準化の対象行列の列ごとに、列の各成分の値の平均および標準偏差を算出する算出処理と、列の各成分の値をその列を基に算出された標準偏差でそれぞれ除算する第1除算処理とがそれぞれ実行されることによって生成された行列と、対象行列の列ごとに、列を基に算出された平均をその列を基に算出された標準偏差で除算する第2除算処理がそれぞれ実行されることによって算出された各商が、各商のそれぞれの算出元である対象行列の列順に横に並べられることによって生成された行ベクトルとを含む。
そのような構成により、データ構造は、疎である性質が保たれたまま標準化された学習データを提供できる。
また、図10は、本発明によるデータ構造の他の概要を示すブロック図である。本発明によるデータ構造は、標準化の対象行列の行ごとに、行の各成分の値の平均および標準偏差を算出する算出処理と、行の各成分の値をその行を基に算出された標準偏差でそれぞれ除算する第1除算処理とがそれぞれ実行されることによって生成された行列と、対象行列の行ごとに、行を基に算出された平均をその行を基に算出された標準偏差で除算する第2除算処理がそれぞれ実行されることによって算出された各商が、各商のそれぞれの算出元である対象行列の行順に縦に並べられることによって生成された列ベクトルとを含む。
そのような構成により、データ構造は、疎である性質が保たれたまま標準化された学習データを提供できる。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
(付記1)標準化の対象行列の列ごとに、列の各成分の値の平均および標準偏差を算出する算出処理をそれぞれ実行する算出部と、前記対象行列の列ごとに、列の各成分の値を当該列を基に算出された標準偏差でそれぞれ除算する第1除算処理をそれぞれ実行する第1除算部と、前記対象行列の列ごとに、列を基に算出された平均を当該列を基に算出された標準偏差で除算する第2除算処理をそれぞれ実行する第2除算部と、複数の第2除算処理でそれぞれ算出された各商を、前記各商のそれぞれの算出元である前記対象行列の列順に横に並べることによって行ベクトルを生成する生成部とを備えることを特徴とする疎行列標準化装置。
(付記2)複数の第1除算処理がそれぞれ実行されることによって生成された行列と生成された行ベクトルとで構成されるデータを、対象行列が標準化されたデータである標準化データとして記憶する記憶部を備える付記1記載の疎行列標準化装置。
(付記3)標準化データと第1の列ベクトルとの積を計算する計算部を備え、前記計算部は、前記標準化データを構成する行列と前記第1の列ベクトルとの積である第2の列ベクトルを計算し、前記標準化データを構成する行ベクトルと前記第1の列ベクトルとの積であるスカラ値を計算し、計算された第2の列ベクトルの各成分の値から計算されたスカラ値をそれぞれ減算し、前記各成分の値から前記スカラ値がそれぞれ減算された第2の列ベクトルを、前記標準化データと前記第1の列ベクトルとの積として出力する付記2記載の疎行列標準化装置。
(付記4)標準化の対象行列の行ごとに、行の各成分の値の平均および標準偏差を算出する算出処理をそれぞれ実行する算出部と、前記対象行列の行ごとに、行の各成分の値を当該行を基に算出された標準偏差でそれぞれ除算する第1除算処理をそれぞれ実行する第1除算部と、前記対象行列の行ごとに、行を基に算出された平均を当該行を基に算出された標準偏差で除算する第2除算処理をそれぞれ実行する第2除算部と、複数の第2除算処理でそれぞれ算出された各商を、前記各商のそれぞれの算出元である前記対象行列の行順に縦に並べることによって列ベクトルを生成する生成部とを備えることを特徴とする疎行列標準化装置。
(付記5)複数の第1除算処理がそれぞれ実行されることによって生成された行列と生成された列ベクトルとで構成されるデータを、対象行列が標準化されたデータである標準化データとして記憶する記憶部を備える付記4記載の疎行列標準化装置。
(付記6)標準化データと第1の列ベクトルとの積を計算する計算部を備え、前記計算部は、前記標準化データを構成する行列と前記第1の列ベクトルとの積である第2の列ベクトルを計算し、前記標準化データを構成する列ベクトルの各成分の値に-1が乗じられた各値と前記第1の列ベクトルの各成分の値の総和との各積が各成分の値である第3の列ベクトルを計算し、計算された第2の列ベクトルと計算された第3の列ベクトルとの和を、前記標準化データと前記第1の列ベクトルとの積として出力する付記5記載の疎行列標準化装置。
(付記7)標準化の対象行列の列ごとに、列の各成分の値の平均を算出する算出処理をそれぞれ実行する算出部と、複数の算出処理でそれぞれ算出された各平均を、前記各平均のそれぞれの算出元である前記対象行列の列順に横に並べることによって行ベクトルを生成する生成部とを備えることを特徴とする疎行列標準化装置。
(付記8)標準化の対象行列の行ごとに、行の各成分の値の平均を算出する算出処理をそれぞれ実行する算出部と、複数の算出処理でそれぞれ算出された各平均を、前記各平均のそれぞれの算出元である前記対象行列の行順に縦に並べることによって列ベクトルを生成する生成部とを備えることを特徴とする疎行列標準化装置。
(付記9)標準化の対象行列の列ごとに、列の各成分の値の平均および標準偏差を算出する算出処理をそれぞれ実行し、前記対象行列の列ごとに、列の各成分の値を当該列を基に算出された標準偏差でそれぞれ除算する第1除算処理をそれぞれ実行し、前記対象行列の列ごとに、列を基に算出された平均を当該列を基に算出された標準偏差で除算する第2除算処理をそれぞれ実行し、複数の第2除算処理でそれぞれ算出された各商を、前記各商のそれぞれの算出元である前記対象行列の列順に横に並べることによって行ベクトルを生成することを特徴とする疎行列標準化方法。
(付記10)複数の第1除算処理がそれぞれ実行されることによって生成された行列と生成された行ベクトルとで構成されるデータを、対象行列が標準化されたデータである標準化データとして記憶部に格納する付記9記載の疎行列標準化方法。
(付記11)標準化データを構成する行列と第1の列ベクトルとの積である第2の列ベクトルを計算し、前記標準化データを構成する行ベクトルと前記第1の列ベクトルとの積であるスカラ値を計算し、計算された第2の列ベクトルの各成分の値から計算されたスカラ値をそれぞれ減算し、前記各成分の値から前記スカラ値がそれぞれ減算された第2の列ベクトルを、前記標準化データと前記第1の列ベクトルとの積として出力する付記10記載の疎行列標準化方法。
(付記12)標準化の対象行列の行ごとに、行の各成分の値の平均および標準偏差を算出する算出処理をそれぞれ実行し、前記対象行列の行ごとに、行の各成分の値を当該行を基に算出された標準偏差でそれぞれ除算する第1除算処理をそれぞれ実行し、前記対象行列の行ごとに、行を基に算出された平均を当該行を基に算出された標準偏差で除算する第2除算処理をそれぞれ実行し、複数の第2除算処理でそれぞれ算出された各商を、前記各商のそれぞれの算出元である前記対象行列の行順に縦に並べることによって列ベクトルを生成することを特徴とする疎行列標準化方法。
(付記13)複数の第1除算処理がそれぞれ実行されることによって生成された行列と生成された列ベクトルとで構成されるデータを、対象行列が標準化されたデータである標準化データとして記憶部に格納する付記12記載の疎行列標準化方法。
(付記14)標準化データを構成する行列と第1の列ベクトルとの積である第2の列ベクトルを計算し、前記標準化データを構成する列ベクトルの各成分の値に-1が乗じられた各値と前記第1の列ベクトルの各成分の値の総和との各積が各成分の値である第3の列ベクトルを計算し、計算された第2の列ベクトルと計算された第3の列ベクトルとの和を、前記標準化データと前記第1の列ベクトルとの積として出力する付記13記載の疎行列標準化方法。
(付記15)コンピュータに、標準化の対象行列の列ごとに、列の各成分の値の平均および標準偏差を算出する処理をそれぞれ実行する算出処理、前記対象行列の列ごとに、列の各成分の値を当該列を基に算出された標準偏差でそれぞれ除算する処理をそれぞれ実行する第1除算処理、前記対象行列の列ごとに、列を基に算出された平均を当該列を基に算出された標準偏差で除算する処理をそれぞれ実行する第2除算処理、および前記第2除算処理で算出された各商を、前記各商のそれぞれの算出元である前記対象行列の列順に横に並べることによって行ベクトルを生成する生成処理を実行させるための疎行列標準化プログラム。
(付記16)コンピュータに、第1除算処理が実行されることによって生成された行列と生成された行ベクトルとで構成されるデータを、対象行列が標準化されたデータである標準化データとして記憶部に格納する格納処理を実行させる付記15記載の疎行列標準化プログラム。
(付記17)コンピュータに、標準化データを構成する行列と第1の列ベクトルとの積である第2の列ベクトルを計算する第1計算処理、前記標準化データを構成する行ベクトルと前記第1の列ベクトルとの積であるスカラ値を計算する第2計算処理、前記第1計算処理で計算された第2の列ベクトルの各成分の値から前記第2計算処理で計算されたスカラ値をそれぞれ減算する減算処理、および前記減算処理で生成された列ベクトルを、前記標準化データと前記第1の列ベクトルとの積として出力する出力処理を実行させる付記16記載の疎行列標準化プログラム。
(付記18)コンピュータに、標準化の対象行列の行ごとに、行の各成分の値の平均および標準偏差を算出する処理をそれぞれ実行する算出処理、前記対象行列の行ごとに、行の各成分の値を当該行を基に算出された標準偏差でそれぞれ除算する処理をそれぞれ実行する第1除算処理、前記対象行列の行ごとに、行を基に算出された平均を当該行を基に算出された標準偏差で除算する処理をそれぞれ実行する第2除算処理、および前記第2除算処理で算出された各商を、前記各商のそれぞれの算出元である前記対象行列の行順に縦に並べることによって列ベクトルを生成する生成処理を実行させるための疎行列標準化プログラム。
(付記19)コンピュータに、第1除算処理が実行されることによって生成された行列と生成された列ベクトルとで構成されるデータを、対象行列が標準化されたデータである標準化データとして記憶部に格納する格納処理を実行させる付記18記載の疎行列標準化プログラム。
(付記20)コンピュータに、標準化データを構成する行列と第1の列ベクトルとの積である第2の列ベクトルを計算する第1計算処理、前記標準化データを構成する列ベクトルの各成分の値に-1が乗じられた各値と前記第1の列ベクトルの各成分の値の総和との各積が各成分の値である第3の列ベクトルを計算する第2計算処理、および前記第1計算処理で計算された第2の列ベクトルと前記第2計算処理で計算された第3の列ベクトルとの和を、前記標準化データと前記第1の列ベクトルとの積として出力する出力処理を実行させる付記19記載の疎行列標準化プログラム。
(付記21)標準化の対象行列の列ごとに、列の各成分の値の平均および標準偏差を算出する算出処理と、列の各成分の値を当該列を基に算出された標準偏差でそれぞれ除算する第1除算処理とがそれぞれ実行されることによって生成された行列と、前記対象行列の列ごとに、列を基に算出された平均を当該列を基に算出された標準偏差で除算する第2除算処理がそれぞれ実行されることによって算出された各商が、前記各商のそれぞれの算出元である前記対象行列の列順に横に並べられることによって生成された行ベクトルとを含むことを特徴とするデータ構造。
(付記22)標準化の対象行列の行ごとに、行の各成分の値の平均および標準偏差を算出する算出処理と、行の各成分の値を当該行を基に算出された標準偏差でそれぞれ除算する第1除算処理とがそれぞれ実行されることによって生成された行列と、前記対象行列の行ごとに、行を基に算出された平均を当該行を基に算出された標準偏差で除算する第2除算処理がそれぞれ実行されることによって算出された各商が、前記各商のそれぞれの算出元である前記対象行列の行順に縦に並べられることによって生成された列ベクトルとを含むことを特徴とするデータ構造。
10、100 疎行列標準化装置
11 算出部
12 第1除算部
13 第2除算部
14 生成部
101 CPU
102 主記憶部
103 通信部
104 補助記憶部
105 入力部
106 出力部
107 システムバス
110 標準化部
120 疎行列保存部
130 平均ベクトル保存部
140 演算部

Claims (10)

  1. 標準化の対象行列の列ごとに、列の各成分の値の平均および標準偏差を算出する算出処理をそれぞれ実行する算出部と、
    前記対象行列の列ごとに、列の各成分の値を当該列を基に算出された標準偏差でそれぞれ除算する第1除算処理をそれぞれ実行する第1除算部と、
    前記対象行列の列ごとに、列を基に算出された平均を当該列を基に算出された標準偏差で除算する第2除算処理をそれぞれ実行する第2除算部と、
    複数の第2除算処理でそれぞれ算出された各商を、前記各商のそれぞれの算出元である前記対象行列の列順に横に並べることによって行ベクトルを生成する生成部とを備える
    ことを特徴とする疎行列標準化装置。
  2. 複数の第1除算処理がそれぞれ実行されることによって生成された行列と生成された行ベクトルとで構成されるデータを、対象行列が標準化されたデータである標準化データとして記憶する記憶部を備える
    請求項1記載の疎行列標準化装置。
  3. 標準化データと第1の列ベクトルとの積を計算する計算部を備え、
    前記計算部は、
    前記標準化データを構成する行列と前記第1の列ベクトルとの積である第2の列ベクトルを計算し、
    前記標準化データを構成する行ベクトルと前記第1の列ベクトルとの積であるスカラ値を計算し、
    計算された第2の列ベクトルの各成分の値から計算されたスカラ値をそれぞれ減算し、
    前記各成分の値から前記スカラ値がそれぞれ減算された第2の列ベクトルを、前記標準化データと前記第1の列ベクトルとの積として出力する
    請求項2記載の疎行列標準化装置。
  4. 標準化の対象行列の行ごとに、行の各成分の値の平均および標準偏差を算出する算出処理をそれぞれ実行する算出部と、
    前記対象行列の行ごとに、行の各成分の値を当該行を基に算出された標準偏差でそれぞれ除算する第1除算処理をそれぞれ実行する第1除算部と、
    前記対象行列の行ごとに、行を基に算出された平均を当該行を基に算出された標準偏差で除算する第2除算処理をそれぞれ実行する第2除算部と、
    複数の第2除算処理でそれぞれ算出された各商を、前記各商のそれぞれの算出元である前記対象行列の行順に縦に並べることによって列ベクトルを生成する生成部とを備える
    ことを特徴とする疎行列標準化装置。
  5. 複数の第1除算処理がそれぞれ実行されることによって生成された行列と生成された列ベクトルとで構成されるデータを、対象行列が標準化されたデータである標準化データとして記憶する記憶部を備える
    請求項4記載の疎行列標準化装置。
  6. 標準化データと第1の列ベクトルとの積を計算する計算部を備え、
    前記計算部は、
    前記標準化データを構成する行列と前記第1の列ベクトルとの積である第2の列ベクトルを計算し、
    前記標準化データを構成する列ベクトルの各成分の値に-1が乗じられた各値と前記第1の列ベクトルの各成分の値の総和との各積が各成分の値である第3の列ベクトルを計算し、
    計算された第2の列ベクトルと計算された第3の列ベクトルとの和を、前記標準化データと前記第1の列ベクトルとの積として出力する
    請求項5記載の疎行列標準化装置。
  7. 標準化の対象行列の列ごとに、列の各成分の値の平均を算出する算出処理をそれぞれ実行する算出部と、
    複数の算出処理でそれぞれ算出された各平均を、前記各平均のそれぞれの算出元である前記対象行列の列順に横に並べることによって行ベクトルを生成する生成部とを備える
    ことを特徴とする疎行列標準化装置。
  8. 標準化の対象行列の列ごとに、列の各成分の値の平均および標準偏差を算出する算出処理をそれぞれ実行し、
    前記対象行列の列ごとに、列の各成分の値を当該列を基に算出された標準偏差でそれぞれ除算する第1除算処理をそれぞれ実行し、
    前記対象行列の列ごとに、列を基に算出された平均を当該列を基に算出された標準偏差で除算する第2除算処理をそれぞれ実行し、
    複数の第2除算処理でそれぞれ算出された各商を、前記各商のそれぞれの算出元である前記対象行列の列順に横に並べることによって行ベクトルを生成する
    ことを特徴とする疎行列標準化方法。
  9. 複数の第1除算処理がそれぞれ実行されることによって生成された行列と生成された行ベクトルとで構成されるデータを、対象行列が標準化されたデータである標準化データとして記憶部に格納する
    請求項8記載の疎行列標準化方法。
  10. コンピュータに、
    標準化の対象行列の列ごとに、列の各成分の値の平均および標準偏差を算出する処理をそれぞれ実行する算出処理、
    前記対象行列の列ごとに、列の各成分の値を当該列を基に算出された標準偏差でそれぞれ除算する処理をそれぞれ実行する第1除算処理、
    前記対象行列の列ごとに、列を基に算出された平均を当該列を基に算出された標準偏差で除算する処理をそれぞれ実行する第2除算処理、および
    前記第2除算処理で算出された各商を、前記各商のそれぞれの算出元である前記対象行列の列順に横に並べることによって行ベクトルを生成する生成処理
    を実行させるための疎行列標準化プログラム。
JP2020558734A 2018-12-05 2018-12-05 疎行列標準化装置、疎行列標準化方法および疎行列標準化プログラム Active JP7230925B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/044765 WO2020115844A1 (ja) 2018-12-05 2018-12-05 疎行列標準化装置、疎行列標準化方法、疎行列標準化プログラムおよびデータ構造

Publications (2)

Publication Number Publication Date
JPWO2020115844A1 JPWO2020115844A1 (ja) 2021-10-07
JP7230925B2 true JP7230925B2 (ja) 2023-03-01

Family

ID=70973825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020558734A Active JP7230925B2 (ja) 2018-12-05 2018-12-05 疎行列標準化装置、疎行列標準化方法および疎行列標準化プログラム

Country Status (3)

Country Link
US (1) US20220050886A1 (ja)
JP (1) JP7230925B2 (ja)
WO (1) WO2020115844A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010078467A (ja) 2008-09-26 2010-04-08 Internatl Business Mach Corp <Ibm> 時系列データ解析システム、方法及びプログラム
JP2011175540A (ja) 2010-02-25 2011-09-08 Fuji Electric Co Ltd 予測・診断モデルの構築装置
JP2016062258A (ja) 2014-09-17 2016-04-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 検出装置、検出方法、およびプログラム
JP2018037020A (ja) 2016-09-02 2018-03-08 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010078467A (ja) 2008-09-26 2010-04-08 Internatl Business Mach Corp <Ibm> 時系列データ解析システム、方法及びプログラム
JP2011175540A (ja) 2010-02-25 2011-09-08 Fuji Electric Co Ltd 予測・診断モデルの構築装置
JP2016062258A (ja) 2014-09-17 2016-04-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 検出装置、検出方法、およびプログラム
JP2018037020A (ja) 2016-09-02 2018-03-08 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム

Also Published As

Publication number Publication date
WO2020115844A1 (ja) 2020-06-11
JPWO2020115844A1 (ja) 2021-10-07
US20220050886A1 (en) 2022-02-17

Similar Documents

Publication Publication Date Title
CN108710613B (zh) 文本相似度的获取方法、终端设备及介质
Jeannerod et al. On relative errors of floating-point operations: optimal bounds and applications
Hernández‐Esparza et al. Grid‐based algorithm to search critical points, in the electron density, accelerated by graphics processing units
Glavan et al. Backreaction of a massless minimally coupled scalar field from inflationary quantum fluctuations
Anzt et al. Accelerating the LOBPCG method on GPUs using a blocked sparse matrix vector product.
US11080480B2 (en) Matrix generation program, matrix generation apparatus, and plagiarism detection program
Huchette et al. Parallel algebraic modeling for stochastic optimization
CN111695671A (zh) 训练神经网络的方法及装置、电子设备
Shi et al. Sublinear time numerical linear algebra for structured matrices
Kargin A concentration inequality and a local law for the sum of two random matrices
Chikitkin et al. Numerical solution of the Boltzmann equation with S-model collision integral using tensor decompositions
JP7230925B2 (ja) 疎行列標準化装置、疎行列標準化方法および疎行列標準化プログラム
US20230289401A1 (en) Solution accuracy guaranteeing annealing calculation device, method, and program
Li et al. svt: Singular value thresholding in MATLAB
Al Daas et al. Enlarged GMRES for solving linear systems with one or multiple right-hand sides
WO2020035997A1 (ja) テンソルデータ計算装置、テンソルデータ計算方法及びプログラム
Jiang et al. Accurate, validated and fast evaluation of elementary symmetric functions and its application
RADMANOVIĆ et al. Efficient computation of Galois field expressions on hybrid CPU-GPU platforms.
Bergamaschi et al. Parallel matrix-free polynomial preconditioners with application to flow simulations in discrete fracture networks
Tolliver et al. A comparative analysis of half precision floating point representations in macs for deep learning
US20230237322A1 (en) Grouped convolution processing definition changing device, grouped convolution processing definition changing method, and grouped convolution processing definition changing program
Isupov et al. Computing the Sparse Matrix-Vector Product in High-Precision Arithmetic for GPU Architectures
Yu et al. Testing Kronecker product covariance matrices for high-dimensional matrix-variate data
Vooturi et al. Parallel algorithm for quasi-band matrix-matrix multiplication
Ballard et al. Accelerating neural network training using arbitrary precision approximating matrix multiplication algorithms

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210524

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220920

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230130

R151 Written notification of patent or utility model registration

Ref document number: 7230925

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151