0

私は医学物理学の修士課程の学生で、現在論文に取り組んでいます。内視鏡画像から特徴を抽出し、SVMで分類する作業です。4種類の画像があります。タイプ 1 は非がん画像、タイプ 2、3、4 は前がん画像です。問題を 2 クラス システムに減らしました。クラス C1、タイプ 1 の画像、クラス C2 はその他すべてです。

これを行うために使用している方法は次のとおりです。密な SIFT を使用して、各画像から特徴を抽出します。したがって、画像ごとに128x1000などの記述子を取得します。つまり、128 次元空間に 1000 点があります。各画像のポイント数は異なりますが、簡単にするために画像ごとに 1000 と仮定します。クラス C1 の 50 枚の画像とクラス C2 の 50 枚の画像をトレーニング用に使用して、データセットを分割しました。

100 個のトレーニング画像を使用すると、128x100000 のデータが得られます。たとえば 400 個のクラスターを使用してこのデータに対して k-means クラスタリングを実行すると、これは非常に長いプロセスになります。したがって、各画像が均等に表現されるように、たとえば10000ポイントを均一に配置して、このデータをサンプリングすることを考えました。私は実際に分類プロセスで非常に良い結果を得ていますが、これができるかどうかは疑問です.

すべてのデータ ポイントを使用して中心を計算すると、大きな違いが生じるでしょうか?それとも、計算のためにこのデータをサンプリングできますか?? 使用するデータの割合として妥当な値はどれですか??

4

1 に答える 1

1

最初にサンプルに対して k-means を実行するのが一般的な方法です。

これにより、最終的なクラスター中心の適切な推定値が得られます。これらを完全な k-means 実行のシードとして使用することで、後で 1 回の反復のみが必要になる場合があります。

K-means には多くの問題 (次元の呪い、しばしば無意味な結果、k の選択) がありますが、スケーラビリティはその 1 つではありません。非常に高速に実行できます。非常に遅いプログラミング言語を使用していない限り、100k オブジェクトにはわずか 1 分しかかかりません。

于 2013-06-09T10:25:50.800 に答える