12

この質問は少し注意が必要です。多分誰かがこの質問に答えるアプローチを知っています。それが何であるかわからないデータセット(トレーニングデータ)があると想像してください。このデータを分類するための分類アルゴリズムを推測するために、トレーニングデータのどの機能を調べますか?非線形分類アルゴリズムを使用するか線形分類アルゴリズムを使用するかについて、何か言うことができますか?

ちなみに、私はWEKAを使ってデータを分析しています。

助言がありますか?ありがとうございました。

4

2 に答える 2

16

これは実際には1つに2つの質問です;-)

  • 特徴選択
  • 線形かどうか

「アルゴリズムの選択」を追加すると、分類器の設計に関する3つの最も基本的な質問があります。

余談ですが、機能の選択をガイドしたり、機能空間の線形性を主張したりするための専門知識がないことは良いことです。それはデータマイニングの楽しみです:先験的な専門知識なしでそのような情報を推測すること。(ところで、ドメインの専門知識は分類子の結果を再確認するのに適していますが、事前の洞察が多すぎると、優れたマイニングの機会を逃す可能性があります)。そのような先験的な知識がなければ、健全な方法論を確立し、結果に注意深い精査を適用することを余儀なくされます。

特定のガイダンスを提供するのは難しいです。これは、質問で多くの詳細が省略されていることと、私がこれをいくらかBSしているためです;-)。それでもなお、次の一般的なアドバイスがお役に立てば幸いです。

  • 試行するアルゴリズムごとに(より正確には、特定のアルゴリズムのパラメーターのセットごとに)、多くのテストを実行する必要があります。理論は非常に役立ちますが、多くの「試行錯誤」が残ります。相互検証は貴重な手法です。
    簡単に言うと、[利用可能なトレーニングデータのサイズに応じて]、トレーニングデータをいくつかの部分にランダムに分割し、これらの部分の1つ[または複数]で分類器をトレーニングしてから、別の部分でのパフォーマンスについて分類器を評価します。 [またはいくつかの]パーツ。そのような実行ごとに、誤分類エラー(MCE)などのパフォーマンスのさまざまな指標を測定し、分類子のパフォーマンスを示す以外に、これらのメトリック、またはむしろそれらの変動性は、選択された機能の関連性および/またはスケールまたは直線性の欠如。

  • 線形性の仮定とは関係なく、数値特徴の値を正規すると便利です。これは、奇数の範囲などを持つフィーチャに役立ちます。 各次元内で、たとえば中央値の両側に2.5標準偏差内の範囲を確立し、この範囲に基づいてフィーチャ値をパーセンテージに変換します。

  • 名義属性をバイナリ属性に変換し、名義属性の個別の値が存在するのと同じ数のディメンションを作成します。(私は多くのアルゴリズムオプティマイザーがあなたのためにこれを行うと思います)

  • 比較的適切なパフォーマンス(たとえば33%MCE)の1つまたはいくつかの分類子を特定したら、一度に1つのパラメーターのみを変更して、そのような分類子を使用して同じ一連のテストを実行します。たとえば、いくつかの機能を削除し、結果として得られる低次元の分類器が改善または低下するかどうかを確認します。

  • 損失係数は非常に敏感なパラメータです。テストの大部分について、「合理的」であるがおそらく最適ではない値を1つ使用して、最後に損失を微調整してみてください。

  • SVMオプティマイザーによって提供される「ダンプ」情報を活用する方法を学びます。これらの結果は、オプティマイザーが「考える」ことに関して非常に貴重な情報を提供します

  • 特定のドメインの特定のデータセットで非常にうまく機能したものは、別のドメインのデータでは非常にうまく機能しない可能性があることに注意してください...

  • コーヒーはおいしいですが、多すぎません。すべてが失敗したら、それをアイルランドにします;-)

于 2010-03-10T03:54:26.460 に答える
15

うわー、あなたはいくつかのトレーニングデータを持っていて、ドキュメント内の単語を表す特徴を見ているのか、セル内の遺伝子を見ていて分類子を調整する必要があるのか​​わかりません。さて、あなたはセマンティック情報を持っていないので、データセットの統計的特性を見て、これを行う必要があります。

まず、問題を定式化するために、これは単なる線形対非線形以上のものです。このデータを本当に分類しようとしている場合、実際に行う必要があるのは、線形または非線形(ガウス、多項式、双曲線など)の分類器のカーネル関数を選択することです。さらに、各カーネル関数は次のようになります。設定する必要のある1つ以上のパラメーター特定の分類問題に最適なカーネル関数とパラメーターセットを決定することは、実際には解決された問題ではありません。有用なヒューリスティックのみがあり、「カーネル関数を選択する」または「カーネルを選択する」場合は、有用なヒューリスティックのみがあります。機能」、あなたは様々なアプローチを提案し、テストする多くの研究論文に扱われます。多くのアプローチがありますが、最も基本的でよく使われている方法の1つは、パラメーターに対して最急降下法を実行することです。基本的には、カーネル法とパラメーターセットを試し、データポイントの半分をトレーニングして、その方法を確認します。次に、別のパラメーターセットを試して、その方法を確認します。満足のいく結果が得られるまで、精度が最も向上する方向にパラメーターを移動します。

優れたカーネル関数を見つけるためにこの複雑さをすべて調べる必要がなく、線形または非線形の答えが必要な場合。次に、問題は主に2つのことになります。非線形分類器は、より多くの自由次元を持っているため、過剰適合(一般化不足)のリスクが高くなります。彼らは、良い一般化を思い付くのではなく、単に良いデータポイントのセットを記憶する分類器に苦しむ可能性があります。一方、線形分類器は適合の自由度が低く、線形に分離できないデータの場合、適切な決定関数を見つけることができず、エラー率が高くなります。

残念ながら、「このデータは線形に分離可能か」という質問に答えるのに、分類器自体を試してそのパフォーマンスを確認する以外に、より良い数学的解決策はわかりません。そのためには、私のものよりも賢い答えが必要になります。

編集:この研究論文は、与えられたデータセットが線形に分離可能になるまでにどれだけ近づくかを決定できるように見えるアルゴリズムについて説明しています。

http://www2.ift.ulaval.ca/~mmarchand/publications/wcnn93aa.pdf

于 2010-03-10T02:33:47.310 に答える