加重平均投票システム

エントリー。 この記事は、写真家向けのニジニノヴゴロドコミュニティサイト(photo gorky)の所有者である友人のSemyon Shtorkinによって書かれました。 残念ながら、それはHabréにはありませんが、このトピックで招待を獲得しようとします:)



こんにちは 評判の良いhabrasocietyに、非常に客観的な評価システムと、5段階評価の加重平均システムに基づく評価を共有したいと思います。





プロジェクトで、ユーザーがさまざまなセクションの特定のコンテンツユニット、たとえば異なるジャンルの写真を公開するとします。 ユーザーは写真に評価を付ける権利があり、評価は計算されます。一般に、これは写真のすべての評価の平均値です。 しかし、他のマルチユーザーリソースと同様に、ランキングで音声が主要な役割を果たす経験豊富なユーザーがいます。また、音声が弱い新人もいます。 ここでは、音声の重みの概念が役立ちます。重みはセクションごとに区別する必要があります。



たとえば、風景写真のジャンルで作業している著者は、このセクションでは最大の声の重みを持っていますが、たとえばヌードセクションでは最小の声の重みを持っています。 声の重みを多かれ少なかれ客観的に表す公式を見つける前に、汗をかかなければなりませんでした。 声の重みの意味は次のとおりです(以下、例は写真サイトの作品と著者の評価に関連します):作家は、作品の最高スコアを収集することにより、特定のセクションで自分の能力を確認する必要があります(5段階評価)。 最も最適な解決策は、音声の重みが0から1、より正確には0.1(初心者向け)に変化することでした。 音声の重みを計算する式は次のようになります。



重量= tanh(N / C)*(SUM(m_value * m_weight)/ SUM(m_weight))/ 5.0;



ここで、Nはこのセクションの出版物の著者に与えられた評価の数、Cはユーザーアクティビティに依存する正規化定数、ユーザーが評価を与えるほど定数は大きくなり、m_valueとm_weightは関連する各特定の評価の値と重みです声の重みを計算する際に。



作者に与えられた評価と正規化定数の比率の双曲線正接は、作者の活動とその関心を考慮に入れます。作者が作品を公開するほど、評価が増えるほど、作品が面白いほど、評価が上がります。 定数Cが大きくなると、tanh()の統一が遅くなります。つまり、ユーザーのアクティビティが多い場合、最大の音声重み(または最大に近い)を達成するには、ユーザーの努力が必要になります。 N / C比の値が2より大きい場合、tanh(N / C)は1に近づき、すべての推定値の加重平均に影響を与えなくなります。



ところで、MySQLに切り替えると、アークタンジェント(ATAN)を使用できますが、PI / 2ではなく1をシークするため、適切な修正を行う必要があります。 また、アークタンジェントは1の双曲線タンジェントよりもPI / 2で遅くなる傾向があるため、定数も修正する必要があることに注意してください。



特定の出版物の評価に関しては、すべてが単純です-評価の数を考慮しない式は次のようになります。



レート= SUM(m_value * m_weight)/ SUM(m_weight);



地域の写真サイトで2年以上使用されている評価システムは、著者の作品を評価するための非常に効果的で客観的な方法であることが証明されています。 ウェイトが0.2未満のレーティングはレーティングの計算に参加しないため、クローンレーティングラッピングは除外されます。そのようなウェイトを達成するには、クローンがメインユーザーと同等の条件で動作する必要があるためです。 実際の作品を公開し(作品の盗難と繰り返しの公開は抑制されます)、リソースの上級ユーザーから評価を得ます。 サイトの特定のセクションでの著者の体重システムの有効性は、国の主要な写真サイトが私のプロジェクトからこの機能を賞賛して採用したときに確認されました。 しかし、彼らはすぐに資金調達の格付けシステムに切り替えたので、彼らはソルベンシーの視覚的表示にのみ自分自身を閉じ込めなければなりませんでした

さまざまなジャンルの作家。



リソースの幸運と客観性を祈ります。

敬具、セミョン・シュトーキン。



All Articles