情報II / 情報とデータサイエンス 4 / 6

機械学習の基礎

迷惑メールの自動振り分け、顔認証、翻訳、おすすめ動画の表示 — これらはすべて機械学習の応用です。機械学習とは、人間がルールを1つずつプログラムするのではなく、大量のデータからコンピュータ自身が規則性(パターン)を学習する技術で、現在のAI(人工知能)の中心的な手法です。この講義では、機械学習の3つの学習方式と、使ううえで欠かせない注意点を学びます。

従来のプログラミングとの違い

従来のプログラムは「もし〜なら〜する」というルールを人間がすべて書きます。しかし「写真に猫が写っているか判定するルール」を人手で書き尽くすことはほぼ不可能です。機械学習では、猫の写真を大量に与えて「猫らしさの特徴」をデータから自動的に見つけさせます。ルールを書く代わりに、データと答えから規則を学ばせる — これが発想の転換です。

3つの学習方式

① 教師あり学習:正解ラベル付きのデータで学習する方式。「このメールは迷惑メール」「この画像は猫」という正解をたくさん与え、未知のデータの答えを予測できるようにします。答えがカテゴリ(迷惑/通常、猫/犬)の問題を分類、答えが数値(明日の売上、家の価格)の問題を回帰と呼びます。前講の回帰直線は最も単純な教師あり学習とみなせます。

② 教師なし学習:正解ラベルのないデータから、隠れた構造を見つける方式。代表例が、似たものどうしを自動でグループ分けするクラスタリングです。たとえば通販サイトの顧客を購買傾向で数グループに分け、グループごとに違う広告を出す、といった使い方をします。

③ 強化学習:正解データの代わりに報酬を手がかりに、試行錯誤を通じて「報酬が最大になる行動」を学ぶ方式。囲碁AIやロボットの歩行制御、ゲームAIなどで使われます。「うまくいったら+1点、失敗したら−1点」のような評価だけを与え、良い手を自分で発見させます。

例 学校生活にたとえて3方式を整理しましょう。
・教師あり学習 = 解答付きの問題集で勉強する。「問題と正解」のペアを大量に見て、初見の問題も解けるようになる。
・教師なし学習 = 解答のない大量の資料を読み、「この資料とこの資料は似ている」と自分でグループ分けする。
・強化学習 = 部活動の練習。コーチは正解の動きを教えず「今のは良かった/悪かった」とだけ言う。試行錯誤で上達していく。

訓練データとテストデータ、そして過学習

機械学習では、集めたデータを訓練データ(学習に使う)とテストデータ(性能の確認に使う)に分けるのが鉄則です。なぜなら、学習に使ったデータで採点しても本当の実力はわからないからです — 解答を丸暗記した問題集で満点を取るようなものです。

訓練データに合わせすぎた結果、訓練データでは高得点なのに未知のデータでは性能が落ちる現象を過学習(オーバーフィッティング)と呼びます。訓練データの細かい偶然やノイズまで「規則」として覚え込んでしまうのが原因です。対策には、訓練データを増やす、モデルを単純にする、テストデータで性能を監視する、などがあります。

機械学習を使うときの注意

機械学習は与えられたデータの傾向をそのまま学びます。データに偏りがあれば、その偏り(バイアス)まで学習してしまいます。たとえば過去の採用データに偏りがあれば、それを学んだAIは同じ偏った判断を繰り返します。また、判断の根拠を人間が説明しにくい(ブラックボックスになりやすい)という課題もあり、AIの出力を鵜呑みにせず人間が検証する姿勢が不可欠です。

ポイント
  • 機械学習=データから規則性を自動的に学ぶ技術。ルールを人手で書かない。
  • 教師あり学習は正解ラベル付き(分類と回帰)。教師なし学習はラベルなし(クラスタリングなど)。強化学習は報酬による試行錯誤。
  • データは訓練データとテストデータに分ける。学習に使ったデータで評価してはいけない。
  • 過学習=訓練データに適合しすぎて未知データで性能が落ちること。
  • データの偏りはそのままAIの偏りになる。出力の検証は人間の仕事。

練習問題

  1. 次の課題はそれぞれ「教師あり学習」「教師なし学習」「強化学習」のどれが適するか答えなさい。①手書き数字の画像を0〜9に判別する ②アンケート回答者を回答傾向の似たグループに分ける ③対戦を繰り返してオセロの強い打ち方を身につけさせる
  2. 教師あり学習の「分類」と「回帰」の違いを、例を挙げて説明しなさい。
  3. 過学習とは何か説明し、それを見つけるためにデータを訓練データとテストデータに分ける理由を述べなさい。

解答・解説

  1. 解答:①教師あり学習 ②教師なし学習 ③強化学習
    解説:①は「この画像は7」という正解ラベル付きデータで学習する分類問題。②は正解のないグループ分け=クラスタリング。③は勝敗(報酬)を手がかりにした試行錯誤。
  2. 解答:分類は答えがカテゴリになる問題(例: メールが迷惑メールか通常メールかを判定)、回帰は答えが数値になる問題(例: 過去のデータから明日の来店者数を予測)。
    解説:「どのグループか」を当てるのが分類、「いくつか」を当てるのが回帰、と覚える。
  3. 解答:過学習は、訓練データの細部やノイズまで覚え込み、訓練データでは高い正解率なのに未知のデータでは性能が落ちる現象。学習に使ったデータで評価すると丸暗記でも高得点になってしまうため、学習に使っていないテストデータで本当の実力(未知データへの対応力)を測る必要がある。
    解説:「訓練データの成績は良いのにテストデータの成績が悪い」が過学習のサイン。

続きは無料アカウントで読めます

このレッスンの続きと、AIに教えて学ぶ機能が使えます。登録は無料です。

無料でアカウントを作る ログイン

このレッスンの質問と回答

読み込み中...