MATLAB ----行列テンソルを変換するreshape()関数を使用



Matlab With Reshape Function Convert Matrix Tensor



ここでは、たとえば、2次元の座標データを使用して、変換のプロセスを説明します。

まず、Xの形式でデータを確認します。



バツ サンプルポイントの座標データの各行が300 * 2の300x2の2次元2次元行列

図心 3x2ダブル、2 * 3次元行列、重心の座標データの各行



テンソルを変換する必要があるため、ターゲットテンソル変換の次の定義を作成します。

3Dテンソルの定義、そのサイズはm * K * Dです。ここで、mはサンプルポイントの数、Kはニーズ分類カテゴリ(つまり、セントロイドの数)、Dはサンプルデータの次元を示します。これは2、つまり2次元座標構成のX座標とY座標です。

考えられるのは、テンソル行列層に似ています。∴アイデアは最初にテンソルに対応する行列層の位置にコピーされ、次にrepmat()関数が拡張層をコピーしてテンソルを形成します。



テンソルの行列変換ステップは次のとおりです。

  1. RESHAPE()関数を使用して行列層テンソルを変換する
  2. repmat()関数を再利用してレイヤーをコピーし、拡張テンソルを形成します。

ここにマトリックス バツ Tensorは次のサンプルコードに拡張されました。

m = size(X,1) % X configuration corresponding tensor Tensor_X = reshape(X,m,1,size(X,2)) Tensor_X = repmat(Tensor_X,1,K,1)