機械学習の全体像
第6章「モデル化と機械学習」では、DS検定の出題範囲のうち機械学習まわりを扱います。本ページ(6-1)では、個別のアルゴリズムに入る前に押さえておくべき基礎概念を整理します。教師あり学習と教師なし学習の違い、過学習と汎化、次元の呪い、アノテーションの必要性、AIの公平性リスク、ホールドアウト法・交差検証、データドリフト、ニューラルネットワークの基本、データの質と量の重要性まで、機械学習を学ぶ土台となる考え方をまとめて扱います。
決定木やランダムフォレスト、SVMといった代表的なアルゴリズムそのものは、次のページ「6-2. 代表的な機械学習アルゴリズム」で扱います。2ページ合わせて、DS検定の機械学習分野の必須知識をすべてカバーする構成です。
1. 機械学習とは何か ― 教師あり学習と教師なし学習
機械学習※1とは、コンピュータにルールを人間がすべて書き下すのではなく、大量のデータからパターンや規則性を自動的に学習させる技術の総称です。従来のプログラミングが「条件と処理を人間が明示的に書く」ものだったのに対し、機械学習は「データを与えると、モデルが自らパターンを見つけ出す」という発想の転換にあります。
機械学習は、学習のさせ方によって大きく2つに分類されます。ひとつは教師あり学習で、「入力データ」と「正解ラベル」がセットになった訓練データを使い、入力から正解を予測するモデルを作ります。もうひとつは教師なし学習で、正解ラベルを与えず、データそのものの構造やパターン(グループ分けなど)を見つけ出します。「教師あり学習」「教師なし学習」の違いを理解していることは、DS検定の必須スキルチェック項目です。
| 区分 | 与えるデータ | 目的 | 代表的な問題 |
|---|---|---|---|
| 教師あり学習 | 入力データ+正解ラベル | 未知の入力から正解を予測する | 回帰、分類 |
| 教師なし学習 | 入力データのみ(正解ラベルなし) | データの構造やグループを見つける | クラスター分析、次元削減 |
機械学習の手法は、回帰や分類、クラスター分析など解決できる問題によって性質が異なります。たとえば「来月の売上金額を予測したい」という連続的な数値を当てる問題は回帰、「この顧客は解約するかしないか」という区分を当てる問題は分類、「似た購買行動をとる顧客をグループ分けしたい」という正解のないグループ化はクラスター分析にあたります。手法を3つ以上知っており、それぞれがどんな問題を解決できるかを説明できることが、DS検定でも求められます。
- 過去の「広告費・気温・曜日」と「実際の売上金額」のペアから、来月の売上を予測する ― 教師あり学習(回帰)
- 過去の顧客データから「解約した/しなかった」という正解ラベルをもとに、解約しやすい顧客を判定する ― 教師あり学習(分類)
- 正解ラベルのない顧客の購買データから、似た傾向を持つ顧客層をグループ分けする ― 教師なし学習(クラスタリング)
「正解ラベルがあるかないか」、これだけで教師あり・教師なしを見分けられるよ。試験でもまずここが問われるから、迷ったら「正解、渡されてる?」って考えてみてね。
2. アノテーションという地味だけど大切な作業
教師あり学習を行うには、入力データに対応する「正解ラベル」が必要です。この正解ラベルを人手などで付与していく作業をアノテーション※2と呼びます。たとえば猫と犬を見分ける画像分類モデルを作りたいなら、大量の画像1枚1枚に「これは猫」「これは犬」というラベルを付ける必要があります。
アノテーションは地味な作業に見えますが、教師あり学習の精度は、アノテーションの質と量に大きく左右されます。ラベル付けの基準が担当者によってバラバラだったり、誤ったラベルが混ざっていたりすると、どれだけ優れたアルゴリズムを使っても正しい予測はできません。実務では、アノテーションのガイドラインを整備し、複数人でチェックする体制を組むことが多くあります。
- コールセンターの応対ログに「クレーム/問い合わせ/その他」のラベルを人手で付けて、自動分類モデルの訓練データにする
- ECサイトの商品画像に「カテゴリ」ラベルを付けて、新商品が出たときに自動でカテゴリ分類できるようにする
- アンケートの自由記述に「ポジティブ/ネガティブ/中立」のラベルを付けて、感情分析モデルを訓練する
「良いモデルを作るには良いアルゴリズムが必要」と思われがちですが、教師あり学習の出発点は質の高いアノテーションが施された訓練データです。ラベル付けの手間を軽視すると、後工程でどれだけ工夫してもモデルの精度は頭打ちになります。
3. 過学習と汎化 ― モデルは「丸暗記」してはいけない
機械学習モデルを訓練するとき、もっとも注意すべき現象のひとつが過学習※3(オーバーフィッティング)です。過学習とは、モデルが訓練データに対して異常なほど精度良く適合してしまい、訓練データの細かいノイズやクセまで丸暗記してしまう状態を指します。
過学習したモデルは、訓練データに対しては驚くほど高い精度を出しますが、訓練時に見たことのない未知のデータ(テストデータや本番データ)に対しては精度が大きく落ちるという問題を引き起こします。これは、モデルが「データの背後にある本質的なパターン」ではなく、「その訓練データだけに存在する偶然の癖」を学習してしまったために起こります。過学習とは何か、それがもたらす問題について説明できることは、DS検定の必須スキルチェック項目です。
過学習の対義語にあたる、未知のデータにもうまく対応できる能力を汎化性能と呼びます。機械学習モデルづくりの目標は、訓練データへの当てはまりの良さだけでなく、この汎化性能を高めることにあります。過学習を防ぐには、モデルを複雑にしすぎない、データ量を増やす、正則化と呼ばれる手法でモデルの複雑さにペナルティを課す、といったアプローチが取られます。
- 模擬試験の過去問を丸暗記した受験生が、過去問とまったく同じ問題には満点を取れても、少し表現を変えた本番の問題には対応できない
- ある店舗の過去1年の売上データだけに細かくフィットさせたモデルが、翌年には全く当たらなくなる
- 顧客数百人の訓練データに完璧に適合するモデルを作ったが、新規顧客の解約予測ではまったく精度が出ない
過去問を丸暗記しただけだと、本番で問題文が少し変わっただけで解けなくなっちゃうよね。モデルもまったく同じで、「暗記」じゃなくて「応用が利く学び方」を目指すのが大事なんだよ。
4. 次元の呪い ― 変数を増やせばよいわけではない
機械学習モデルに使う「特徴量(変数)」の数を増やせば増やすほど精度が上がる、と思われがちですが、実際にはそう単純ではありません。特徴量の数(次元数)が増えるにつれて、データが存在しうる空間が爆発的に広がり、同じデータ量ではその空間をスカスカにしか埋められなくなる現象を次元の呪い※4と呼びます。
次元が高くなるほど、データ点同士の距離の意味が薄れ、「近い/遠い」を使う多くのアルゴリズム(kNNなど)の性能が悪化しやすくなります。また、次元が増えるほど過学習も起きやすくなります。次元の呪いとは何か、その問題について説明できることが、DS検定でも問われます。対策としては、本当に重要な特徴量だけを選ぶ「特徴量選択」や、情報を圧縮する「次元削減」といった手法が用いられます。
「特徴量は多いほど良い」は誤解です。データ量が変わらないまま特徴量だけを増やすと、次元の呪いによってかえってモデルの精度が悪化することがあります。特徴量は、目的に照らして意味のあるものを選ぶ姿勢が大切です。
5. モデルの公平性 ― バイアスと差別的な振る舞いのリスク
機械学習モデルは、与えられたデータからパターンを学習するため、元のデータに偏り(バイアス)が含まれていれば、そのバイアスをそのまま、あるいは増幅して学習してしまうリスクがあります。観測されたデータに社会的な偏見や過去の差別的な慣行の痕跡が含まれている場合、モデルはそれを「正しいパターン」として学習してしまいます。
さらに、学習データの中で少数派にあたるデータは、モデルから見ると出現頻度の少ない「ノイズ」のように扱われてしまうことがあります。その結果、モデルの出力が特定の属性の人々に対して不利益をもたらす、差別的な振る舞いをしてしまうリスクがあることを理解しておく必要があります。これはDS検定の必須スキルチェック項目のひとつです。
- 過去の採用データに性別による偏りがあった場合、それを学習した採用選考AIが特定の性別を不利に評価してしまう
- 特定の地域の融資データが少ないために、その地域の申込者への与信スコアが不当に低く出てしまう
- 顔認識モデルの訓練データに特定の人種のサンプルが少ないと、その人種に対する認識精度だけが著しく低くなる
こうしたリスクに対応するには、モデルの予測結果が特定の属性ごとに不当な差を生んでいないかを事後的にチェックしたり、学習データ自体の偏りを是正したりする取り組みが求められます。モデルを「作って終わり」にせず、公平性の観点から継続的に点検する姿勢が重要です。
AIの差別的な振る舞いは、開発者が意図していなくてもデータの偏りを通じて起こり得ます。「アルゴリズムが悪意を持っている」というより「学習データが社会の偏りを反映している」ことが多い、という理解が大切です。
AIは中立に見えて、実はデータの偏りをそのまま映す鏡なんだよね。少数派のデータが「ノイズ扱い」されちゃうって話、試験でもよく問われるポイントだから覚えておこう!
6. モデルの説明可能性 ― 大域的な説明と局所的な説明
機械学習モデル、とくに複雑なモデルは「なぜその予測をしたのか」がブラックボックスになりがちです。この予測の根拠を説明する方法には、大きく2つの視点があります。ひとつは大域的(global)な説明で、モデル全体として「どの変数が予測にどれくらい寄与しているか」を示します。もうひとつは局所的(local)な説明で、「この1件のレコード(個々の予測)について、どの変数がどう寄与したか」を示します。
たとえば与信スコアリングモデルであれば、大域的な説明は「モデル全体として、年収と返済履歴が最も重要な変数である」という説明であり、局所的な説明は「この申込者個人が否認された理由は、直近の延滞履歴の影響が大きかったから」という説明にあたります。大域的な説明と局所的な説明の違いを理解していることは、DS検定のスキルチェック項目です。
| 観点 | 大域的な説明(global) | 局所的な説明(local) |
|---|---|---|
| 単位 | モデル全体 | 個々のレコード(1件の予測) |
| 問い | どの変数が全体的に重要か | この予測はなぜこの結果になったか |
| 活用例 | モデルの全体設計の妥当性チェック | 個別の顧客への説明責任 |
7. データの分け方 ― ホールドアウト法と交差検証
過学習を防ぎ、モデルの本当の実力(汎化性能)を正しく評価するには、手元のデータを役割ごとに分割することが欠かせません。基本となるのがホールドアウト法※5で、手元のデータを訓練データ(モデルを学習させるためのデータ)、検証データ(パラメータチューニングに使うデータ)、テストデータ(最終的な性能評価に使う、一度も学習に使わないデータ)の3つに分割します。
テストデータを訓練やチューニングに一切使わないことが重要です。もしテストデータの情報が学習過程に漏れてしまうと、テストデータでの評価が「見たことのある問題を解く」評価になってしまい、本当の汎化性能を測れなくなります。
ホールドアウト法は手軽ですが、データの分け方によって評価結果がぶれやすいという弱点があります。これを補うのが交差検証(クロスバリデーション)です。データをいくつかのグループ(フォールド)に分割し、そのうち1つを検証用、残りを訓練用として使う、という手順をグループを入れ替えながら繰り返します。すべてのデータが1度は検証用として使われるため、より安定した精度評価が可能になります。ホールドアウト法、交差検証法の仕組みを理解し、訓練データ、検証データ、テストデータを作成できることが、DS検定でも求められます。
- 顧客1万件のデータを、訓練70%・検証15%・テスト15%に分割してモデルを構築する
- データを5つに分割し(5分割交差検証)、5回学習・評価を繰り返して精度の平均を最終評価とする
- テストデータには、モデルが完成するまで一度も触れさせず、最後の性能確認だけに使う
訓練・検証・テストの3分割は、「練習問題」「模擬試験」「本番の試験」にたとえられます。模擬試験(検証データ)の結果を見てパラメータという勉強法を調整し、本番の試験(テストデータ)は最後まで一度も見ずに実力を測ります。
テストデータをチューニングに使っちゃうのは「カンニングして模試の点数が良かった」って言ってるようなもの。試験でも「テストデータは学習に使わない」って原則、絶対覚えておいてね!
8. 運用後の落とし穴 ― データドリフト
機械学習モデルは、一度精度良く作ったら終わりではありません。モデルは学習を完了した時点のデータの傾向にもとづいて作られているため、時間の経過とともに世の中のデータの性質が変化すると、モデルの前提とズレが生じ、精度が徐々に劣化していきます。この現象をデータドリフト※6と呼びます。
たとえば消費者の購買行動や市場環境、季節性、競合の動きなどは常に変化しています。学習時点では優秀だったモデルも、こうした変化についていけなくなれば、いずれ実務で使い物にならなくなります。そのため、機械学習モデルは運用開始後も継続的に精度をモニタリングする必要があることを理解しておくことが重要です。
- コロナ禍前の購買データで学習した需要予測モデルが、生活様式の変化後には精度が大きく落ちた
- 新しい競合店舗の出店によって、既存の来店予測モデルの前提が崩れた
- SNS上の炎上リスク検知モデルが、新しい流行語やスラングに対応できず精度が下がった
モデルの精度は「作った瞬間が最高点」で、そこから劣化していくのが基本です。運用開始後も定期的に精度を監視し、必要に応じて再学習するという運用設計まで含めて、機械学習プロジェクトだと考えましょう。
9. ニューラルネットワークの基本的な考え方
機械学習の中でも、人間の脳の神経細胞(ニューロン)のつながりを模した仕組みをニューラルネットワーク※7と呼びます。ニューラルネットワークは、データを受け取る入力層、情報を変換・組み合わせて特徴を抽出する隠れ層、最終的な予測結果を出力する出力層という3種類の層が連なった構造をしています。
各層のニューロンは、前の層からの入力を重み付けして合計したあと、活性化関数と呼ばれる関数を通して次の層に伝えます。活性化関数が重要なのは、それが入っていないと、どれだけ層を重ねても結局は単純な足し算・掛け算の組み合わせ(線形な変換)にしかならず、複雑なパターンを表現できないためです。活性化関数によって非線形性が加わることで、ニューラルネットワークは複雑な関係性を学習できるようになります。ニューラルネットワークの基本的な考え方、入力層・隠れ層・出力層の概要、活性化関数の重要性を理解していることは、DS検定の必須スキルチェック項目です。
ニューラルネットワークの基本構造は入力層 → 隠れ層(1つ以上) → 出力層です。隠れ層を何層も重ねて複雑なパターンを学習できるようにしたものが、次のページ以降で扱う「深層学習(ディープラーニング)」です。
10. 連合学習 ― データを持ち寄らずにモデルを鍛える
機械学習は「データを1か所に集めて学習する」のが基本形ですが、個人情報保護や機密性の観点から、データそのものを外部と共有できないケースも多くあります。この課題に対応する技術が連合学習(フェデレーテッドラーニング)※8です。
連合学習では、各拠点(スマートフォンや病院、企業など)が自分の手元にあるデータを外部に出すことなく、それぞれの手元でモデルを学習し、学習によって得られた「モデルのパラメータ(重み)」だけを中央のサーバーに送って統合します。データそのものは各拠点から一歩も外に出ないため、プライバシーを保ちながら、複数の組織のデータを活かした強力なモデルを構築できる点が特徴です。
- 複数の病院が、患者データそのものは病院外に出さずに、各病院で学習したモデルのパラメータだけを共有して診断支援モデルを共同構築する
- スマートフォンの予測変換機能が、各端末上での入力履歴を端末外に送らずに学習し、モデルの更新情報だけをサーバーに送る
11. モデルより先にデータを見直す
機械学習の精度を上げたいとき、多くの人はまず「もっと高度なアルゴリズムを使おう」「パラメータをもっとチューニングしよう」と考えがちです。しかし実務では、モデル自体の改善よりも、データの質と量を向上させるほうが効果的な場合が多いことが知られています。
たとえば、ラベルの誤りが多い訓練データをどれだけ高度なアルゴリズムに通しても、間違ったパターンを学習してしまいます。逆に、シンプルなアルゴリズムであっても、質の良いデータを十分な量そろえられれば、複雑なアルゴリズムを凌ぐ精度が出ることも珍しくありません。モデルの性能改善において、データの質と量を見直すアプローチの有効性を理解していることは、DS検定の必須スキルチェック項目です。
- 複雑なモデルにいくら手を加えても精度が上がらなかったが、ラベルの誤りを洗い出して修正したところ精度が大きく改善した
- 訓練データの件数を2倍に増やしただけで、モデル構造は変えずに精度が向上した
- 特徴量として使っていたデータの欠損や外れ値を丁寧に処理したことで、モデルの安定性が増した
「Garbage in, garbage out(ゴミを入れればゴミが出る)」という言葉があるとおり、モデルはデータの質を超えられません。行き詰まったら、まずアルゴリズムより先にデータそのものを疑ってみましょう。
「アルゴリズムを頑張って改良する」より「地味にデータをきれいにする」ほうが効果的なこと、実務だとすごく多いんだよね。派手さはないけど、これが本当に効くコツだよ!
まとめ
本ページ(6-1)では、機械学習の基礎概念を整理しました。次のページ(6-2)では、決定木・ランダムフォレスト・SVMなど、代表的なアルゴリズムそのものを具体的に見ていきます。最後に1行ずつ振り返っておきましょう。
- 教師あり学習・教師なし学習 ― 正解ラベルの有無で分かれる、機械学習の2大分類
- アノテーション ― 教師あり学習に不可欠な正解ラベル付け作業
- 過学習と汎化 ― 訓練データの丸暗記ではなく、未知データへの対応力を高める
- 次元の呪い ― 特徴量は多ければよいわけではなく、増やしすぎると精度が悪化しうる
- 公平性リスク ― データのバイアスがモデルの差別的な振る舞いにつながりうる
- 大域的・局所的な説明 ― モデル全体の説明と、個別レコードの説明は異なる
- ホールドアウト法・交差検証 ― 訓練・検証・テストを分けて汎化性能を正しく評価する
- データドリフト ― 運用後もデータの変化にともなう精度劣化を監視し続ける
- ニューラルネットワーク ― 入力層・隠れ層・出力層と活性化関数による非線形な学習
- 連合学習 ― データを共有せずパラメータだけを統合する仕組み
- データの質と量 ― モデル改善よりデータの見直しが効果的な場合がある
- 機械学習 … データからパターンや規則性を自動的に学習し、予測や分類などのタスクを行えるようにする技術のこと。↩
- アノテーション … 教師あり学習に使うデータに、正解ラベル(タグ)を人手などで付与する作業のこと。↩
- 過学習(オーバーフィッティング) … モデルが訓練データに適合しすぎて、未知のデータへの予測精度が落ちてしまう現象のこと。↩
- 次元の呪い … 特徴量(次元)の数が増えるほどデータがまばらになり、学習や距離計算の効率・精度が悪化する現象のこと。↩
- ホールドアウト法 … 手元のデータを訓練・検証・テストの3つに分割して、モデルの学習とチューニング、性能評価をそれぞれ別のデータで行う方法のこと。↩
- データドリフト … 時間の経過とともにデータの傾向や構成が変化し、学習済みモデルの前提とズレが生じて精度が劣化していく現象のこと。↩
- ニューラルネットワーク … 人間の脳の神経細胞のつながりを模した、入力層・隠れ層・出力層から構成される機械学習モデルの一種。↩
- 連合学習(フェデレーテッドラーニング) … 各拠点がデータを外部に出さず手元で学習し、モデルのパラメータだけを共有・統合する学習方法のこと。↩