2009-03-29 14 views
7

人工知能を初めて習得しました。私はK最近傍アルゴリズムとその実装方法を理解しています。しかし、スケール上でない物の距離や重さをどうやって計算しますか?K最近傍アルゴリズム疑問

たとえば、年齢の距離は簡単に計算できますが、赤色から青色までの距離はどのように計算されますか?たぶん、色は悪い例です。なぜなら、あなたはまだ周波数を使うと言うことができるからです。たとえば、ハンバーガーでピザを焼くのはどうですか?

私はこれを行う巧妙な方法があると感じている。

ご連絡いただきありがとうございます。

編集:非常に良い回答ありがとうございました。本当に助けてくれてありがとう。しかし、私は道がなければならないと考えています。

このようにすることはできますか?私がKNNアルゴリズムを使用して、上記の3つの食べ物すべてを提供する私のレストランで食べるかどうか、人のための予測をしているとしましょう。もちろん、300人のうちから好きな食べ物、150人のバーガー、100人のピザ愛好家、50人の大好きなフライのような要素があります。常識は、好きな食べ物が、食べるかしないかについての人々の決定に影響することを私に伝えます。

これで、ハンバーガーとして好きな食べ物を入れて、自分のレストランで食べるかどうかを予測します。他の要因を無視し、私の(トレーニング)以前の知識ベースに基づいて、常識は、ピザやフライドポテトを入力した場合と比較して、この特定の野菜の好きな食べ物のk最近隣の距離が近い可能性が高いと言います。

唯一の問題は確率を使用していることです。実際の距離はわからないため間違っている可能性があります。私はまた、おそらく他の要因(価格、日時、レストランがいっぱいであるかどうかなど、私が簡単に数量化できる)で距離が変わることはないので、私はいくつかのパラメータ調整でそれを回避することができるかもしれないと思います。

ああ、誰もがすばらしい答えを出しましたが、私は1つしか受け入れることができません。その場合、私は明日最優秀の投票を受け入れるだけです。もう一度、ありがとう。

答えて

11

「ディメンション」(またはテーブルの列)としてデータを収集するすべての食品を表します。

録音は、あなたがデータを収集し、テーブルに結果を配置することができます誰にすべての人のために、「好き」:今

 
      Burger | Pizza | Fries | Burritos | Likes my food 
person1  1  |  0 |  1 |  1 |  1 
person2  0  |  0 |  1 |  0 |  0 
person3  1  |  1 |  0 |  1 |  1 
person4  0  |  1 |  1 |  1 |  0 

、彼が好きな食べ物の一部に関する情報を、新しい人に与えられましたあなたは、より高度なinfファイルについて...今、あなたはK最近傍を見つけて、いくつかの決定を行うための方法を持っている

など、など Pearson Correlation Coefficient、または Cosine Similarityのような簡単な対策を使用して

を他の人への類似性を測定することができますこれをormationして、 "collaborative filtering"を探します(しかし、私は警告します、それは数学的になります)。

+0

これは私が探していたものでした!どうもありがとうございました。 =) – wai

5

これはAIの知識表現の問題の1つです。主観的に大きな役割を果たします。あなたと私は、例えば、ハンバーガー、ピザ、フライドポテトの "親近感"に同意しますか?

おそらく、比較対象の項目を含むルックアップ行列が必要です。あなたは推移を仮定することができる場合は、この行列を減らすことができるかもしれませんが、私はあなたの例でそれが不確かであると思います。

キーは、比較しようとしている機能を判断しようとすることがあります。たとえば、あなたの食品を健康状態で比較していたら、もっと客観的なものを得ることができます。

2

"Collective Intelligence"を見ると、スケールと値が割り当てられていることがわかります。これが、Netflixが映画のランキングなどを比較する方法です。

あなたは、そのスケールを考え出し、それぞれに値を割り当てることによって、「近さ」を定義する必要があります。

0

これを行うための「最良の」方法はありません。最終的に、あなたは任意のスケールを考え出す必要があります。

7

「最も近い」とは、物事が多かれ少なかれ遠くになることがあるというメトリックがあることを意味します。 「バーガー」、「ピザ」、「フライ」の定量化は、基本的なシステムモデリングのようにKNNの問題ではありません。 「バーガー」、「ピザ」、「フライ」の用語が用語である分析を行うシステムがある場合、そのシステムが存在する理由は、それらがどのように定量化されるかです。与えられた金額のために最高の味と最低のカロリーを得る方法を見つけようとすると、あなたの指標が何であるか知っています。 (もちろん、「最良の味」は主観的ですが、それは別の問題です。)

本質的な定量性を持っているため、分析システムの設計方法を教えることはできません。そこからメトリックを達成して設計しようとしていることを決定するのはあなた次第です。

1

私は実際にこれらの属性のペアをユーザーに提示し、ユーザーに近接性を定義するよう依頼します。あなたは、[類義語は非常に外国語]または同様のものに達するスケールでそれらを提示するでしょう。多くの人がこれを行うと、非線形属性値のための広く受け入れられた近接関数になります。

0

あなたは単に指標を作ることができます。あるいは、攻撃が示唆するように、人々に尋ねることもできます。実際にそれを正しく行うには、bayesian analysisが必要なように聞こえます。

関連する問題