2

matlab で類似検索を実装したいと考えています。私はそれが可能か知りたいですか?

私の計画は、ユークリッド距離と動的時間ワーピングという 2 つの一般的な類似性測定を使用することです。これらは両方とも時系列データセットに適用されます。この時点での私の質問は、これら 2 つの測定性能と精度の両方をどのように評価できるかということです。K-NNアルゴリズムを使用する必要があるという文献を見ました。

次に、時系列データセットに次元削減を適用する予定です。データセットの次元を減らした後。R ツリーまたは利用可能なインデックス作成手法を使用して、データセットにインデックスを付ける必要があります。

しかし、私の問題は、これを行うには、インターネットでほとんど見つけることができないRツリーのmatlabコードが必要なことです...

類似性検索の実装のほとんどは C++、C、および Java で行われていることに気付きました...しかし、私はそれらに慣れていません。私はMatlabでこれらを実装できることを望んでいます...どの教祖もこれで私を助けることができますか?

また、各アルゴリズムのパフォーマンスを評価するには、どのような評価を行うことができますか。

ありがとう

4

2 に答える 2

3

最近 (R2010a だと思います)、MATLAB はKD ツリー( R ツリーに似た空間インデックス手法) を使用したk 最近傍 (kNN)検索の新しい関数を Statistics Toolbox に追加しました。例:

load fisheriris                            % Iris dataset
Q = [6 3 4 1 ; 5 4 3 2];                   % query points

% build kd-tree
knnObj = createns(meas, 'NSMethod','kdtree', 'Distance','euclidean');

% find k=5 Nearest Neighbors to Q
[idx Dist] = knnsearch(knnObj, Q, 'K',5);

素敵な説明については、このページを参照してください。

また、Image Processing Toolbox をお持ちの場合は、(長い間) kd ツリーと kNN 検索の実装が含まれています。ただし、それらはプライベート関数です。

[matlabroot '\images\images\private\kdtree.m']
[matlabroot '\images\images\private\nnsearch.m']

2 つのアプローチ ( Dynamic Time WarpingEuclidean distance ) を比較するために、古典的な分類の問題を設計できます。ラベル付けされたトレーニング/テスト時系列のセットが与えられた場合、タスクは、kNN を使用して最も類似したものを見つけて各テスト シーケンスのラベルを予測し、次に多数派クラスを予測することです。パフォーマンスを評価するには、精度/エラーなどの標準的な分類基準のいずれかを使用します。

于 2010-07-26T19:49:54.657 に答える
0

ED と DTW の両方で、UCR スイートを使用してシーケンシャル スキャンを実行する方がはるかに高速であることがわかります。

このビデオを参照して ください https://www.youtube.com/watch?v=d_qLzMMuVQg

またはこれ

https://www.youtube.com/watch?v=c7xz9pVr05Q

コードは無料です http://www.cs.ucr.edu/~eamonn/UCRsuite.html

于 2014-10-29T15:54:06.980 に答える