17

私の英語は堪能ではないので、私の文章を辛抱強く待ってください。

プログラマーとして、推奨システムまたは関連ベースのシステムの下に実装されているアルゴリズムまたは機械学習インテリジェンスについて学びたいと思っています。たとえば、最も明白な例は Amazon です。彼らは本当に良い推薦システムを持っています. 彼らは、「これが好きなら、あれも好きかもしれない」、または「これあれを一緒に 好きな人は何パーセントか」を知るようになります。

もちろん、Amazon が大きなウェブサイトであり、これらのシステムに多くの頭脳と資金を投資したことは知っています。しかし、非常に基本的なコアでは、データベース内にそのようなものをどのように実装できるのでしょうか? あるオブジェクトが他のオブジェクトとどのように関連しているかをどのように特定できますか? この種のことを処理する統計ユニットをどのように構築できますか?

誰かがいくつかのアルゴリズムを指摘できれば幸いです。または、基本的に、私たち全員が学ぶことができるいくつかの優れた直接の参考文献/本を指摘してください. 皆さん、ありがとうございました!

4

4 に答える 4

18

2 種類のレコメンデーション エンジンがあります。

最も単純なものは、「製品 A を購入した顧客が製品 B も購入した」などの項目ベースです。これは簡単に実装できます。疎な対称行列 nxn (n はアイテムの数) を格納します。各要素 (m[a][b]) は、誰かがアイテム「a」とアイテム「b」を購入した回数です。

もう 1 つはユーザーベースです。それは「あなたのような人はよくこういうものを好む」ということです。この問題の可能な解決策は、k-means クラスタリングです。つまり、好みが似ているユーザーが同じクラスターに配置されたクラスターのセットを構築し、同じクラスター内のユーザーに基づいて提案を行います。

より優れたソリューションですが、さらに複雑なソリューションは、制限付きボルツマン マシンと呼ばれる手法です。それらの紹介はこちら

于 2010-11-20T10:13:27.333 に答える
3

最初の試行は次のようになります。

//First Calculate how often any product pair was bought together
//The time/memory should be about Sum over all Customers of Customer.BoughtProducts^2
Dictionary<Pair<ProductID,ProductID>> boughtTogether=new Dictionary<Pair<ProductID,ProductID>>();
foreach(Customer in Customers)
{
    foreach(product1 in Customer.BoughtProducts)
        foreach(product2 in Customer.BoughtProducts)
            {
                int counter=boughtTogether[Pair(product1,product2)] or 0 if missing;
                counter++;
                boughtTogether[Pair(product1,product2)]=counter;
            }
}

boughtTogether.GroupBy(entry.Key.First).Select(group.OrderByDescending(entry=>entry.Value).Take(10).Select(new{key.Second as ProductID,Value as Count}));

まず、製品の各ペアが一緒に購入された頻度を計算してから、それらを製品ごとにグループ化し、それと一緒に購入された上位 20 の他の製品を選択します。結果は、製品 ID でキー付けされたある種の辞書に入れる必要があります。

これは、大規模なデータベースでは遅すぎたり、メモリの消費量が多すぎたりする可能性があります。

于 2010-11-20T10:14:29.967 に答える
0

ナレッジ ベース システムについて話していると思います。プログラミング言語 (おそらく LISP) は覚えていませんが、実装はあります。また、OWLを見てください。

于 2010-11-20T10:13:42.883 に答える
0

オープン ソース ソリューションまたはmag3llan.comのような SaaS ソリューションを探している場合は、prediction.ioもあります。

于 2015-09-03T15:30:05.217 に答える