教師なし学習のクラスタリングを用いた画像判別について
13 views (last 30 days)
Show older comments
MATKABを用いた教師なし学習についての勉強をしています。
以前は以下の例でクラスタリングのk-means法を使った画像判別について勉強しました。
今度はクラスタリングのk-means法以外の方法を試してみたいです。
例えば自分の持ってる大量の画像データで凝集型クラスタリングを用いた画像判別をしてみてk-means法と比較をしてみたいです。
何か凝集型クラスタリングを用いた画像判別の例はございますでしょうか。
判別した結果、どのように分類されたかを表示できるようにもしたいです。
よろしくお願いいたします。
0 Comments
Accepted Answer
Hiroyuki Hishida
on 26 Apr 2021
Kaneko様、
質問への回答であれば、階層型クラスタリングはこちらになります。
投稿いただいたリンク先にはDeep Learningですので、(明示的な)特徴量の指定は不要ですが、上記の手法はDeep Learningではないので(明示的な)特徴の指定が必要になります。
併せてこちらも参照いただければと思います。
オンライン形式での機械学習の学習コース(無料):
菱田
3 Comments
Hiro Yoshino
on 27 Apr 2021
"特徴量の指定"という表現が誤解を生じさせたのかなと思いました。
画像データを学習器に与えようとした場合、(例えば) 256x256x3 のデータを使います。
このまま何も考えずに、この量のデータを入力すると、それぞれの数値は独立に生じた物として取り扱われます。しかし実際は画像は、何らかの相関がピクセル間があり、その情報を活用しない手はありません。
この時
- ピクセルに何らかの確率モデルを導入する
- ピクセル間の相関を抽出できそうなフィルタをユーザーが用意する
などの方法が考えられます。そうすれば情報を取ってくることが出来るからです。
その情報を持った形のデータの表現を特徴量と言います。
リンク先で行ったのは、2の方法です。学習済みのディープラーニングモデルがあるので、それが画像データの特徴を上手く抽出してくれるようなフィルタを提供してくれるので、出てきたデータをk-meansに与えれば上手くクラスタリングが行われます。
階層型クラスタリングに与えるデータも、同様に画像-->特徴量と変換する必要があります (もちろんそのまま突っ込んでも動作はしますが、結果は良くないと思います)。ディープラーニングにやらせる方法もありますし、ご自身で何らかの変換を行っても良いです。
ディープラーニングで用意されたフィルタリングは、非線形変換で非常に柔軟に特徴量を取り出してくれる可能性があります。一方、シンプルな線形変換でよく使わえる手法にはPCAがあります。
一点注意です。比較をされるという事ですが、生のデータを扱わない場合は、
特徴抽出手法 x 機械学習アルゴリズム
の組み合わせで評価しないとあまり意味がありません。
More Answers (0)
See Also
Categories
Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!