プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

ウェーブレット変換されたデータが元のデータと同じ長さである場合、この手法はデータ削減にどのように役立ちますか?


有用性は、ウェーブレット変換されたデータを制限できるという事実にあります。ウェーブレット係数の主のごく一部のみを保存することにより、情報の圧縮された近似を保持できます。たとえば、ユーザー定義のしきい値よりも高いすべてのウェーブレット係数を維持できます。他のいくつかの係数は0に設定されています。

結果として得られるデータ記述は非常にまばらであるため、データのスパース性を利用できるサービスは、ウェーブレット空間に実装された場合、計算が非常に高速になります。この方法は、データの主な特性を平滑化することなくノイズを除去するためにも機能し、データのクリーニングにも効率的になります。係数のセットが与えられると、元のデータの近似値は、適用されたDWTの反対を使用して生成できます。

DWTは一般に、正弦と余弦を含む信号処理方法である離散フーリエ変換(DFT)に関連しています。一般に、DWTは非可逆圧縮を実現します。特定のデータベクトルのDWTとDFTに対して同様の数の係数が保持されている場合、DWTバージョンは元のレコードのより効率的な近似をサポートします。

したがって、同じ近似では、DWTはDFTよりも必要な領域が少なくて済みます。 DFTとは異なり、ウェーブレットは空間に完全にローカライズされており、ローカル要素の保存に貢献します。 DFTは1つだけですが、DWTには複数のファミリがあります。

Haar-2、Daubechies-4、およびDaubechies-6変換などの有名なウェーブレット変換があります。離散ウェーブレット変換を使用するための一般的なプロセスは、各反復でレコードを半分にする階層ピラミッドアルゴリズムを容易にし、計算速度を高速化します。方法は次のとおりです-

  • 入力データベクトルの長さLは、2の数値の累乗である必要があります。この条件は、データベクトルにゼロを必須としてパディングすることで組み立てることができます(L≥n)。

  • 各変換には、2つの関数の使用が含まれます。 1つ目は、合計や加重平均など、さまざまなデータ平滑化を使用します。 2つ目は、データの詳細な特性を引き出すのを容易にする加重差を実装します。

  • 2つの関数は、Xのデータポイントのペア、つまりすべてのデータのペア(x​​ 2i )に使用されます。 、x 2i + 1 )。これにより、長さL/2の2セットのデータが得られます。一般に、これらは入力レコードの平滑化または低頻度バージョンとそれに応じた高頻度コンテンツを定義します。

  • 2つの関数は、取得された結果のデータセットの長さが2になるまで、前のループで取得されたデータセットに再帰的に使用されます。

  • 次の反復で取得されたデータセットから値を選択でき、変換されたデータのウェーブレット係数が送信されます。


  1. 固定長の文字列と可変長の文字列を同じMySQLテーブルに保存するにはどうすればよいですか?

    CHARは固定長の文字列を格納するために使用され、VARCHARは可変長の文字列を格納するために使用されることがわかっています。したがって、列をCHARとして宣言し、その他をVARCHARとして宣言することで、固定長と可変長の文字列を同じテーブルに格納できます。 例 mysql> Create Table Employees(FirstName CHAR(10), LastName VARCHAR(10)); Query OK, 0 rows affected (0.64 sec) mysql> Desc Employees; +-----------+-------------

  2. 同じクエリでMySQLLPAD()関数とRPAD()関数を使用して、元の文字列の左右両側に文字列をパディングするにはどうすればよいですか?

    これを実現するには、一方の関数をもう一方の関数の最初の引数として使用する必要があります。つまり、RPAD()関数がLPAD()関数の最初の引数になるか、LPAD()関数がRPAD()関数の最初の引数になります。次の例の助けを借りて理解することができます 例 mysql> Select RPAD(LPAD(' My name is Ram ',23,'* '),30,'* '); +------------------------------------------------+ | RPAD(LPAD(' My name is Ra