対象はJDLAの「機械学習の概要」Q4・Q5です。公式正解は Q4=C:複数の要因から売上を予測する例、Q5=A:コンテンツベースフィルタリング。問題文の選択肢は公式ページで確認してください。
Q4:何を予測し、何を入力するか
回帰は数値を予測します。重回帰は、一つの予測対象を複数の説明変数から予測する考え方です。例えば店舗売上を、周辺人口、面積、取扱商品の数などから予測するなら、「売上」が目的変数で、それ以外が説明変数です。基本的な線形モデルなら 予測売上 = 切片 + 係数1×人口 + 係数2×面積 + 係数3×品目数 の形になります。
「明日の株価を今日の株価から予測し、それを使ってさらに翌日を予測する」例には、段階を重ねる時間上の予測がありますが、複数の説明変数を同時に使うという手掛かりではありません。顧客を好みで分けるのはクラスタリングのような教師なし学習、項目を少数の軸へまとめるのは主成分分析などの次元削減です。出力が数値か、分類か、集約かを先に見分けます。
Q5:サービス開始日に何が揃っているか
協調フィルタリングは、利用者と商品の過去の評価・行動の関係を利用します。新規サービスの開始時には、行動履歴がほとんどありません。これがコールドスタートです。商品説明、カテゴリ、特徴量が先にあるなら、それらに基づいて似た商品を薦めるコンテンツベースの方法が出発点になります。
ただし商品情報まで未整備なら、この方法も十分に動きません。人気順、編集者の選定、利用者への好みの質問なども初期対策です。公式Q5では、商品数が多く、開始時点で推薦したいという条件が鍵です。「協調フィルタリングが悪い」のではなく、必要な履歴がその時点で不足しています。
自分で確かめる
練習:開店したばかりの書店に本のジャンルと紹介文はありますが、購入履歴はありません。ジャンルの近さによる推薦と、「似た客が買った本」による推薦のどちらを先に実装できますか。履歴が増えたら何が変わりますか。
解答:最初は本の特徴を使う方法です。購入履歴が十分集まれば、協調フィルタリングを試せます。どちらもオフライン評価だけでなく、新しい利用者や商品に対する実際の振る舞いを確かめます。
覚える一行:回帰では出力と説明変数の数を確認し、推薦では「開始時に利用できるデータ」を確認します。
参照:JDLA公式問題と解答、現行シラバス。