多変量解析

レコメンドで使われる4つのアルゴリズムを簡単に紐解く!

レコメンド アルゴリズム
記事内に商品プロモーションを含む場合があります
ウマたん
ウマたん
当サイト【スタビジ】の本記事では、レコメンド機能に用いられる4つのアルゴリズムについて数式は使わずに簡単に解説していきます。レコメンドはどこに向かうのかみたいな議論もしていきたいと思います。果たして完璧なレコメンドはあり得るのでしょうか?

こんにちは!

デジタルマーケター兼データサイエンティストのウマたん(@statistics1012)です!

ECサイトを眺めていると、あなたにオススメの商品はこちら!とレコメンドされることってありますよね。

そして、そのレコメンドにまんまとはまって思わぬ商品を購入してしまったり、もしくは全然興味のない商品をレコメンドされてウザいと思ったり。

「俺の何を分かってねん!」とPC画面に叫んでる人もいるかもしれませんが、そんなレコメンドには企業努力の結晶が詰まっているんです。

ウマたん
ウマたん
ウザいって思わないで優しい目で見てほしいな!笑

最近レコメンドについて考えることが多いので、この記事ではレコメンドアルゴリズムについてまとめていきたいと思います。

以下のYoutube動画でも解説していますよ!

レコメンドとは?

studies mention

レコメンドとはそのまま文字通りの意味で「推薦」。

洋服屋さんに入ると、あなたの雰囲気や今日の服装や身長やお財布状況などを推測・聞き出して店員さんがあなたにぴったりの洋服を推薦してくれることがあります。

それがいわゆるレコメンド。

Web上では、あなたに紐づく様々な行動データや属性データが貯まっています。

それは会員情報のようにあなたが直接入力したものかもしれませんし、閲覧情報や購入商品情報など行動ベースでトラックされている情報かもしれません。

それらの情報から企業は、まさに洋服屋の店員さんのようにあなたへぴったりのモノを提供しているのです。

レコメンドのアルゴリズムの種類

pc python

さて、そんなレコメンドですが、どんな仕組みが裏にはあるのでしょうか?

実は、レコメンドアルゴリズムにはいくつかの種類があります。

ロボたん
ロボたん
え、そうなの!?どれも同じかと思ってた、、、
ウマたん
ウマたん
いくつかあるんだけど、ここでは4つを紹介していくよ!

ルールベースレコメンド

Site Stats

これは一番シンプルなレコメンドアルゴリズムです。

企業側はあらかじめ「このような行動を取った人・このような属性の人にこのような商品や情報を提供する」というルールを決めておくというアルゴリズム。

「このページに2回以上訪れた人にはこのレコメンド!」

「この商品を購入した人にはこのレコメンド!」

というようにあらかじめルールを決めておくので単純ですが、応用が利かずルールを決める作業が必要で労力がかかります。

また、ユーザーファーストではなく企業が押し出したいメッセージが届けられることとなりパーソナライゼーションからは程遠い存在になってしまいます。

ただ、やはり簡単であり巷のレコメンドロジックはルールベースで作られているものがまだまだ多いのは事実です。

コンテンツ(内容)ベースレコメンド

Business Plan

続いて、コンテンツベースとか内容ベースとか言われるレコメンドの方法があります。

これは、あるコンテンツや商品に対していくつかの属性(変数)を付けておいて、類似性の高いコンテンツ・商品を推薦するというモノ。

例えば、キュウリとほうれん草は、同じ緑黄色野菜であり、価格も同じくらいであり・・・という類似性からキュウリを購入した人にはほうれん草もレコメンドするというモノ(例えが悪いかも笑)

アディダスのスニーカー買ったらナイキのスニーカーもレコメンドされるようになったみたいな方がイメージ付きやすいかもしれません。

コンテンツベースレコメンドは、比較的興味・関心の保証があるコンテンツ・商品をレコメンドしてくれるのでルールベースよりはユーザーファーストになっていますが、結局同じようなカテゴリーばかりレコメンドされるようになり、面白みに欠けてしまいます。

新たなコンテンツ・商品との出会いが無くなってしまうんですね。

協調フィルタリング

robot

コンテンツベースレコメンドよりもさらにパーソナライゼーションが進んだ手法であり、最もよく使われている手法が協調フィルタリングです。

協調フィルタリングには大きく分けてアイテムベースユーザーベースがあります。

アイテムベースでは、

ユーザーの行動分析を基に商品同士の類似度を算出し、商品Aを購入したユーザーが商品Bも購入しやすいと分かると、商品Aを購入したユーザーに対して商品Bをレコメンドするようになります。

ユーザーベースでは、

ユーザーの行動分析を基にユーザー同士の類似度を算出し、ユーザーAとユーザーBの類似度が高いと分かると、ユーザーAが購入した商品をユーザーBにもレコメンドするようになります。

協調フィルタリングは、全く興味の無かった商品もレコメンドされるようになるので新たな出会い(セレンディピティ)が生じる可能性が高いです。

そして協調フィルタリングは、これだよ!これ!と自分に刺さるレコメンドが実行される可能性が高くコンテンツベースレコメンドよりもユーザーファーストになります。

ただ、協調フィルタリングを使ってもコンテンツベースレコメンドと同じような結果になってしまうことももちろんあります。

