クラスタリング問題の機能選択


9

教師なしアルゴリズム(クラスタリング)を使用して、異なるデータセットをグループ化しようとしています。問題は、私が多くの機能(〜500)と少量のケース(200-300)を持っていることです。

これまでは、データを常にトレーニングセットとしてラベル付けしていた分類問題のみを使用していました。そこで、機能の事前選択にいくつかの基準(つまり、random.forest.importanceまたはinformation.gain)を使用し、次に、さまざまな学習者に順次転送選択を使用して、関連する機能を見つけました。

これで、教師なし学習の場合、事前選択の基準がなく、順次フォワード選択を使用できないことがわかります(少なくともmlrパッケージでは使用できません)。

クラスタリングアルゴリズムに適用する少数の機能を見つける前に主成分分析を実行できるかどうか疑問に思っていました。それとも他のアイデアはありますか?

ありがとう

編集:

さて、オンラインで調査した後、質問を少し更新できます。まず、次の2つの理由により、アルゴリズムをクラスタリングする前にPCAの使用を妨げる記事をいくつか読んだことがあります。

  • PCはすべての機能の機能であるため、結果を初期データセットに関連付けることが難しく、解釈が難しくなります。

  • さらに、実際には機能のごく一部しかクラスタリングに役立たないという問題がある場合、これらの機能がサンプル間の最大の分散(PCが行うこと)も説明しているとは言えません。

PCAは発表されていません...

これで、クラスタリングのために順次フォワード選択を行うという最初のアイデアに戻りました。

どのパフォーマンス指標をお勧めしますか?(ダンインデックスについて考えました)どのクラスタリングアルゴリズムが多かれ少なかれ同じサイズのクラスターをもたらすでしょうか?(階層的クラスタリングでは、通常、1つの異常値を持つ1つのクラスターと残りすべての異常値を持つ別のクラスターを取得します->したがって、異常値から何らかの形で保護するものが必要になります)

皆さんが私を助けてくれることを願っています...


ランダムフォレストは、監視されていない問題に適用できます。そして、その過程でいくつかの有益な機能を引き続き抽出できると思います。
amanita kiki 2015

回答:


11

教師なし学習の問題における次元削減について、私はいくつかの考えを共有します。回答において、あなたの関心は、解釈が意図的に重視されない自動化されたターンキー、ブラックボックス、および「ロータッチ」の機械学習アプローチとは対照的に、クラスターの解釈に対する「ハイタッチ」の人間の関与にあると想定しました。後者の場合、なぜあなたは質問をするのですか?また、戦略的B2Cマーケティング、B2Bテクノロジーアリーナ、教育方針(学生と学校のクラスタリング)など、さまざまなビジネス環境でクラスターソリューションを実行した経験が豊富であることにも注意してください。

まず、「異なるデータセットのグループ化」に関するコメントについて質問があります。それが何を意味するのか、それがどのようにアプローチに影響を与えるのかわからなかったので、詳しく説明してほしいと思っていました。

PCAに基づくソリューションは「解釈が難しい」という上記1の仮定に異議を申し立てます。多くのクラスタリングアルゴリズムが機能の冗長性の影響を受けやすい限り、クラスタリングの予備ステップとしてPCAを実行する理由は、主に結果として得られるソリューションの衛生状態に関係しています。PCAは、この冗長性を扱いやすい少数のコンポーネントに集約することで、機能の選択に関して指摘する課題と困難を最小限に抑えます。PCAからのコンポーネント出力が個々の機能の細分性と特異性をぼかすことは事実ですが、これはあなただけが依存している場合の問題です結果の分析におけるこれらのコンポーネントについて。つまり、クラスターの解釈にコンポーネントのみを使用することに縛られることはありません。それだけでなく、因子の次元が「意味するもの」を気にする必要もありません。これらは、実用的な解決策を促進するための中間的かつ(最終的に)使い捨ての手段にすぎません。しかし、チームが「意味のある」因子ソリューションを慎重に構築することができる、する、する、するので、私は多くの実務家とは異なります。私にとって、これはクライアントの時間とお金の非効率的な無駄です。

この時点で、対応すべき技術的な考慮事項が大量にあります。1つは、PCAアルゴリズムがスケール不変でない場合(たとえば、OLSとMLの場合)、結果として得られるPCAソリューションは歪曲し、高分散機能により多くロードされます。これらの場合、この差異を平坦化するために、何らかの方法でフィーチャを前処理または変換する必要があります。ここには、平均の標準化、範囲またはIQR標準化、イプシブスケーリングなど、非常に多くの可能性があります。その変革を活用して、最高の最も解釈可能なソリューションを提供します。

クラスターソリューションが生成されたら、コンポーネントを無視し、ソリューションで直接使用されていない追加の説明情報とともに元の機能を折り返すことで、解釈は(私の経験では)最も動機付けられます。この時点で、いくつかのヒューリスティックが定性的洞察への最良のガイドです。これは、各特徴(シートの行)の平均または中央値、各クラスター(列)、およびサンプル全体の総平均を表す追加の列に基づいてクラスターをプロファイルするスプレッドシートを生成するのと同じくらい簡単です。 。次に、各特徴のクラスター平均に総平均に対してインデックスを付ける(そして100を掛ける)ことにより、およそ「100」が「通常の」IQまたは平均動作である限り、IQスコアのようなヒューリスティックが作成されます。120以上のインデックスは、クラスターの動作について機能が「真」である可能性が高いことを示唆しており、80以下のインデックスは、クラスターの「真ではない」機能を示しています。120以上および80以下のこれらのインデックスは、ソリューションを駆動する上での特定の機能の重要性に関するプロキシt検定のようなものです。もちろん、重要性のあるグループテスト間で実行することができ、サンプルサイズによっては、これらの迅速で汚い経験則に基づいて変化する答えが得られます。

