機械学習とは?データから規則を見つける仕組み

30秒でわかる答え

機械学習は、データにあるパターンを使い、予測や分類などに役立つモデルを作る方法です。学習に使った見本で正解できても、新しい入力で正解できるとは限りません。別のデータで評価し、想定する場面で使えるか確かめます。

機械学習とは、データにあるパターンを使い、予測や分類などに役立つモデルを作る方法です。人が一つひとつの条件をすべて書く代わりに、データから関係を見つける計算方法を使います。

目標は、学習に使った見本だけでなく、まだ見ていない入力でも役立つことです。ただし、学習を終えたからといって、いつも正解できるわけではありません。ラボの果物選別台で、見本から分け方を作り、新しい果物で確かめるところまで追ってみましょう。

イト

見本の果物を全部分けられたら、学習は成功なの?

ユイ

まだ見せていない果物でも、同じように分けられるか知りたいね

ピコ

その二つを分けて確かめよう。見本での正解と、新しい入力での正解は同じとは限らないよ

機械学習はAI全体と同じ意味ではありません。三語の位置関係はAI・機械学習・ディープラーニングの違いで確認できます。

TERM PRIMER

先に知っておく言葉

機械学習
すべての規則を人が書く代わりに、データの例からパターンや判断の仕方を学ばせる方法です。
モデル
入力から予測や生成などの出力を得るために、学習した規則や数値をまとめた仕組みです。
学習データ
モデルがパターンや判断の仕方を学ぶために使う、文章、画像、数値などのデータです。
汎化
学習時に見ていない新しい入力にも、学んだパターンを使って適切に対応できる性質です。

機械学習を一文で捉える

果物をリンゴとオレンジに分けたいとします。見本の色や重さと、正しい種類を組にして渡し、種類を予測するモデルを作る。これは教師あり学習の例です。

進め方を大きく分けると、次のようになります。

  1. 何を予測し、何で良し悪しを測るか決める。
  2. 見本となる入力とラベルを用意する。
  3. 学習方法に従って、見本にある関係をモデルへ反映する。
  4. 学習に使っていないデータで、予測が役立つか確かめる。

分類のほかにも、数値の予測、似たデータのグループ分け、文章や画像の生成などに機械学習が使われます。学び方も一つではありません。ここでは果物の分類を入口にし、予測のずれを見ながら境界を調整する例で考えます。

ラボの模型なら、モデルは果物を分ける可動式の境界板です。板を動かすと予測が変わります。どこへ動かせばよいかを、人が一件ずつ指示する方法とは、何が違うのでしょうか。

人がすべての規則を書かない仕組み

人が直接条件を書くなら、「赤みがこの値以上ならリンゴ」と決められます。しかし、青いリンゴや、照明で色が違って見える写真もあります。色、形、傷、光の当たり方の組合せを、すべて条件として書くのは大変です。

機械学習では、見本から分け方を作る計算方法を用意します。人の役割がなくなるわけではなく、次の設計や確認が必要になります。

人が決めること果物選別での例
課題リンゴとオレンジを分ける
データ色の違う果物や、利用場所の照明で撮った例も集める
学習方法どんな形のモデルを、どの方法で作るか選ぶ
評価未使用の例で、種類ごとの誤りを確かめる

機械学習にもプログラムは必要です。個別の分け方をすべて手書きする代わりに、データから分け方を得る処理を書きます。出来上がったモデルが条件分岐の形を取ることもあります。

では、その処理に渡す「データ」には、何が入っているのでしょうか。

データから予測までの流れ

果物選別では、入力と答えを分けます。

  • 特徴:色、重さ、直径など、予測に使う情報。
  • ラベル:見本に付けた「リンゴ」「オレンジ」という答え。
  • モデル:特徴を受け取り、分類などの結果を返す仕組み。
  • 予測:新しい特徴を渡したときに、モデルが返した結果。

次の表は、仕組みを追うために作った架空の4例です。赤みを1〜5で表し、数が大きいほど赤いとします。実物を測定した値でも、果物を見分ける実用的な基準でもありません。

見本と特徴正しいラベル
A:赤み4リンゴ
B:赤み5リンゴ
C:赤み1オレンジ
D:赤み2オレンジ

この4例なら、たとえば「赤みが3以上ならリンゴ、それより小さければオレンジ」という境界で、すべて正解します。新しい入力にはラベルを渡さず、赤みから予測させます。

ここで作ったのは、一つの特徴だけを使う単純な模型です。実際には複数の特徴を使う方法や、画像などから特徴の表し方も学ぶ方法があります。教師なし学習ではラベルなしで似た例をまとめることがあり、強化学習では行動から得る報酬などを手がかりにします。すべての方式が正解カードを使うわけではありません。

イト、ユイ、ピコが、果物の選別模型で見本と予測の違いを確かめ、境界を調整しようとしている
見本のラベルと予測を比べ、分け方を調整するたとえです。実データの散布図ではなく、果物の数が正解率を表すものでもありません。

4例には合う境界が見つかりました。もし境界を5へ動かすと、何が変わるでしょうか。予測のずれを数えると、調整の意味が見えてきます。

誤差は調整で何をする役割?

「赤みが5以上ならリンゴ」にすると、見本Aの赤み4をオレンジと予測してしまいます。4例中1例が不正解です。境界を3へ戻すと、見本Aも正解になります。

この模型では、誤りの数を比べて境界の候補を選べます。実際の学習では、予測のずれを数値で測るために損失関数を使う方法があります。何を大きな間違いとみなすかによって、モデルの調整も変わります。

ニューラルネットワークなどでは、損失を減らす方向を計算し、重みなどの内部パラメータを少しずつ更新します。勾配降下法は、そのために使われる方法の一つです。すべての機械学習が、同じ損失や更新手順を使うわけではありません。

