7

多かれ少なかれ同じ製品を表すリストがあります。たとえば、以下のリストでは、これらはすべてSeagateハードドライブです。

  1. Seagateハードドライブ500Go
  2. ラップトップ用のSeagateハードドライブ120Go
  3. Seagate Barracuda 7200.12 ST3500418AS 500GB 7200 RPM SATA 3.0Gb/sハードドライブ
  4. Seagateの新しくて光沢のある500Goハードドライブ
  5. Seagate Barracuda 7200.12
  6. Seagate FreeAgentDesk500GB外付けハードドライブSilver7200RPMUSB2.0 Retail

人間の場合、ハードドライブ3と5は同じです。もう少し進んで、製品1、3、4、および5が同じであり、他のカテゴリーに製品2および6を入れると仮定することができます。

分類したい製品の膨大なリストがあります。誰かがそのようなことをするための最良のアルゴリズムが何であるかについての考えを持っていますか?助言がありますか?

私はベイズ分類器のことを考えていますが、それが最良の選択であるかどうかはわかりません。どんな助けでもいただければ幸いです!

ありがとう。

4

7 に答える 7

5

少なくとも 2 つのコンポーネントが必要です。

まず、「機能」抽出を行うもの、つまりアイテムを取得して関連情報を抽出するものが必要です。たとえば、「新しくてピカピカ」は、「500Go ハード ドライブ」や「シーゲイト」ほど関連性がありません。(非常に)単純なアプローチは、単純なヒューリスティック抽出メーカー、「USB2.0」などのテクノロジー名、および「GB」、「RPM」などのパターンを各項目から構成することです。

その後、各アイテムの一連の機能が完成します。一部の機械学習関係者は、これを「特徴ベクトル」に入れることを好みます。つまり、各特徴に対して 1 つのエントリがあり、特徴が存在するかどうかに応じて 0 または 1 に設定されます。これがデータ表現です。このベクトルで、距離比較を行うことができます。

何千ものエントリのベクトルになる可能性があることに注意してください。それでも、結果をクラスター化する必要があります。

おそらく有用なウィキペディアの記事:

于 2009-03-29T20:52:09.240 に答える
1

発生する問題の 1 つは、非線形または順序付けられていない属性で最近傍を決定することです。ここでマヌエルのエントリに基づいて構築しています。

問題の 1 つは、(1) Seagate 500Go、(2) ラップトップ用の Seagate Hard Drive 120Go、および (3) Seagate FreeAgent Desk 500GB 外付けハード ドライブ シルバー 7200RPM USB2.0 の近さを決定することです。

1 は 2 に近いですか、それとも 3 に近いですか? 違いは異なるカテゴリを正当化しますか?

外付け HD は両方の種類のマシンで使用できるため、人間は 3 は 1 と 2 の間であると言うでしょう。つまり、誰かがデスクトップ用の HD を検索し、選択肢の範囲を広げて代替品を含めた場合、外付け HD も表示されますが、ラップトップ HD は表示されません。おそらく、SSD、USB メモリ スティック、CD/DVD ドライブがラップトップ ドライブの前に登場し、範囲が拡大するでしょう。

考えられる解決策:

ユーザーに属性のペアを提示し、近接性に重みを付けさせます。特定の属性がどれだけ近いかを示す尺度を与えます。選択範囲を広げると、このスケールがこの属性の距離関数として使用されます。

于 2009-03-30T11:29:53.747 に答える
1

製品を実際に分類するには、黒板を使った「強化されたニューラル ネットワーク」のようなものを使用できます。(これは正しい方向に考えさせるための比喩であり、用語の厳密な使用法ではありません。)

リスナーまたはイベント (ニューロンやシナプスと同様) を介して接続されている一連のオブジェクトを想像してください。各オブジェクトには一連のパターンがあり、これらのパターンに対して入力をテストします。

例:

  • 1 つのオブジェクトが ("seagate"|"connor"|"maxtor"|"quantum"| ...) をテストします
  • [:digit:]*(" ")?("gb"|"mb") をテストする別のオブジェクト
  • [:digit:]*(" ")?"rpm" をテストする別のオブジェクト

これらのオブジェクトはすべて別のオブジェクトに接続され、それらの特定の組み合わせが起動すると、入力がハード ドライブとして分類されます。個々のオブジェクト自体は、メーカー、容量、速度などの特定の特性をブラック ボード (入力について説明する共通の書き込み領域) に入力します。

したがって、ニューロンはしきい値に基づいて発火するのではなく、パターンの認識に基づいて発火します。これらのニューロンの多くは、黒板上で高度に並行して機能し、他のニューロンによる分類を修正することさえできます (おそらく確実性を導入しますか?)

UNSPSCに従って製品を分類するために使用される製品のプロトタイプでこのようなものを使用し、自動車部品の 97% の正しい分類を得ることができました。

于 2009-03-30T11:51:26.893 に答える
1

この種の問題に対する簡単な解決策はありません。特にリストが非常に大きい場合 (何百万ものアイテム)。おそらく、これらの 2 つの論文が正しい方向性を示してくれるでしょう。

http://www.cs.utexas.edu/users/ml/papers/normalization-icdm-05.pdf http://www.ismll.uni-hildesheim.de/pub/pdfs/Rendle_SchmidtThieme2006-Object_Identification_with_Constraints.pdf

于 2009-04-14T12:35:43.933 に答える
0

MALLETには、おそらくうまく機能するCRFとMaxEntの実装があります。誰かが以前に言ったように、最初に特徴を抽出してから、それらを分類器にフィードする必要があります。

于 2010-04-22T13:38:20.607 に答える