OK ...それでも、PCAをクラスタリングアルゴリズムへの直接入力として使用することにまだ反対していると仮定すると、機能の削減されたセットを選択する方法に関して問題が残ります。PCAは従属変数なしで回帰を実行するようなものなので、PCAはここでも役立ちます。各コンポーネントの上位ローディング機能は、クラスターアルゴリズムへの入力になります。

多数の特徴とデータの比較的小さいサンプルサイズについては、多くの「完全な情報」の多変量解析における一般的な経験則は、特徴ごとに最低でも約10の観測です。この課題を回避するために活用できるいくつかの特殊な方法があります。たとえば、部分最小二乗法(PLS)は、ハーマンウォルドが1990年の著書Theoretical Empiricismでこの正確な問題に直面するケモメトリックスなどの分野で使用するために最初に開発しました。それは本質的に因子分析ですが、次元を生成するために大きなnを必要とする点でそれほど厳密ではありません。その他のソリューションには、大量の情報で使用されるランダムなフォレストのような「分割統治」機械学習アプローチが含まれます。これらのメソッドはこのPDFでレビューされていますhttp://www.wisdom.weizmann.ac.il/~harel/papers/Divide%20and%20Conquer.pdf

しかし、因子分析とは何も関係なく、監視付きの「順次」選択プロセスを実行する準備ができていないと判断したとします。私の見解では、最も重要な問題は、事後的なパフォーマンスメトリック(ダンインデックス)を見つけることよりも、このアプローチを可能にするための適切なプロキシ(従属変数)を特定することです。この決定は完全にあなたの判断とデータに対するSMEステータスの関数です。「ベストプラクティス」はありません。これに対する答えはそれほど簡単ではなく、データの記述方法を考えると、小さな挑戦ではありません。

その決定が行われると、文字通り何百もの変数選択ソリューションから選択できます。変数選択は、すべての統計学者とその兄弟が論文を発表したトピック領域です。あなたの好みのアプローチは「シーケンシャルフォワードセレクション」が良いようです。

アルゴリズムの一部としてクラスターソリューションに組み込まれる教師あり学習モデルが存在することは注目に値します。この例には、潜在クラスモデルとして知られている大きくて柔軟性の高いアプローチが含まれます。LCモデルの本質は、それらが2つのステージであることです。ステージ1では、DVが定義され、回帰モデルが構築されます。2番目の段階では、モデルからの残差出力の不均一性(単一の潜在ベクトル)が潜在「クラス」に分割されます。このCVディスカッションにはLCモデリングの概要があります... 潜在クラスの多項式ロジットモデルの疑い

お役に立てれば。


質問に時間を割いていただき、ありがとうございました。まず最初に、これがまさに私が取り組んでいる分野なので、ケモメトリックスについて言及したのはおかしいです。さまざまなサンプルの測定でクラスターを見つけようとしていますが、私の特徴はnmrスペクトルの信号です。私の分析の目的はクラスターを実際の機能(信号)の一部に関連付けることなので、これがPCAの早期破棄を検討した主な理由でもあります。私はシーケンシャルセレクションを使用することに夢中になっているわけではありません。これは、これまで使用してきたものに過ぎません。私はあなたが与えたリンクを見ていきます。
JohnDoe

それはケモメトリックスについておかしいです。ウォルドの本は、おおむね読みやすいです。どのような「被験者」がサンプルを構成していますか?nmrsイメージングとは何ですか?
マイクハンター

サンプルは水性植物抽出物であり、1H-nmrスペクトルを取得します。私の仕事は純粋に探索的です。後で異なる遺伝子型または干ばつストレス抵抗性などの植物の異なる機能のいずれかに関連付ける必要があるクラスターを見つけることになっています。正しい代謝産物のセットを見つけるための良い出発点を見つけるのは簡単ではありませんさまざまな質問に対してさまざまな機能によってさまざまなクラスターが作成されるため、クラスターの分割に役立つ/機能。
JohnDoe 2015年

したがって、私はシーケンシャルアプローチが最も効果的だと考えました:-データをクラスター化する機能のセットを見つけます-次に、それらの機能をセット全体から削除して最初からやり直しますこのようにして、後で関連付けることができるクラスターのセットをいくつか見つけたいと思っていますさまざまな質問
JohnDoe、2015年

1
検討する必要があるのは、探索的作業を、「確認」クラスター分析とも呼ばれる、事前定義または定義されたクラスターのセットと比較することです。これは、あなたやあなたのチームが、たとえば植物の「干ばつストレス耐性」の関数として、クラスター形成についていくつかの強い仮説を持っているように聞こえるので、これを提案します。探索的作業が優れた洞察と結果をもたらすことがわかるでしょう。探索的クラスタリングはデータで利用可能な完全な情報を活用しますが、「確認」割り当てルールは通常、比較的少数の機能を利用します
Mike Hunter

1

必要なのは、クラスタリング品質の基準だけです。これがアイデアです。トレーニングとテストでデータを分割し、トレーニング部分でクラスタリングを構築します。このクラスタリングを使用して、テストセットの各要素を(最も近いクラスタで)クラスタ化します。テストセットに個別のクラスタリングを構築します。予測されたクラスタリングとのテストでのクラスタリングの類似性を見つけます。この類似性は、クラスタリング品質の基準です。今、この類似性を測定する方法はあなた次第です。取得したら、機能のサブセットを選択して、この類似性を最大化します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.