強化学習・レコメンドほか
第6章の最後となる本ページ(6-8)では、これまで扱った教師あり学習・教師なし学習とは異なる発想の強化学習を取り上げます。マルコフ決定過程(状態・行動・報酬)や方策といった基本概念、教師あり学習と強化学習の違いを整理したうえで、ネットワーク分析の基本概念(グラフ・ノード・エッジ)、そしてECサイトなどで身近なレコメンドアルゴリズム(コンテンツベースフィルタリングと協調フィルタリング)まで、幅広いトピックをまとめて扱います。
章の最後には「第6章 確認問題」も用意していますので、本ページまで読み終えたらぜひ挑戦してみてください。
1. 強化学習とは ― 「試行錯誤」から学ぶ仕組み
強化学習※1は、教師あり学習・教師なし学習とはまったく異なる発想で学習を行う手法です。強化学習では、「エージェント」と呼ばれる学習主体が、ある環境の中で行動を選び、その結果として得られる「報酬」を手がかりに、報酬をより多く得られる行動のパターン(方策)を試行錯誤しながら学んでいくという考え方をとります。
強化学習の基本的な枠組みは、マルコフ決定過程※4と呼ばれる考え方で整理されます。マルコフ決定過程は、次の3つの要素から構成されます。状態(今、環境がどんな状況にあるか)、行動(エージェントがその状態でとれる選択肢)、報酬(行動の結果として得られる評価値)です。エージェントは、現在の状態を観測し、行動を選び、その結果として報酬を受け取り、次の状態に移る、というサイクルを繰り返しながら、報酬の合計を最大化するような行動の選び方(方策※5)を学習していきます。マルコフ決定過程(状態、行動、報酬)や方策を、特定のタスクの文脈に当てはめて説明できることは、DS検定のスキルチェック項目です。
| 要素 | 意味 | ゲーム(将棋)の例 | ロボット制御の例 |
|---|---|---|---|
| 状態 | 今の環境の状況 | 現在の盤面 | ロボットの現在位置・姿勢 |
| 行動 | 取れる選択肢 | 指せる手 | 関節の動かし方 |
| 報酬 | 行動の結果得られる評価 | 勝敗(勝てば高い報酬) | 目的地への到達度 |
| 方策 | 状態に応じた行動の選び方 | 盤面に応じた指し手の傾向 | 状況に応じた動作パターン |
- 囲碁や将棋のAIが、対局を繰り返す中で「勝ちやすい手の選び方(方策)」を自ら学習していく
- 倉庫内を移動するロボットが、壁にぶつからず効率よく荷物を運べるよう、試行錯誤を通じて動き方を学習する
- Webサイトのボタン配置を少しずつ変えながら、クリック率(報酬)が高くなる配置を自動的に探索する
強化学習は「正解を教わる」んじゃなくて「やってみて、うまくいったら報酬をもらう」を繰り返す学び方なんだよね。ゲームAIの強さの裏側には、この地道な試行錯誤があるんだよ!
2. 教師あり学習と強化学習の違い
強化学習と教師あり学習は、どちらも「何かを学習させる」という点では似ていますが、前提や定義、応用先が大きく異なります。教師あり学習と強化学習の違いを、前提・定義・応用先といった観点で説明できることは、DS検定のスキルチェック項目です。
| 観点 | 教師あり学習 | 強化学習 |
|---|---|---|
| 前提・与えられるもの | 入力と「正解ラベル」のペアが事前に用意されている | 「正解」は事前に与えられず、行動した結果の報酬だけが手がかり |
| 定義・学習の進め方 | 正解と予測のズレ(誤差)を小さくするようにモデルを調整する | 報酬の合計が大きくなるように、行動の方策を試行錯誤しながら調整する |
| 主な応用先 | 予測・分類(需要予測、迷惑メール判定など) | 連続した意思決定が必要なタスク(ゲーム、ロボット制御、自動運転など) |
教師あり学習は「この入力に対する正解はこれです」と教えてもらいながら学ぶのに対し、強化学習は「この行動をとったら、これだけの報酬が得られました」という結果だけを頼りに、自分で試行錯誤しながら学ぶ点が本質的な違いです。そのため強化学習は、一回きりの予測ではなく、状態が刻々と変化していく中で、一連の行動を連続的に選び続ける必要があるタスクと相性が良いという特徴があります。
教師あり学習は「答え合わせをしながら学ぶ」、強化学習は「試行錯誤の末に得られる報酬から学ぶ」とイメージすると、両者の違いを直感的に区別しやすくなります。
3. ネットワーク分析の基本概念 ― グラフ・ノード・エッジ
人と人のつながりやWebページ同士のリンクなど、「モノとモノとの関係性」そのものを分析対象とする手法をネットワーク分析※2と呼びます。ネットワーク分析では、対象をグラフという構造で表現します。グラフは、個々の要素を表すノード(節点)と、ノード同士のつながりを表すエッジ(辺)から構成されます。
エッジには、つながりに向きがあるかどうかで2種類があります。「AからBへ」というように向きを持つエッジで構成されるグラフを有向グラフ、向きを持たず単に「AとBがつながっている」ことだけを表すエッジで構成されるグラフを無向グラフと呼びます。ネットワーク分析におけるグラフの基本概念(有向・無向グラフ、エッジ、ノード等)を理解していることは、DS検定のスキルチェック項目です。
| 用語 | 意味 | 具体例 |
|---|---|---|
| ノード(節点) | グラフを構成する個々の要素 | SNSの利用者、Webページ、駅 |
| エッジ(辺) | ノード同士のつながり | フォロー関係、リンク、路線 |
| 有向グラフ | エッジに向きがある | SNSの「フォローする/される」の関係 |
| 無向グラフ | エッジに向きがない | 友人関係(相互のつながり) |
- SNSの「誰が誰をフォローしているか」は、利用者をノード、フォロー関係をエッジとする有向グラフで表現できる
- 路線図は、駅をノード、駅間の線路をエッジとする無向グラフとして扱える
- Webページ同士のリンク構造は、ページをノード、リンクをエッジとする有向グラフとして分析できる
「フォローする/される」みたいに一方通行の関係は有向グラフ、「友達」みたいにお互い様の関係は無向グラフ。SNSを思い浮かべながら整理すると覚えやすいよ!
4. レコメンドアルゴリズム ― コンテンツベースと協調フィルタリング
ECサイトや動画配信サービスの「あなたへのおすすめ」でおなじみのレコメンドアルゴリズムには、大きく分けて2つのアプローチがあります。コンテンツベースフィルタリング※6と協調フィルタリング※3です。
コンテンツベースフィルタリングは、商品やコンテンツそのものの特徴(属性)に注目する方式です。「あるユーザーが過去に高く評価した商品と、似た特徴を持つ商品」をおすすめします。たとえば、あるユーザーがミステリー小説を好んで読んでいたら、同じジャンル・似た作風の別の作品をおすすめする、というイメージです。
これに対して協調フィルタリングは、商品そのものの特徴ではなく、多数のユーザーの行動履歴(評価・購買パターン)の類似性に注目する方式です。「自分と似た好みを持つ他のユーザーが高く評価している商品」をおすすめします。商品の中身を分析する必要がなく、大量のユーザーの行動データがあれば機能するという特徴があります。コンテンツベースフィルタリングと協調フィルタリングの違いを説明できることは、DS検定のスキルチェック項目です。
| 観点 | コンテンツベースフィルタリング | 協調フィルタリング |
|---|---|---|
| 注目する情報 | 商品・コンテンツ自体の特徴(属性) | 多数のユーザーの行動履歴の類似性 |
| 考え方 | 「あなたが好きなものと似た特徴を持つもの」をすすめる | 「あなたと似た好みの人が好きなもの」をすすめる |
| 新商品への強さ | 特徴さえわかれば新商品でもおすすめしやすい | 十分な評価データが蓄積されるまで機能しにくい |
- コンテンツベース:「SF映画を高評価したユーザー」に、同じSFジャンル・似た監督の作品をおすすめする
- 協調フィルタリング:「あなたと似た評価パターンを持つ他のユーザーたちが高く評価している映画」をおすすめする(ジャンルが異なっていても構わない)
コンテンツベースは「モノの中身」に注目し、協調フィルタリングは「人同士の似た者探し」に注目する、と対比させて覚えると区別しやすくなります。実務では両方を組み合わせたハイブリッド型もよく使われます。
「なんでこの商品がおすすめされたんだろう?」って考えるとき、コンテンツベースか協調フィルタリングかを意識してみると面白いよ。この章もこれでラストだね、お疲れさま!
まとめ
本ページ(6-8)では、強化学習・ネットワーク分析・レコメンドアルゴリズムを扱いました。第6章「モデル化と機械学習」はここまでです。最後に振り返っておきましょう。
- 強化学習の基本概念 ― マルコフ決定過程(状態・行動・報酬)と方策にもとづく試行錯誤の学習
- 教師あり学習と強化学習の違い ― 正解を与えられて学ぶか、報酬から自ら方策を学ぶか
- ネットワーク分析の基本概念 ― グラフを構成するノード・エッジ、有向グラフと無向グラフの違い
- レコメンドアルゴリズム ― コンテンツベースフィルタリング(モノの特徴)と協調フィルタリング(人同士の類似性)の違い
次は「第6章 確認問題」で、この章全体の理解度をチェックしてみましょう。そのあとは第7章「自然言語処理と大規模言語モデル」に進みます。
- 強化学習 … エージェントが環境の中で行動を選び、得られる報酬を手がかりに、報酬を最大化する行動の方策を試行錯誤しながら学習する機械学習の一分野。↩
- ネットワーク分析 … 人やモノなどの要素(ノード)と、それらの関係(エッジ)から構成されるグラフ構造を分析する手法のこと。↩
- 協調フィルタリング … 商品自体の特徴ではなく、多数のユーザーの行動履歴の類似性にもとづいておすすめを行うレコメンド手法のこと。↩
- マルコフ決定過程 … 状態・行動・報酬という要素から構成される、強化学習の基本的な枠組みのこと。↩
- 方策 … 強化学習において、それぞれの状態でどの行動を選ぶかという行動選択のルール・戦略のこと。↩
- コンテンツベースフィルタリング … 商品やコンテンツ自体の特徴(属性)に注目し、似た特徴を持つものをおすすめするレコメンド手法のこと。↩