8

家族の好みに合わせてHTPCで映画を分類するアプリを書こうと思っています。

統計やAIはわかりませんが、ここにあるものはとてもジューシーに見えます。どこから始めたらいいのかわからない。

これが私が達成したいことです:

  1. 各ユーザーの好みのサンプルのセットを作成し、各サンプル属性を個別に評価します。たとえば、ユーザーが西部劇を非常に好む場合、西部劇のジャンルはそのユーザーにとってもう少し重要になります(俳優、監督などの他の属性についても同様です)。

  2. ユーザーは、他のユーザーのいいねに基づいて提案を得ることができます。たとえば、ユーザーAとBの両方がSpielberg(ユーザー間の接続)を好み、ユーザーBがバットマンビギンズを愛しているが、ユーザーAがケイティホームズを嫌っている場合は、それに応じてユーザーAの映画の重さを量ります(ここでも、各属性を別々に、たとえば、ユーザーAはアクション映画があまり好きではないので、評価を少し下げてください。ケイティホームズは主役ではないので、他の属性ほど考慮しないでください)。

基本的に、ユーザーAのセットをユーザーBのセットと比較し、ユーザーAの評価を考え出します。

私はこれを実装する方法について大まかな考えを持っていますが、いくつかの明るい心はすでにはるかに優れた解決策をすでに考えていると確信しています、それで...何か提案はありますか?

実際、簡単な調査の結果、ベイジアンフィルターが機能するようです。もしそうなら、これはより良いアプローチでしょうか?映画データを「正規化」し、ユーザーごとに分類器をトレーニングしてから、各映画を分類するのと同じくらい簡単でしょうか。

あなたの提案にいくつかの脳融解の概念が含まれている場合(私はこれらの主題、特にAIの経験がありません)、肉のようなものに飛び込む前に私が研究するためのいくつかの基本のリストも含めていただければ幸いです。

ありがとう!

4

5 に答える 5

4

これは、OPが推奨システムを構築したかったこの質問に似ています。簡単に言えば、映画に対するユーザーの評価 (たとえば、1 ~ 5 つ星の評価) と各映画の一連の属性 (年、ジャンル、俳優など) で構成される一連のトレーニング データが与えられます。未公開の映画の可能な評価を出力するように、レコメンダーを構築したいと考えています。したがって、入力データは次のようになります。

user movie   year   genre   ...    | rating
---------------------------------------------
  1    1     2006   action         |    5
  3    2     2008   drama          |    3.5
  ...

レーティングされていない映画 X の場合:

10    20     2009   drama   ?

評価を予測したい。未視聴のすべての映画に対してこれを行い、予測された映画の評価で並べ替えて上位 10 を出力すると、推奨システムが得られます。

最も簡単な方法は、k 最近傍アルゴリズムを使用することです。評価された映画の中から、映画 X に「最も近い」映画を検索し、それらの評価を組み合わせて予測を作成します。このアプローチには、最初から簡単に実装できるという利点があります。

他のより洗練されたアプローチが存在します。たとえば、決定木を構築し、トレーニング データに一連のルールを当てはめることができます。また、ベイジアン ネットワーク人工ニューラル ネットワークサポート ベクター マシンなどを使用することもできます。適切なバックグラウンドがなければ、これらのそれぞれを理解するのは簡単ではありません。それでも、外部ツール/ライブラリを使用していると思います。ベイジアン ネットワークに精通しているように見えるので、単純なナイーブ ベイズ ネットが実際には非常に強力である可能性があります。1 つの利点は、欠落データの下での予測が可能になることです。

主な考え方は多少同じです。入力データを取得し、モデルをトレーニングしてから、それを使用して新しいインスタンスのクラスを予測します。

プログラミングを必要としないシンプルで直感的なパッケージでさまざまなアルゴリズムを試してみたい場合は、Weka (私の最初の選択)、Orange、またはRapidMinerを検討することをお勧めします。最も困難な部分は、データセットを必要な形式に準備することです。あとは、どのアルゴリズムを選択して適用するかという簡単さです (数回クリックするだけです!)。

あまり詳細を知りたくない人には、直感的で実装が簡単な最近傍法をお勧めします. それでも、Weka (または他のツールのいずれか) を使用するオプションは検討する価値があります.

于 2009-10-22T19:26:59.410 に答える
2

K最近傍アルゴリズムはあなたの路地のすぐ上にあるかもしれません。

于 2009-10-22T18:26:32.740 に答える
2

これに適したアルゴリズムがいくつかあります。

ARTMAP: お互いに対する確率によるグループ化 (これは高速ではありませんが、問題の IMO には最適です)

ARTMAP は共通の属性のグループを保持し、パーセンテージによって類似性の可能性を決定します。 アートマップ

KMeans: これは、互いに距離によってベクトルを分離します KMeans: ウィキペディア

PCA: 可変ビットからすべての値の平均を分離します。これは、Computer Vision で顔検出と背景減算を行うために使用するものです。 PCA

于 2009-10-21T19:01:28.730 に答える
1

ネットフリックス賞を受賞したトップチームの作品をご覧ください。

于 2009-10-28T12:03:59.917 に答える