2013-06-11 5 views
9

私は約4000のブログ記事を持っています。私はすべての投稿を以下の値でランク付けしたいと考えていますランキングアルゴリズム

Upvote Count => P 
Comments Recieved => C 
Share Count => S 
Created time in Epoch => E 
Follower Count of Category which post belongs to => F (one post has one category) 
User Weight => U (User with most number of post have biggest weight) 

擬似コードで回答を期待しています。

+0

あまりにも広すぎると投票してください。 –

答えて

19

問題はregression (link)のカテゴリに該当します。機械学習の用語では、features (link)(質問に記載されています)のコレクションがあり、のスコアの値があります。の予測にこれらの機能があります。

Ted Hoppが提案したものは基本的にlinear predictor function (link)です。それはあなたのシナリオにはあまりにも単純なモデルかもしれません。

あなたの問題にはlogistic regression (link)を使用することを検討してください。ここでそれをどのように使用するかについて説明します。

1.それはあなたが快適に手でこれらmブログ記事に目を通すことができ、十分に小さいセットでなければなりません4000のあなたのセットからいくつかのmブログの記事を選択するランダムモデル学習データセット

を作成します。

mブログの投稿のそれぞれについて、「良い」と評価するのは、0から1までです。それが役に立つ場合は、0, 0.25, 0.5, 0.75, 1の値に0, 1, 2, 3, 4「星」を使用すると考えることができます。

今度はそれぞれm個のブログ投稿があり、それぞれに一連の機能とスコアがあります。

"Upvote Count"、 "Comments Recieved"、 "Share Count"、および "Follower Count"の対数を含めることができるなど、派生機能を含むように機能セットを拡張することもできます。 「今」と「作成時刻」の間の時間数の対数を含めることができます。

2.お使いのモデル学習データセットにフィットするロジスティック回帰モデルを見つけるためにあなたのモデル

利用勾配降下を学びます。モデルの学習プロセスでこれらの各ステップを実行できるように、データセットをトレーニング,バリデーションおよびテストに分割する必要があります。

インターネットは詳細でいっぱいであり、それは缶詰のプロセスなので、このセクションでこれ以上説明しません。

ウィキペディアリンク:

3.

があなたのロジスティック回帰モデルを学んだあなたのモデルを適用し、あなたが今のスコアを予測するためにそれを適用することができますどのように新しいブログポストが "良い"か!一連のフィーチャ(および派生フィーチャ)を計算して、モデルを使用してそれらのフィーチャをスコアにマッピングするだけです。

ここでも、インターネットには、このセクションの詳細が含まれています。これは、缶詰のプロセスです。


ご不明な点がありましたら、お気軽にお問い合わせください。

機械学習の詳細については、the free online Stanford Machine Learning course on Coursera.orgをご検討ください。 (私はStanfordまたはCourseraと提携していません)

+0

私は実際にこのモデルが過度のものだと感じています。 Tedが提案したように、各要素/機能の重要度を把握し、スコアを計算することを提案しました。これは、この回答がステップ1で何を求めているのかを正確に示しています。関連性のあるフィーチャにいくつかのウェイトを割り当てることなく、合理的かつ一貫性のあるトレーニングセットのブログ投稿にランクを割り当てる方法を教えてください。明示的に重み付けをして問題が解決したら、なぜ回帰アルゴリズムを使ってランクを「予測する」のですか? – Gmu

+1

@Gmuレストランで食事をしたり、映画を観たり、本を読んだりするなどして、全体的な体験を0から5までの尺度で評価できますか?レストランを評価するときは、「脂肪含有量」、「炭水化物含有量」、「サーバーフレンドリー性」などの非常に低いレベルの機能に意識的に基づいていますか?それから意識的に決めた重量と組み合わせてください。おそらくそうではありません。しかし、レストランは「合理的かつ一貫して」(ある程度まで)評価することができます。 –

+0

清算していただきありがとうございます。あなたの心が無意識に割り当てている潜在的な重力を引き出しています。定性的な回答/スコアの一貫性を前提とした定性的な定量化。 – Gmu

9

私は各ブログ投稿の個々のスコアの加重平均を示唆しています。各値の相対的重要度とバリュースケールの差異の両方を反映するウェイトを割り当てます(たとえば、Eは他の値と比較して非常に大きな値になります)。次に、計算する:

rank = wP * P + wC * C + wS * S + wE * E + wF * F + wU * U; 

各値の相対的重要度、またはランクの意味での値についての情報は提供しません。したがって、これについてより具体的にすることは不可能です。 (作成時間が長い場合、投稿を上または下にランクしますか?下にある場合、wEは負でなければなりません)