JP2021111097A - ノイズ推定方法、ノイズ推定プログラム及びノイズ推定装置 - Google Patents

ノイズ推定方法、ノイズ推定プログラム及びノイズ推定装置 Download PDF

Info

Publication number
JP2021111097A
JP2021111097A JP2020002232A JP2020002232A JP2021111097A JP 2021111097 A JP2021111097 A JP 2021111097A JP 2020002232 A JP2020002232 A JP 2020002232A JP 2020002232 A JP2020002232 A JP 2020002232A JP 2021111097 A JP2021111097 A JP 2021111097A
Authority
JP
Japan
Prior art keywords
matrix
noise
elements
unit
binary
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.)
Pending
Application number
JP2020002232A
Other languages
English (en)
Inventor
眞喜子 此島
Makiko Konoshima
眞喜子 此島
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020002232A priority Critical patent/JP2021111097A/ja
Priority to EP20205603.2A priority patent/EP3848827A1/en
Priority to US17/093,686 priority patent/US11507476B2/en
Priority to CN202011330924.XA priority patent/CN113112414A/zh
Publication of JP2021111097A publication Critical patent/JP2021111097A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1654Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • 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/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (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)

Abstract

【課題】二値の行列を精度良く分解すること。【解決手段】分解部13は、要素の値が二値で表される第1の行列を係数行列と基底行列に分解する。推定部14は、係数行列と基底行列を合成した第2の行列を、第1の行列と比較した結果を基に、第1の行列の要素のうちノイズを含む要素を推定する。さらに、除去部15は推定された誤差を二値行列から除去する。分析部17は、ノイズが除去された二値行列を基にデータを分析する。【選択図】図4

Description