協調フィルタリングの欠点は、新商品はレコメンドされにくく新ユーザーもレコメンド精度が悪くなってしまうということ。

協調フィルタリングについて詳しくは以下の記事にまとめているので、興味のある方は是非ご覧ください!

レコメンドに用いられる協調フィルタリングの利点と欠点とは?当サイト【スタビジ】の本記事では、レコメンドロジックとして様々なところで用いられる協調フィルタリングの仕組みを見ていきたいと思います。そして協調フィルタリングの利点・欠点についてもまとめていきますよ!...

ベイズ理論を用いたレコメンドアルゴリズム

AI

最近では、ベイズ理論を用いたレコメンドアルゴリズムも用いられるようになってきているそうです。

ベイズの特徴として、少ない情報でも事前分布という考え方を用いることで比較的精度高く予測することができます。

そのため協調フィルタリングのデータが少ないときに精度が悪くなってしまうという弱点を上手く克服したレコメンドが行えるんです。

いわゆるハイブリッド型のレコメンドアルゴリズムですね。

ベイズ理論に関してはこちらに詳しくまとめているのでよければご覧ください!

ベイズ統計
【入門】ベイズ統計学をベイズの定理の基本から解説!当サイト【スタビジ】の本記事では、伝統的な統計学とは対立した立場を取るベイズ統計学についてまとめていきます。今注目されているベイズ統計学の基本的な部分をしっかりおさえておくことが重要です。...

レコメンドアルゴリズム まとめ

Teacher

本記事では、レコメンドのアルゴリズムについてまとめてきました。

複数あるアルゴリズムのうち、正直どれが正解かは誰も分かりません。

協調フィルタリングが流行っていますが、結局完璧なレコメンドはないと思っていますし、完璧なレコメンドってそもそもなに!?って話ですよね。

個人的には、レコメンドって自分の行動や属性だけから機械的に判断されるものではなくて、信頼が介在するものだと思っているんです。

洋服屋さんで初めての店員さんからレコメンドされるモノより、行きつけの仲良し店員さんにレコメンドされるモノの方が心地よく購入できますよね?

結局、レコメンドが上手くいったかどうかっていうのは購入時の満足感が大事で、その満足感を支えるのはそこまでの過程で生じる信頼関係であるって思ったりするわけです。

ここら辺に関しては、レコメンドはどこへ向かうべきか的な記事をこちらにまとめていますので良ければご覧ください!

レコメンドやパーソナライゼーションのこれから消費財メーカーでデジタルマーケティングをやっているウマたん(@statistics1012)です。 マーケティングの世界では、従来...

ってなわけで、ECサイトとかでレコメンドされたとしても、レコメンドうざい!とか思わずレコメンド頑張ってるな!と暖かい目で見てあげてください!笑

レコメンドロジックについてPythonでの実装や協調フィルタリングの仕組みをもっと知りたい方は以下のスタアカのレコメンドロジックコースをチェックしてみてください!

またUdemyでレコメンド・協調フィルタリングが学べるコースも公開していますのでぜひ興味のある方はチェックしてみてください!

【Python×協調フィルタリング】レコメンドで使われる協調フィルタリングのアルゴリズムを学びPythonで実装!

Udemy_Recommend
【時間】3.5時間
【レベル】初級

レコメンド・協調フィルタリングの基礎を理解したいのであればこれ!

\30日以内なら返金無料/このコースを見てみる

Udemyのコース一覧」に講師クーポン「GT34R35G27DD」を公開していますのでそちらをご利用いただくと最大94%OFFになります!

少しでも機械学習や統計学やデータサイエンスに興味を持った方は以下の記事でより詳しく解説していますのでよければ参考にしてみてください!

機械学習
【入門】機械学習のアルゴリズム・手法をPythonとRの実装と一緒に5分で解説!当サイト【スタビジ】の本記事では、入門者向けに機械学習についてカンタンにまとめていきます。最終的にはどのように機械学習を学んでいけばよいかも見ていきます。細かい手法の実装もPython/Rを用いておこなっていくので適宜参考にしてみてください。...
【初心者必見】統計学入門に必要な知識と独学勉強方法を簡単に学ぼう!当ブログ【スタビジ】の本記事では、統計学入門に必要な知識をカンタンにまとめ、それらをどのように効率的に独学で勉強していけばよいかをお話ししていきます。統計学は難しいイメージが少しありますが、学び方をしっかり考えれば大丈夫!...
【5分で分かる】データサイエンティストに必要なスキルと独学勉強ロードマップ!当サイト【スタビジ】の本記事では、データサイエンティストに求められるスキルとそれを身に付けるための勉強法について徹底的にまとめていきます!入門者でも、しっかりデータサイエンティストについて理解しある程度独学で駆け出しの状態までいけることを目指します。...

イラスト出典:Illustration by Stories by Freepik

スタビジアカデミーでデータサイエンスをさらに深く学ぼう!

スタアカサービスバナースタビジのコンテンツをさらに深堀りしたコンテンツが動画と一緒に学べるスクールです。

プレミアムプランでは私がマンツーマンで伴走させていただきます!ご受講お待ちしております!

スタビジアカデミーはこちら