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()関数が拡張層をコピーしてテンソルを形成します。
テンソルの行列変換ステップは次のとおりです。
- RESHAPE()関数を使用して行列層テンソルを変換する
- 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)