たとえの調整ねじを回すところが、モデルを変える処理に当たります。ただし、ねじ一つで直る模型とは違い、多くの値が関係するモデルもあります。全体の点数に加え、特定の種類だけ間違えやすくなっていないかも確かめます。

見本では4例とも正解しました。それだけで「次の果物にも使える」と言えるかを、今度は別の例で試します。

訓練用と評価用を分ける理由

学習に使った例を何度も見ながらモデルを作り、その同じ例だけで点数を付けると、新しい入力でも当たるかは分かりません。一般的には、データを次の役割に分けます。

データの役割何に使うか
訓練モデルを学習させる
検証モデルや設定を選ぶ
テスト選び終えたモデルを、未使用の例で評価する

同じ写真や、そのわずかな加工違いが訓練とテストの両方に入ると、初めての例を試したつもりでも、よく似たものをすでに見ていたことになります。分ける前後で重複や関係を確認し、実際に使う場面に合った評価にします。未来を予測する課題では、時間の前後関係にも注意が必要です。

先ほどの境界を**「赤みが3以上ならリンゴ」へ固定**したまま、次の二つを予測してみてください。

  • E:赤み2。
  • F:赤み1。

どちらもオレンジという予測になります。ここで初めて、答えを見ます。

未使用の2例の答えを見る
未使用の例答え合わせ
E:赤み2本当はリンゴ。予測は不正解
F:赤み1本当はオレンジ。予測は正解

この架空の2例では1例だけ正解です。訓練4例で全問正解しても、次の例まで正解するとは限りません。2例だけの結果から、現実の正解率を見積もることもできません。

結果を見て境界や特徴を変えたら、この2例はもう未使用のテストではありません。改善後の評価には、変更に使っていない例を別に残しておきます。テストの答えを見ながら何度も調整すると、評価用の例にも合わせ込んでしまうためです。

生成AIでは、重みを学習し直さず、指示や渡す資料を変えることもあります。AI評価(Evals)では、その変更で仕事が改善したかを、同じ課題と用途別の条件で比べます。

丸暗記と未知データへの対応

訓練の細かな癖や偶然の違いに合わせすぎて、新しい例でうまく働かなくなることを過学習と呼びます。境界を複雑に曲げ、見本一個ずつの傷までなぞってしまうような状態です。

一方、今回の赤みの模型は、複雑な境界を作っていません。失敗しただけで、原因を過学習と決めることはできません。訓練の見本には赤みの弱いリンゴがなく、使える情報も赤み一つだけでした。同じ赤み2にリンゴとオレンジの両方があるなら、その数値だけで二つを見分けることはできません。

重さや形など別の特徴が役立つか、実際に使う果物や照明が見本に含まれているかを調べます。データを大量に増やしても、同じ偏りや誤ったラベルを増やすだけなら、問題が解決するとは限りません。

まだ見ていない入力にも役立つ性質を汎化と呼びます。「未知」は何でもよいという意味ではなく、想定する利用場面にある未使用の例です。果物だけで学習したモデルへ機械部品を渡して、適切な分類まで期待することはできません。利用条件が変われば、評価も見直します。

また、見本を保存して使うこと自体が悪いわけではありません。近傍法のように、保持した見本のうち新しい入力に近いものを探して予測する機械学習もあります。大切なのは、方法の名前や記憶の有無だけで判断せず、新しい入力に対してどう働くかを確かめることです。

訓練工房から次へ進む

モデルを作る時間と、出来上がったモデルを使う時間は分けて考えられます。AIの学習と推論の違いでは、モデルを更新する工程と、新しい入力へ答える工程を比べます。

広い位置関係へ戻るならAI・機械学習・ディープラーニングの違い、AI全体から確認するならAIとは?へ。学習順はAIルートにまとまっています。

モデルの内部で何を調整しているか、数値から確かめたいときはニューラルネットワークとはへ。重みと層の計算を、小さな例で追えます。

境界を動かす確認クイズとワーク

紙に1〜5の目盛りを描き、見本A〜Dを赤みの位置へ置いてみましょう。「この数以上ならリンゴ」という境界を2、3、5へ変え、それぞれ何例が正解するか数えます。次に境界を3へ固定し、EとFへ使ってみます。

境界を動かすことと、新しい例で確かめることを別々に行うのが、このワークの目的です。人が手で試す学習の模型であり、実際の果物分類器を作った結果ではありません。

Q1. 訓練データで100%正解なら、新しいデータでも100%正解する?

そうとは限りません。過学習、見本の偏り、特徴の不足、実際に使う条件の違いなどが関係します。学習に使っていないデータで評価します。

Q2. 機械学習は見本を一件ずつ検索するだけ?

方法によります。学習で調整した式や構造から予測する方法も、近傍法のように保持した見本を利用する方法もあります。同じ見本を探すだけでなく、新しい入力に役立つかが評価の対象です。

Q3. 機械学習はすべてニューラルネットワーク?

違います。決定木や線形モデルなど多様な方法があり、ニューラルネットワークはその一部です。

見本で学び、別の例で確かめる理由が分かりました。文章を作る生成AIでも、学習したからすべて正しいとは言えません。では、間違った内容なのに、なぜ自然で本当らしい文章になるのでしょうか。次はAIのハルシネーションで、文章のもっともらしさと事実の正しさを分けて考えます。

この記事について

LAB WHITEBOARD

自分の言葉で説明してみよう

「データ、モデル、予測、誤差、更新、評価の流れと、学習データの丸暗記ではない理由を説明できるようになる。」を、いまの自分の言葉で一文にしてみてください。途中の説明でも大丈夫です。