本発明は、ノイズ推定方法、ノイズ推定プログラム及びノイズ推定装置に関する。
従来、行列を分解する手法が知られている。例えば、収集したデータから生成された行列を、係数行列と基底行列に分解することで、当該データに関する所定のカテゴリごとのパターンを分析することができる。
特表2013−526237号公報 特開2017−207577号公報
Z.Zhang and T.Li, et.al. "Binary matrix factorization with applications", In ICDM,2007
しかしながら、上記の技術では、二値の行列を精度良く分解することが困難な場合があるという問題がある。
例えば、顧客の商品の購入パターンの分析を目的として、顧客ごとの各商品を購入したか否かの履歴が二値の行列で表される場合がある。また、多肢選択式のアンケートへの回答のような離散値は、二値に変換される場合がある。
ここで、実数の連続値の行列を分解する手法として特異値分解が知られている。また、上記のような二値の行列について分析を行う場合、二値をいったん連続値として扱って特異値分解を行い、貪欲法で二値に戻すという手法がある。しかし、この手法では二値の行列に含まれるノイズを推定することが難しい。
1つの側面では、二値の行列の各要素に含まれるノイズを推定することを目的とする。
1つの態様において、ノイズ推定方法は、コンピュータが、要素の値が二値で表される第1の行列を係数行列と基底行列に分解する。また、ノイズ推定方法は、コンピュータが、係数行列と基底行列を合成した第2の行列を、第1の行列と比較した結果を基に、第1の行列の要素のうちノイズを含む要素を推定する。
1つの側面では、二値の行列の各要素に含まれるノイズを推定することができる。
図1は、行列の分解について説明する説明図である。 図2は、二値行列、係数行列及び基底行列の一例を示す図である。 図3は、二値行列の一例を示す図である。 図4は、ノイズ推定装置の構成例を示すブロック図である。 図5は、ノイズ推定装置の処理の流れを示すフローチャートである。 図6は、ランク数を決定する処理の流れを示すフローチャートである。 図7は、最適な記述長について説明する説明図である。 図8は、行列を分解しノイズを計算する処理の流れを示すフローチャートである。 図9は、ノイズを含む要素を推定し除去する処理の流れを示すフローチャートである。 図10は、実験におけるランク数ごとの記述長を示す図である。 図11は、実験における適合率及び再現率を示す図である。 図12は、実験における交差検証誤差を示す図である。 図13は、MCMCにより行列を分解する処理の流れを示すフローチャートである。 図14は、ハードウェア構成例を説明する図である。
以下に、本発明に係るノイズ推定方法、ノイズ推定プログラム及びノイズ推定装置の実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
まず、図1を用いて、行列の分解について説明する。図1は、行列の分解について説明する説明図である。図1に示すように、n×m行列Vは、r×mの係数行列Wとn×rの基底行列Hに分解される。また、近似的に分解を行った場合、n×mのノイズ行列eを仮定することができる。m、n、rは1以上の整数である。また、rは、計算のために指定されたランク数である。
本実施例では、行列の要素の値は二値(Boolean)で表されるものとする。以降の説明では、このような行列を二値行列と呼ぶ場合がある。二値行列の要素の値は、数値の0又は1で表されていてもよいし、TRUE又はFALSEで表されていてもよい。本実施例では、二値行列の要素の値を0又は1で表すが、乗算及び加算はBoolean演算規則に従って行われるものとする。また、二値行列とノイズの加算は、2の剰余系とする。
二値行列の分解は、様々なデータの分析に用いられる。図2は、二値行列、係数行列及び基底行列の一例を示す図である。二値行列V1は、顧客の商品の購買履歴を表している。二値行列V1の各行は顧客に対応している。また、二値行列V1の各列は商品に対応している。二値行列V1の要素の値が1であることは、対応する顧客が対応する商品を1回以上購入したことを意味している。また、二値行列V1の要素の値が0であることは、対応する顧客が対応する商品を1回も購入していないことを意味している。
例えば、二値行列V1には、顧客Aが商品x及び商品zを購入したことが示されている。また、例えば、二値行列V1には、商品yが顧客Bによって購入されたことが示されている。なお、二値行列V1においては、顧客が同じ商品を2回以上購入した場合であっても、該当する要素の値は、Boolean演算規則に従い1となる。
ここで、二値行列V1は、係数行列W1及び基底行列H1に分解される。このとき、係数行列W1は、顧客ごとの購買パターンを表している。一方、基底行列H1は、顧客セグメントごとの購買パターンを表している。
また、この場合、ノイズは、顧客が、「滅多に買わないものを買った」、「他の人からたまたま頼まれて買った」といった、本来の購買パターンから外れるような購買を行った場合に発生することが考えられる。そのため、係数行列W1及び基底行列H1を基に推定したノイズを二値行列V1から除去した上でモデルを生成することにより、各顧客がどの商品を購入する可能性が高いかを分析することができる。
図3に示すように、画像認識の対象の画像を二値行列で表すことができる。図3は、二値行列の一例を示す図である。例えば、図3の二値行列V2は、異なる書き手によって所定の数字が書かれた文字の画像を、左から右、上から下にラスタ走査して得た画素ごとの情報を示す値を、1次元にして行方向に並べたものである。
二値行列V2を分解して得られる係数行列は、圧縮された画像の特徴量ということができる。また、二値行列V2を分解して得られる基底行列は、基底ということができる。また、二値行列V2を分解した際に発生するノイズは、画像のノイズということができる。ノイズを除去した二値行列V2を基に、画像に表示された手書きの数字を分類(クラスタリング)するモデルを生成することで、ノイズを除去しない場合と比べてモデル分類精度を上げることができる。
なお、画像データがグレースケール8ビットの場合、画素値は0−255の範囲で表される。このとき、二値行列においては、例えば画素値が0ならば要素の値を0とし、画素値が0以外ならば要素の値を1とすることができる。
二値行列を分解して得られるモデルを用いて各種データを分析する場合、その精度は分解の際に指定されるランク数の影響を受けることになる。ランク数を決定するための方法をモデル選択と呼ぶ。例えば、モデル選択を記述長により評価する手法が知られている(参考文献1:Miettinen et al“MDL4BMF: Minimum Description Length for Boolean Matrix Factorization”,TKDD,Volume 8 Issue 4, October 2014 Article No. 18)。
本実施例のノイズ推定装置は、所定のランク数を用いて二値行列を分解する際のノイズを、もとの二値行列から除去することができる。これにより、二値行列を用いたデータ分析の精度が向上する。なお、ランク数は、既知の方法を含む任意の方法で決められるものであってもよい。
[機能構成]
図4を用いて、実施例に係るノイズ推定装置10の構成を説明する。図4は、ノイズ推定装置の構成例を示すブロック図である。図4に示すように、ノイズ推定装置10は、変換部11、決定部12、分解部13、推定部14、除去部15、ノイズ情報16及び分析部17を有する。
変換部11は、分析対象のデータを二値行列に変換する。例えば、変換部11は、各要素を、グレースケール8ビットで表された画像の各画素に対応させた行列に変換する。このとき、変換部11は、対応する画素の画素値が0であれば要素の値を0とし、対応する画素の画素値が0以外であれば要素の値を1とする。
決定部12は、要素の値が二値で表される第1の行列、及び第1の行列を分解して得られる係数行列及び基底行列に基づく記述長が所定の条件を満たすようなランク数を決定する。
分解部13は、要素の値が二値で表される第1の行列を係数行列と基底行列に分解する。このとき、分解部13は、決定部12によって決定されたランク数の下、第1の行列を近似的に分解する。また、分解部13は、分解によって得られる係数行列及び基底行列に一意性のない手法により、第1の行列を複数回分解する。MCMC(Markov chain Monte Carlo methods)(参考文献2:特開2019-042543)は、分解によって得られる係数行列及び基底行列に一意性のない手法の一例である。
推定部14は、係数行列と基底行列を合成して第2の行列を生成し、第2の行列と第1の行列と比較した結果を基に、第1の行列の要素のうちノイズを含む要素を推定する。また、推定部14は、第2の行列と第1の行列との2の剰余系の加算によって得られる第3の行列の要素のうち、値が真である要素に対応する第1の行列の要素をノイズと推定する。本実施例では、1が真を表し、0が偽を表す。
具体的には、推定部14は、複数の第2の行列のそれぞれと、第1の行列との2の剰余系の加算によって得られる第3の行列の要素のうち、値が真である割合が閾値以上である要素に対応する第1の行列の要素をノイズと推定する。複数の第2の行列は、分解部13によって得られた係数行列と基底行列を合成したものである。
なお、本実施例では、決定部12及び分解部13は、参考文献1に記載のMCMCを使って行列分解を行うものとする。なお、決定部12及び分解部13は、参考文献2(中村他"二値行列分解のためのイジングモデルの定式化", FIT2017)に記載の方法で行列分解を行ってもよい。
ノイズ情報16は、推定部14が推定したノイズを蓄積した情報である。推定部14は、ノイズの推定を複数回行う。そして、推定部14は、ノイズを推定するたびに、推定したノイズをノイズ情報16に蓄積していく。
除去部15は、第1の行列の要素のうち、推定部14によってノイズであると推定された要素の値を反転させることによりノイズを除去する。本実施例では、除去部15はビット反転によりノイズを除去することができる。つまり、除去部15は、ノイズであると推定された要素の値が1であれば、当該要素の値を0に変換する。また、除去部15は、ノイズであると推定された要素の値が0であれば、当該要素の値を1に変換する。
また、分析部17は、ノイズが除去された二値行列を使って、データの分析を行う。例えば、分析部17は、ノイズが除去された二値行列を基に、データを分類するための分類モデルを生成してもよいし、データの異常検知を行ってもよい。
[全体の処理の流れ]
フローチャートを用いて、処理の流れを説明する。まず、図5を用いて、全体の処理の流れを説明する。図5は、ノイズ推定装置の処理の流れを示すフローチャートである。図5に示すように、まず、ノイズ推定装置10の変換部11は、入力されたデータ(以降、入力データ)を二値行列に変換する(ステップS10)。
次に、決定部12は、二値行列を分解するためのランク数を決定する(ステップS20)。そして、分解部13は、決定部12によって決定されたランク数の下、行列の分解及びノイズの計算を行う(ステップS30)。
さらに、推定部14は、二値行列におけるノイズを含む要素を推定する。そして、除去部15は、推定部14によって推定されたノイズを除去する(ステップS40)。そして、ノイズの除去が完了したか否かを示す除去完了フラグがTRUEであれば(ステップS50、Yes)、除去部15は、ノイズを含む要素を除去した二値行列を出力する(ステップS60)。一方、ノイズの除去が完了したか否かを示す除去完了フラグがTRUEでなければ(ステップS50、No)、ノイズ推定装置10は、ステップS20に戻り、処理を繰り返す。ステップS60の後に、分析部17は、二値行列を基にデータを分析する(ステップS70)。
このように、ノイズ推定装置10は、ノイズの除去が完了するまで処理を繰り返す。つまり、除去部15は、推定部14によってノイズを含む要素が推定されるたびに、当該ノイズであると推定された要素の数の合計が閾値より大きい場合、第1の行列からノイズを除去する。また、分解部13は、除去部15によってノイズが除去されるたびに、第1の行列をさらに分解する。さらに、推定部14は、分解部13によって第1の行列が分解されるたびに、第1の行列の要素のうちノイズを含む要素をさらに推定する。なお、決定部12は、上記の除去部15による処理と分解部13による処理の間で、ランク数を決定し直してもよいし、決定し直さなくてもよい。
[各処理の詳細]
以降、図5の各処理(ステップS20、S30、S40)の詳細を説明していく。まず入力データは、冗長な行列で表現が可能であり、かつノイズが存在することを仮定する。行列が冗長であるとは、その行列が2つ以上の行列に分解できる構造を持っていることである。
変換部11による変換後のn×mの二値行列は、それぞれがm次元ベクトルで表されるn個のインスタンスv、v・・・vを連接させたものである。つまり、二値行列は、転置を意味するTを使って、V={v、v・・・vと書くことがきる。
例えば、入力データは、カテゴリデータや離散値データ、二値データ等である。カテゴリデータには、例えばアンケートデータ、遺伝子塩基配列等がある。離散値データには、例えば車や人の流れのカウンタの値等の数え上げの数値がある。二値データは、例えば商品を購入した、しないといった2つの値で表せるデータである。変換部11は、入力データを{0,1}に変換する。したがって、V∈{0,1}n×mである。
例えば、遺伝子塩基配列データは、t、c、g、aの4種類の文字の組み合わせによって表される。例えば、遺伝子塩基配列データには、「tactagcaatacgcttgcgttcggtggttaagtatgtataatgcgcgggcttgtcgt」、「tgctatcctgacagttgtcacgctgattggtgtcgttacaatctaacgcatcgccaa」のようなものがある。
出典:UCI Machine Learning Repository Molecular Biology (Promoter Gene Sequences) Data Set(URL:https://archive.ics.uci.edu/ml/datasets/Molecular+Biology+(Promoter+Gene+Sequences))
ここで、変換部11は、t={0,0,0,1}、t={0,0,1,0}、t={0,1,0,0}、t={1,0,0,0}のようにおくことで、遺伝子塩基配列データを二値行列に変換することができる。例えば、変換部11は、「tactagc」を、{0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,0}と変換する。
また、例えば、変換部11は、回答の選択肢が1から5まであるアンケートの回答データについては、1={0,0,0,0,1}、2={0,0,0,1,0}、3={0,0,1,0,0}…のようにおくことで二値行列に変換できる。また、変換部11は、カウンタの値(0及び自然数)については、2進展開を行うことで二値行列に変換できる。前述の画像の濃淡のような多値のデータについては、0以外を1とおくことで二値行列に変換できる。また、変換部11は、ユーザのアクションを表す{行った、行わない}等のデータについては、そのまま{1,0}に変換できる。
入力データの特徴量は冗長であり、かつノイズが存在する可能性があるため、(1)式のような形式を仮定することができる。
Figure 2021111097
W∈{0,1}n×r、H∈{0,1}r×m、e∈{0,1}n×mである。また、Boolean演算規則に従う演算では、0+0=0、0+1=1、1+0=1、1+1=1となる。一方、2の剰余系の加算では、0+0=0、0+1=1、1+0=1、1+1=0となる。ノイズが存在する要素は、eの要素のうち値が1となる要素である。
(ランク数の決定)
ランク数を決定する処理(図5のステップS20)の詳細を説明する。決定部12は、ランク数の候補をいくつか与えて行列分解を行い、記述長DL(description length)が最小となるランク数rを最適なランク数に決定する。DLがランク数に対して単調増加であれば、二値行列が想定したモデルに従わないことが考えられる。そのような場合、決定部12は、ランク数の決定を不可能とする結果を出力してもよいし、DLを計算したランク数のうち最小のものを最適なランク数と仮定してもよい。
図6は、ランク数を決定する処理の流れを示すフローチャートである。図6に示すように、まず、決定部12は、二値行列Vを受け取る(ステップS201)。ここで、決定部12は、ランク数rの初期値を2に設定する(ステップS202)。そして、決定部12は、ランク数rの下、(2)式の形式になるように行列分解を行う(ステップS203)。
Figure 2021111097
決定部12は、行列分解によって得られた係数行列及び基底行列を基に記述長を計算する(ステップS204)。決定部12は、例えば参考文献1に記載の方法で記述長を計算することができる。決定部12は、(3)式、(4)式、(5)式及び、(6)式のように記述長L(V,W,H)を計算する。
Figure 2021111097
Figure 2021111097
Figure 2021111097
Figure 2021111097
決定部12は、ランク数rについて計算した記述長が最小であれば(ステップS205、Yes)、最適なランク数rに設定したランク数rを代入する(ステップS206)。一方、決定部12は、ランク数rについて計算した記述長が最小であれば(ステップS205、No)、最適なランク数rを変更しない。
決定部12は、rが2/mを超えていない場合(ステップS207、No)、rを1だけ増加させ(ステップS208)、ステップS203に戻り処理を繰り返す。一方、決定部12は、rが2/mを超えている場合(ステップS207、Yes)、rを出力し処理を終了する(ステップS209)。
図7を用いて、最適な記述長について説明する。図7は、最適な記述長について説明する説明図である。図7に示すように、記述長は、ランク数に対して下に凸な曲線となる。一方、記述長の曲線は非常になだらかになる場合がある。また、MCMCのようなモンテカルロ法に基づく手法で複数回の行列分解を行った場合、解に一意性がなく、試行ごとの記述長の最小値の平均と標準偏差σが得られる。そこで、決定部12は、記述長が最小値の平均から最小値の平均+標準偏差σまでの範囲となるような、複数のランク数を最適なランク数rとして選択してもよい。また、決定部12は、記述長が最小値の平均から最小値の平均+標準偏差σまでの範囲となるようなランク数の中で、最小のランク数を選択してもよい。
また、モンテカルロ法以外の手法で行列分解を行った場合、決定部12は、記述長が最小値となるようなランク数をrに決定することができる。
(行列の分解及びノイズの計算)
行列の分解及びノイズの計算(図5のステップS30)の詳細を説明する。分解部13は、決定部12によって決定されたランク数の下、二値行列を分解する。分解部13は、決定部12による行列分解の結果を流用してもよい。
図8は、行列を分解しノイズを計算する処理の流れを示すフローチャートである。図8に示すように、分解部13は、二値行列V、ランク数r、試行回数xを受け取る(ステップS301)。ここで、分解部13は、現在の試行回数を表すxに1を代入する(ステップS302)。
そして、分解部13は、ランク数をrとして、二値行列Vに対しMCMCによる行列分解を行う(ステップS303)。そして、推定部14は、(7)式のように、ノイズ行列eを計算する(ステップS304)。
Figure 2021111097
推定部14は、計算したノイズ行列eを、ノイズ情報hに累積する(ステップS305)。例えば、ノイズ情報hは、要素の値が多値である行列であってもよい。この場合、推定部14は、処理が繰り返されるたびに、ノイズ情報hに計算したノイズ行列eを足していく。
そして、xがx以上でない場合(ステップS306、No)、推定部14は、xを1だけ増加させ(ステップS307)、ステップS303に戻り、処理を繰り返す。また、xがx以上である場合(ステップS306、Yes)、推定部14は、ノイズ情報hを出力する(ステップS308)。
なお、(7)式のVは、第1の行列の一例である。また、(7)式のWとHを合成した行列は、第2の行列の一例である。また、(7)式のノイズ行列eは、第3の行列の一例である。
(ノイズを含む要素の推定及び除去)
ノイズを含む要素の推定及び除去(図5のステップS40)の詳細を説明する。例えばノイズ行列eにおいて値が1になる頻度が高い要素は、ノイズ情報hにおいても値が大きくなることが考えられる。推定部14は、このことを利用して、二値行列Vの要素のうち、ノイズを含む要素を推定する。
なお、ノイズ行列e、二値行列V及びノイズ情報hは、いずれもn×mの行列である。このため、例えば、ノイズ行列eのp列目q行目の要素は、二値行列V及びノイズ情報hのp列目q行目の要素に対応する。
図9は、ノイズを含む要素を推定し除去する処理の流れを示すフローチャートである。図9に示すように、推定部14は、二値行列V、ノイズ情報h、個別閾値TH、合計閾値THsumを受け取る(ステップS401)。
推定部14は、ノイズ情報hの要素のうち、値がTHより大きい要素に対応するVの要素をノイズを含む要素として推定する。除去部15は、ノイズを含む要素の値を反転する(ステップS402)。次に、除去部15は、hの要素の値の合計がTHsum以下であれば(ステップS403、Yes)、除去完了フラグをTRUEにする(ステップS404)。一方、除去部15は、hの要素の値の合計がTHsum以下でなければ(ステップS403、No)、除去完了フラグをFALSEにする(ステップS405)。
図5に示すように、ノイズ推定装置10は、除去完了フラグがTRUEになるまで、ステップS20からS40までの処理を繰り返す。このため、除去部15は、ステップS405又はS406の後に、ノイズ情報hを初期化しておいてもよい。
個別閾値TH、合計閾値THsumは、あらかじめ指定されているものとする。個別閾値TH、合計閾値THsumは、絶対的な値であってもよいし、割合を表すものであってもよい。その場合、個別閾値THは、試行回数に対するノイズと判断された回数の割合ということができる。また、合計閾値THsumは、行列の要素数n×mに対するノイズと推定された要素の数の割合ということができる。
(データの分析)
分析部17は、ノイズが除去された二値行列Vや、ノイズ情報hを基にデータの分析を行う。例えば、分析部17は、異常検知を行う場合に、ノイズ情報hの要素の値が大きいものから順次、対応する二値行列Vの要素を異常な要素として出力することができる。
また、除去部15は、ラベル付きのテストデータを用いて、個別閾値TH、合計閾値THsumの初期値の候補をいくつか設定してもよい。その際、分析部17は、ノイズが除去された二値行列V、又は行列分解や次元圧縮を行った係数行列Wを用いて、k-fold交差検証を行い、交差検証損失Lを計算する。
そして、分析部17は、閾値THの候補の中で交差検証損失Lが最も低い閾値におけるノイズ除去後の二値行列を選択し、Vとする。また、除去部15は、分析部17によって計算される交差検証損失Lが所定の基準を満たす程度に小さくなるまで、閾値THをノイズ情報hの要素の値の最大値から順次減少させていってもよい。なお、除去部15は、閾値THを固定値としてノイズを除去してもよい。
[効果]
これまで説明してきたように、分解部13は、要素の値が二値で表される第1の行列を係数行列と基底行列に分解する。推定部14は、係数行列と基底行列を合成した第2の行列を、第1の行列と比較した結果を基に、第1の行列の要素のうちノイズを含む要素を推定する。このように、ノイズ推定装置10は、二値行列を分解した結果を基にノイズを含む要素を推定する。このため、本実施例によれば、二値の行列を精度良く分解することができる。
また、決定部12は、第1の行列、及び第1の行列を分解して得られる係数行列及び基底行列に基づく記述長が所定の条件を満たすようなランク数を決定する。分解部13は、決定部12によって決定されたランク数の下、第1の行列を近似的に分解する。このように、ノイズ推定装置10は、最適なランク数を決定した上で二値行列を分解し、ノイズの推定を行う。このため、本実施例によれば、二値の行列を精度良く分解することができる。
また、推定部14は、第2の行列と第1の行列との2の剰余系の加算によって得られる第3の行列の要素のうち、値が真である要素に対応する第1の行列の要素をノイズと推定する。このように、ノイズ推定装置10は、もとの二値行列と同じサイズのノイズの行列を使って、ノイズを含む要素を容易に特定することができる。
また、分解部13は、分解によって得られる係数行列及び基底行列に一意性のない手法により、第1の行列を複数回分解する。推定部14は、分解部13によって得られた係数行列と基底行列を合成した複数の第2の行列のそれぞれと、第1の行列との2の剰余系の加算によって得られる第3の行列の要素のうち、値が真である割合が閾値以上である要素に対応する第1の行列の要素をノイズと推定する。このように、ノイズ推定装置10は、一意性のないランダムな複数の分解結果を得ることで、ノイズである確率が高い要素を特定することができる。
また、除去部15は、第1の行列の要素のうち、推定部14によってノイズであると推定された要素の値を反転させることによりノイズを除去する。これにより、ノイズ推定装置10は、容易にノイズを除去することができる。
また、除去部15は、推定部14によってノイズを含む要素が推定されるたびに、当該ノイズであると推定された要素の数の合計が閾値より大きい場合、第1の行列からノイズを除去する。分解部13は、除去部15によってノイズが除去されるたびに、第1の行列をさらに分解する。推定部14は、分解部13によって第1の行列が分解されるたびに、第1の行列の要素のうちノイズを含む要素をさらに推定する。このように、ノイズ推定装置10は、ノイズの除去を繰り返すことで、除去精度を向上させることができる。
[実験結果]
(実験1)
本実施例のノイズ推定装置10を用いた実験の結果を示す。まず、実験1では、要素の値が1となる比率ρが50%であり、10×50の行列と50×10の行列を合成したノイズなしの二値行列に、5%のノイズを付加した二値行列Vを用意した。この場合、図10に示すように、平均記述長が最小のときに、ランク数は最適値の10を取る。図10は、実験におけるランク数ごとの記述長を示す図である。
実施例で説明した方法により、上記の二値行列Vのノイズを含む要素を推定した結果、適合率P及び再現率Rは図11のようになった。図11は、実験における適合率及び再現率を示す図である。図11に示すように、適合率Pが高いため、ノイズでない要素をノイズを含む要素として推定する誤推定(誤検出)はほぼ発生しないことがいえる。
なお、適合率P及び再現率Rは下記のように計算される。
適合率P=(推定したノイズのうち真のノイズの数)/(推定したノイズの個数)
再現率R=(推定したノイズのうち真のノイズの数)/(真のノイズの数)
(実験2)
さらに、実験2では、実施例で説明した方法により手書き数字データ(データ取得元:https://archive.ics.uci.edu/ml/datasets/Multiple+Features)の二値行列からノイズを除去し、決定木による画像認識を行った。このとき、決定された最適なランク数は10であった。図12に、決定木学習の10-fold交差検証誤差を示す。交差検証誤差は、0から1の実数であり、小さい方が認識精度が高いといえる。図12に示すように、ノイズ除去前は0.32であった交差検証誤差が、ノイズ除去後は0.25に減少している。
[MCMCに関する補足説明]
ノイズ推定装置10がMCMCにより行列を分解する処理を説明する。本実施例では、ノイズ推定装置10は、MCMCの一種であるシミュレーテッドアニーリングを用いる。また、MCMCによって行列Vを分解して得られた係数行列W及び基底行列Hについては、一意性がない。これは、WとHの間に、WXX−1Hを満たすような正則行列Xが挟まっているかも知れないからである。また、例えばMCMCによる行列分解を100回試行して得られた100通りのW及びHを合成して得た複数のV´は、互いに似ていると考えられる。そして、複数のV´の要素のうち、互いに似ていない要素がノイズに相当すると考えられる。
図13は、MCMCにより行列を分解する処理の流れを示すフローチャートである。なお、ここでは分解部13がMCMCの処理主体であるものとして説明するが、決定部12もMCMCを行うことができる。図13に示すように、まず、分解部13は、n×mの二値行列V、温度の初期値T、総ループ回数itermaxを受け取る(ステップS501)。
分解部13は、二値行列Vを入力して、(8)式により行列分解用のエネルギー関数Eを生成する(ステップS502)。
Figure 2021111097
そして、分解部13は、スピンW、Hに任意の初期値W、Hを設定する(ステップS503)。分解部13は、エネルギー関数に従いエネルギーの初期値Eprevを計算し、Emin=Eprev、Wmin=W、Hmin=Hを設定する(ステップS504)。
ここで、分解部13は、温度Tを計算する(ステップS505)。例えば、分解部13は、温度Tを、T=T/log(iter)のように計算する。そして、分解部13は、W、Hを用いてフリップするスピンの候補を決定する(ステップS506)。
分解部13は、スピンをフリップした場合のエネルギーEafterを求めてΔE=Eafter−Eprevとして、e−ΔEの確率で採否を決定する(ステップS507)。そして、分解部13は、Wmin、Hminを出力する(ステップS508)。
[データ追加時の処理]
ノイズ推定装置10は、入力済みの二値行列Vに新しいデータ(インスタンス)vが追加された場合、計算済みの基底行列Hを用いて、MCMCにより係数行列Wを計算し、vに該当するeを算出することができる。
二値行列Vの大きさは不変であるので、1インスタンスのみ追加される場合、ノイズ推定装置10は、二値行列Vに含まれる最も古いデータ(インスタンス)を上書きすることができる。また、追加されるインスタンスが多数ある場合は、ノイズ推定装置10は、二値行列Vを新たに作成する。そして、ノイズ推定装置10は、Wのスピンのみをフリップの対象とする。この場合、ノイズ推定装置10は、Hを定数として扱いMCMCを行うことができる。
[システム]
上記文書中や図面中で示した処理手順、ノイズ推定手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値等は、あくまで一例であり、任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア]
ところで、上記の実施形態で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータ(ハードウエア)の一例を説明する。図14は、ハードウェア構成例を説明する図である。
図14に示すように、ノイズ推定装置10は、入出力インタフェース10aと、ハードディスク10bと、RAM10c(RAM:Random Access Memory)と、ROM103(ROM:Read Only Memory)と、CPU10eと、イジングマシン10fとを有する。ノイズ推定装置10内の各部は、バスに接続される。
入出力インタフェース10aは、ユーザからの入力操作を受け付けるキーボード、マウス等の入力装置、及び、各種処理結果を出力するディスプレイ等の出力装置である。ハードディスク10bは、例えばハードディスク装置等であり、上記の実施形態で説明した各種の処理を実行するためのプログラムが記憶される。また、ハードディスク10bには、プログラムが参照する各種データが記憶される。RAM10cは、CPU10eがプログラムを読み出して各種の処理を実行する際に用いられ、各種情報を一時記憶する。ROM103は、例えばノイズ推定装置10の起動時に実行されるブートプログラム等を記憶する不揮発性メモリである。
CPU10eは、ハードディスク10bに記憶されたプログラムを読み出してRAM10cに展開して実行することで、変換部11、決定部12、分解部13、推定部14、除去部15及び分析部17に関する各種の処理を行う。なお、プログラムは、ハードディスク10bに記憶されていなくてもよい。例えば、ノイズ推定装置10が読み取り可能な記憶媒体に記憶されたプログラムを、ノイズ推定装置10が読み出して実行するようにしてもよい。ノイズ推定装置10が読み取り可能な記憶媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこのプログラムを記憶させておき、ノイズ推定装置10がこれらからプログラムを読み出して実行するようにしてもよい。
イジングマシン10fは、シミュレーテッドアニーリング(SA)による処理を行い、イジング形式に変換したコスト関数の最小値が得られる各ビットの状態の組み合わせ(基底状態)を探索する装置である。
10 ノイズ推定装置
11 変換部
12 決定部
13 分解部
14 推定部
15 除去部
16 ノイズ情報
17 分析部

Claims (8)

  1. 要素の値が二値で表される第1の行列を係数行列と基底行列に分解し、
    前記係数行列と前記基底行列を合成した第2の行列を、前記第1の行列と比較した結果を基に、前記第1の行列の要素のうちノイズを含む要素を推定する
    処理をコンピュータが実行することを特徴とするノイズ推定方法。
  2. 前記第1の行列、及び前記第1の行列を分解して得られる前記係数行列及び前記基底行列に基づく記述長が所定の条件を満たすようなランク数を決定する処理をさらに実行し、
    前記分解する処理は、前記決定する処理によって決定されたランク数の下、前記第1の行列を分解する
    ことを特徴とする請求項1に記載のノイズ推定方法。
  3. 前記推定する処理は、前記第2の行列と前記第1の行列との2の剰余系の加算によって得られる第3の行列の要素のうち、値が真である要素に対応する前記第1の行列の要素をノイズと推定する
    ことを特徴とする請求項1に記載のノイズ推定方法。
  4. 前記分解する処理は、分解によって得られる前記係数行列及び前記基底行列に一意性のない手法により、前記第1の行列を複数回分解し、
    前記推定する処理は、前記分解する処理によって得られた係数行列と基底行列を合成した複数の第2の行列のそれぞれと、前記第1の行列との2の剰余系の加算によって得られる第3の行列の要素のうち、値が真である割合が閾値以上である要素に対応する前記第1の行列の要素の値にノイズが含まれると推定する
    ことを特徴とする請求項1に記載のノイズ推定方法。
  5. 前記第1の行列の要素のうち、前記推定する処理によってノイズを含むと推定された要素の値を反転させることによりノイズを除去する
    処理をさらに実行させることを特徴とする請求項1に記載のノイズ推定方法。
  6. 前記除去する処理は、前記推定する処理によってノイズを含む要素が推定されるたびに、当該ノイズであると推定された要素の数の合計が閾値より大きい場合、前記第1の行列からノイズを除去し、
    前記分解する処理は、前記除去する処理によってノイズが除去されるたびに、前記第1の行列をさらに分解し、
    前記推定する処理は、前記分解する処理によって前記第1の行列が分解されるたびに、前記第1の行列の要素のうちノイズを含む要素をさらに推定する
    ことを特徴とする請求項5に記載のノイズ推定方法。
  7. 要素の値が二値で表される第1の行列を係数行列と基底行列に分解し、
    前記係数行列と前記基底行列を合成した第2の行列を、前記第1の行列と比較した結果を基に、前記第1の行列の要素のうちノイズを含む要素を推定する
    処理をコンピュータに実行させることを特徴とするノイズ推定プログラム。
  8. 要素の値が二値で表される第1の行列を係数行列と基底行列に分解する分解部と、
    前記係数行列と前記基底行列を合成した第2の行列を、前記第1の行列と比較した結果を基に、前記第1の行列の要素のうちノイズを含む要素を推定する推定部と、
    を有することを特徴とするノイズ推定装置。
JP2020002232A 2020-01-09 2020-01-09 ノイズ推定方法、ノイズ推定プログラム及びノイズ推定装置 Pending JP2021111097A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020002232A JP2021111097A (ja) 2020-01-09 2020-01-09 ノイズ推定方法、ノイズ推定プログラム及びノイズ推定装置
EP20205603.2A EP3848827A1 (en) 2020-01-09 2020-11-04 Noise estimation method, noise estimation program, and noise estimation apparatus
US17/093,686 US11507476B2 (en) 2020-01-09 2020-11-10 Noise estimation method, non-transitory computer-readable storage medium, and noise estimation apparatus
CN202011330924.XA CN113112414A (zh) 2020-01-09 2020-11-24 噪声估计方法、噪声估计程序以及噪声估计设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020002232A JP2021111097A (ja) 2020-01-09 2020-01-09 ノイズ推定方法、ノイズ推定プログラム及びノイズ推定装置

Publications (1)

Publication Number Publication Date
JP2021111097A true JP2021111097A (ja) 2021-08-02

Family

ID=73059668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020002232A Pending JP2021111097A (ja) 2020-01-09 2020-01-09 ノイズ推定方法、ノイズ推定プログラム及びノイズ推定装置

Country Status (4)

Country Link
US (1) US11507476B2 (ja)
EP (1) EP3848827A1 (ja)
JP (1) JP2021111097A (ja)
CN (1) CN113112414A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115082362B (zh) * 2022-08-23 2022-11-08 广州优刻谷科技有限公司 面向元宇宙场景的去噪方法、系统及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8761385B2 (en) * 2004-11-08 2014-06-24 Nec Corporation Signal processing method, signal processing device, and signal processing program
KR101581885B1 (ko) * 2009-08-26 2016-01-04 삼성전자주식회사 복소 스펙트럼 잡음 제거 장치 및 방법
US8443080B2 (en) 2010-05-06 2013-05-14 Nec Laboratories America, Inc. System and method for determining application dependency paths in a data center
JP5573517B2 (ja) * 2010-09-07 2014-08-20 ソニー株式会社 雑音除去装置および雑音除去方法
US8675720B2 (en) * 2011-06-30 2014-03-18 Intel Corporation Noise estimation filter
CN202721697U (zh) * 2012-07-27 2013-02-06 上海晨思电子科技有限公司 一种无偏估计装置
JP6849388B2 (ja) 2015-10-26 2021-03-24 エーザイ・アール・アンド・ディー・マネジメント株式会社 特異値解析法を用いた電子ノイズ除去法
US9660709B1 (en) * 2015-12-04 2017-05-23 Uurmi Systems Pvt. Ltd. Systems and methods for calculating log-likelihood ratios in a MIMO detector
JP2017207577A (ja) 2016-05-17 2017-11-24 国立研究開発法人産業技術総合研究所 評価システム、評価方法、評価プログラム、及び記録媒体
JP6563858B2 (ja) * 2016-06-02 2019-08-21 株式会社デンソーアイティーラボラトリ 特徴点位置推定装置、特徴点位置推定システム、特徴点位置推定方法、および特徴点位置推定プログラム
US10090920B1 (en) * 2017-03-17 2018-10-02 Ciena Corporation Fiber kerr nonlinear noise estimation
JP6958085B2 (ja) * 2017-08-02 2021-11-02 富士通株式会社 行列分解装置、行列分解方法及び行列分解プログラム

Also Published As

Publication number Publication date
CN113112414A (zh) 2021-07-13
EP3848827A1 (en) 2021-07-14
US20210216416A1 (en) 2021-07-15
US11507476B2 (en) 2022-11-22

Similar Documents

Publication Publication Date Title
Muñoz et al. Exploratory landscape analysis of continuous space optimization problems using information content
Kursa et al. The all relevant feature selection using random forest
CN110472659B (zh) 数据处理方法、装置、计算机可读存储介质和计算机设备
Jiang et al. Studies of spectral properties of short genes using the wavelet subspace Hilbert–Huang transform (WSHHT)
US8250003B2 (en) Computationally efficient probabilistic linear regression
JP2021111097A (ja) ノイズ推定方法、ノイズ推定プログラム及びノイズ推定装置
CN111445021A (zh) 学习方法、学习设备和计算机可读记录介质
JP5522044B2 (ja) クラスタリング装置、パターン判定方法、およびプログラム
Nakano Hybrid algorithm of ensemble transform and importance sampling for assimilation of non-Gaussian observations
US20230273771A1 (en) Secret decision tree test apparatus, secret decision tree test system, secret decision tree test method, and program
Kruglov et al. Neural network modeling of vector multivariable functions in ill-posed approximation problems
Görgülü et al. Randomized trees for time series representation and similarity
Popoola et al. Testing the suitability of wavelet preprocessing for TSK fuzzy models
JP6950505B2 (ja) 判別プログラム、判別方法および判別装置
Chamlal et al. Elastic net-based high dimensional data selection for regression
JP2007305048A (ja) 影響因子推定装置及び影響因子推定プログラム
Afzal et al. On the number of independent components: an adjusted coefficient of determination based approach
Bada et al. A wavelet method for panel models with jump discontinuities in the parameters
US20240134934A1 (en) Information processing apparatus, information processing method and program
CN110580490A (zh) 一种确定人员行为概率的方法、装置及设备
US20230325304A1 (en) Secret decision tree test apparatus, secret decision tree test system, secret decision tree test method, and program
JP7420148B2 (ja) 学習装置、学習方法及びプログラム
Zheng et al. Dictionary learning for signals in additive noise with generalized Gaussian distribution
JP2018151913A (ja) 情報処理システム、情報処理方法、及びプログラム
Efremov System Identification Based on Stepwise Regression for Dynamic Market Representation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231226

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240326