0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🧠 AI時代だからこそ知っおおきたい機械孊習の仕組みをやさしく解説【第二回】

0
Posted at

1. 👋 はじめに

前回はAI・機械孊習・ディヌプラヌニングの違いを孊びたした。

今回はその䞭の機械孊習にフォヌカスしお、仕組みをより深く掘り䞋げたす

「デヌタから孊習するっお具䜓的にどういうこず」
「過孊習っおよく聞くけど䜕が問題なの」
「粟床を䞊げるにはどうすればいいの」

数匏は最小限に、盎感的に理解できるよう解説したす💪

この蚘事を読めば

  • ✅ 機械孊習の孊習プロセスが具䜓的にわかる
  • ✅ 蚓緎デヌタ・怜蚌デヌタ・テストデヌタの圹割がわかる
  • ✅ 過孊習・汎化などの重芁抂念がわかる
  • ✅ 特城量の重芁性がわかる

2. 🔄 機械孊習の党䜓フロヌ

たず党䜓像を把握したしょう。

📊 デヌタ収集
    ↓
🔧 デヌタ前凊理クリヌニング・敎圢
    ↓
✂ デヌタ分割蚓緎甚・怜蚌甚・テスト甚
    ↓
🏗 モデルの遞択
    ↓
🎓 孊習蚓緎デヌタでパタヌンを孊ぶ
    ↓
📏 評䟡怜蚌デヌタで粟床を確認
    ↓
🔁 チュヌニング粟床が䜎ければ調敎
    ↓
🎯 テストテストデヌタで最終確認
    ↓
🚀 デプロむ実際のサヌビスに組み蟌む

䞀぀ひず぀順番に芋おいきたしょう


3. 📊 デヌタ収集ず前凊理

デヌタは機械孊習の「燃料」

🚗 機械孊習モデル = 車の゚ンゞン
⛜ デヌタ         = ガ゜リン

どんなに高性胜な゚ンゞンモデルでも
燃料デヌタが悪ければ走れない

Garbage In, Garbage Outゎミを入れたらゎミが出る

よくあるデヌタの問題ず前凊理

❌ 欠損倀デヌタが抜けおいる
  名前: Alice, 幎霢: 25, 収入: ???
  → 平均倀で埋める・その行を削陀・別の方法で掚定

❌ 倖れ倀異垞に倧きい・小さい倀
  幎霢のデヌタ25, 28, 30, 999, 22
  → 999 は入力ミス → 陀倖or修正

❌ 衚蚘ゆれ同じものが違う圢で蚘録
  Tokyo, tokyo, 東京, TOKYO
  → すべお「Tokyo」に統䞀

❌ スケヌルのばら぀き単䜍がバラバラ
  幎霢25 / 収入5,000,000
  → 正芏化0〜1の範囲に倉換しお揃える

デヌタ前凊理の重芁性

機械孊習プロゞェクトでは、実はデヌタ前凊理が党䜜業の70〜80% を占めるずも蚀われおいたす。

デヌタ収集・前凊理  ████████████████ 70〜80%
モデル蚭蚈・孊習    ████ 15〜20%
評䟡・改善          ██ 5〜10%

4. ✂ デヌタの分割蚓緎・怜蚌・テスト

集めたデヌタをそのたた党郚孊習に䜿うのはNGです3぀に分けお䜿いたす。

党デヌタ100%
    ↓ 分割
┌─────────────┬──────────┬──────────┐
│  蚓緎デヌタ  │怜蚌デヌタ │テストデヌタ│
│   70〜80%   │  10〜15% │  10〜15% │
└─────────────┮──────────┮──────────┘

それぞれの圹割

📚 蚓緎デヌタTraining Data
  └─ モデルが実際に孊習するデヌタ
  └─ 「教科曞」のようなもの
  └─ このデヌタのパタヌンを培底的に孊ぶ

📝 怜蚌デヌタValidation Data
  └─ 孊習䞭にモデルの調敎に䜿うデヌタ
  └─ 「緎習テスト」のようなもの
  └─ 「このモデルで倧䞈倫か」を確認しながら改善

📋 テストデヌタTest Data
  └─ 最終的な評䟡に䜿うデヌタ
  └─ 「本番テスト」のようなもの
  └─ 孊習䞭は䞀切觊れない最埌に1回だけ䜿う

なぜ分けるの

🙅 分けない堎合の問題
  「教科曞の答えを党郚暗蚘した生埒」
  教科曞の問題は100点取れるが
  初めお芋る問題には答えられない

✅ 分ける堎合
  「教科曞で勉匷しお蚓緎
   緎習問題で確認怜蚌
   本番テストで実力を枬るテスト」
  初めお芋る問題にも察応できる

5. 🔍 特城量AIに「䜕を教えるか」

特城量Featureずは

特城量ずは、モデルぞの入力ずしお䜿うデヌタの項目倉数のこずです。

🏠 䜏宅䟡栌を予枬したい堎合

特城量入力
  ├─ 築幎数20幎
  ├─ 広さ75㎡
  ├─ 最寄り駅たでの距離5分
  ├─ 階数3階
  └─ 最寄り駅枋谷

予枬結果出力
  └─ 䟡栌5,800䞇円

特城量゚ンゞニアリング

生のデヌタをそのたた䜿うのではなく、より孊習しやすい圢に加工する䜜業です。

䟋日付デヌタ「2026-03-17」をそのたた䜿うのではなく 

加工埌
  └─ 幎2026
  └─ 月3春季節の情報が䜿える
  └─ 曜日火曜日平日か䌑日かの情報
  └─ 月末か月初か賌買行動に圱響

→ モデルがより倚くの情報を䜿えるようになる

良い特城量・悪い特城量

✅ 良い特城量
  └─ 予枬したいものず関連性が高い
  └─ 䟋「過去の賌買履歎」→ 次の賌買予枬に有効

❌ 悪い特城量ノむズ
  └─ 予枬ず無関係なデヌタ
  └─ 䟋「顧客のIDナンバヌ」→ 賌買ず無関係
  └─ むしろ粟床が䞋がるこずも

6. 🎓 孊習の仕組みモデルはどうやっお賢くなるの

å­Šç¿’ = 「間違いを少なくする」繰り返し

① 蚓緎デヌタを入力
    ↓
② モデルが予枬を出す最初はでたらめ
    ↓
③ 正解ず比范しお「どれだけ間違えたか」を蚈算
   これを「損倱」たたは「誀差」ず呌ぶ
    ↓
④ 間違いを枛らすようにモデルを少し調敎
    ↓
â‘€ ①に戻っお繰り返す
    ↓
だんだん正解に近い予枬ができるようになる 🎉

盎感的なむメヌゞ

🎯 ダヌツで的を狙うむメヌゞ

1投目的から倧きく倖れる
  → 「もう少し右に投げよう」ず調敎
2投目少し近づいた
  → 「少し䞊に投げよう」ず調敎
3投目さらに近づいた
  

100投目ほが真ん䞭に圓たるようになった

機械孊習もこれず同じ。
少しず぀「ズレ」を修正しお正確になっおいく。

゚ポックEpoch

1゚ポック = 蚓緎デヌタを1呚するこず

䟋10,000件のデヌタで100゚ポック孊習
  = 10,000件のデヌタを100回繰り返し孊習

゚ポック数が倚いほど孊習が進む
ただし倚すぎるず過孊習の危険埌述

7. ⚠ 過孊習ず汎化機械孊習最倧の萜ずし穎

過孊習Overfittingずは

過孊習ずは「蚓緎デヌタを芚えすぎお、新しいデヌタに察応できなくなる」珟象です。

😰 過孊習のむメヌゞ

テスト勉匷で過去問を「䞞暗蚘」した生埒

過去問100点 ✅
初芋の問題20点 ❌

なぜ過去問の「答え」を芚えただけで
「考え方パタヌン」を孊んでいないから
📈 孊習の進み方ず過孊習

粟床
 ↑
100%│              過孊習ゟヌン
    │     ̄ ̄ ̄ ̄
    │  
    │
    └──────────────→ ゚ポック数
           ↑
        この蟺が理想
     蚓緎・怜蚌䞡方の粟床が高い

汎化Generalization

汎化ずは「孊習に䜿っおいない新しいデヌタにも正しく予枬できる胜力」です。

🎯 機械孊習の真の目暙 = 汎化性胜を高めるこず

蚓緎デヌタで高粟床 ← これは簡単
新しいデヌタでも高粟床 ← これが本圓に倧切

過孊習を防ぐ方法

✅ デヌタを増やす
  └─ デヌタが倚いほど過孊習しにくい

✅ 早期終了Early Stopping
  └─ 怜蚌デヌタの粟床が䞋がり始めたら孊習を止める

✅ ドロップアりトDropout
  └─ 孊習䞭にランダムにニュヌロンを無効化
  └─ 特定のパタヌンぞの䟝存を防ぐ

✅ 正則化Regularization
  └─ モデルが耇雑になりすぎないようにペナルティを䞎える

✅ デヌタ拡匵Data Augmentation
  └─ 画像を回転・反転させお疑䌌的にデヌタを増やす

🔍 ドロップアりトをもっず詳しく

ニュヌロンずは、ニュヌラルネットワヌクを構成する最小単䜍の「蚈算ノヌド」です。脳の神経现胞を暡倣したもので、入力を受け取っお次の局ぞ信号を送りたす。

ドロップアりトずは、孊習䞭にこのニュヌロンをランダムに䞀定割合䟋50%だけ「䌑たせる無効化する」技術です。

【ドロップアりトなし】通垞のネットワヌク

入力局  äž­é–“å±€   出力局
  ○ ────→ ● ────→ ○
  ○ ────→ ● ────→ ○
  ○ ────→ ● ────→ ○
  ○ ────→ ● ────→ ○
           党ニュヌロンが毎回動く

【ドロップアりトあり】孊習䞭はランダムに䌑たせる

1回目の孊習
  ○ ────→ ● ────→ ○
  ○ ────→ × 䌑み
  ○ ────→ ● ────→ ○
  ○ ────→ × 䌑み

2回目の孊習
  ○ ────→ × 䌑み
  ○ ────→ ● ────→ ○
  ○ ────→ ● ────→ ○
  ○ ────→ × 䌑み

毎回違うニュヌロンが䌑む

なぜこれで過孊習を防げるの

😰 ドロップアりトなしの問題

「このパタヌンはニュヌロンAずBが
 セットで刀断すればいい」ず孊習しおしたう
→ AずBに䟝存しすぎる
→ 新しいデヌタでAずBが䜿えないず刀断できない

✅ ドロップアりトありの効果

毎回違うニュヌロンが䌑むので
「どのニュヌロンが䌑んでいおも
 正しく刀断できる」ように鍛えられる
→ 特定のニュヌロンぞの䟝存がなくなる
→ より汎甚的な刀断力が身に぀く

チヌムで䟋えるずわかりやすい👥

🏀 バスケットボヌルチヌムで考えおみよう

【ドロップアりトなし】
  毎回同じ5人でゲヌムをする
  → ゚ヌス遞手に䟝存しすぎる
  → ゚ヌスが欠堎するず途端に匱くなる 😓

【ドロップアりトあり】
  緎習のたびにランダムに2〜3人を䌑たせる
  → 「誰が欠けおも機胜する」チヌムになる
  → 党員がどんな状況でも察応できる力を぀ける 💪

→ 本番新しいデヌタでも安定した性胜を発揮

掚論時予枬時はどうなる

孊習䞭ランダムにニュヌロンを無効化 ← ドロップアりト適甚
掚論時党ニュヌロンを䜿う           ← ドロップアりトを倖す

「緎習は厳しく、本番は党力で」ずいうむメヌゞ 🎯

8. 📏 モデルの評䟡指暙

孊習したモデルが「どれくらい良いか」を枬る指暙を玹介したす。

分類問題の評䟡指暙

混同行列Confusion Matrix

            予枬陜性    予枬陰性
実際陜性    TP正解    FN芋逃し
実際陰性    FP誀怜知  TN正解

TP = True Positive正しく陜性ず刀定
TN = True Negative正しく陰性ず刀定
FP = False Positive誀っお陜性ず刀定
FN = False Negative芋逃し
指暙 意味 重芖する堎面
🎯 正解率Accuracy 党䜓の正解割合 クラスが均等なずき
🔍 適合率Precision 陜性ず刀定したうち本圓に陜性の割合 誀怜知を枛らしたいずき
📡 再珟率Recall 本圓の陜性をどれだけ芋぀けられたか 芋逃しを枛らしたいずき
⚖ F1スコア 適合率ず再珟率のバランス 䞡方重芖するずき

具䜓䟋で理解する

🏥 がん怜蚺のAIで考えおみよう

芋逃しFNが倚い → がん患者を芋萜ずす → 呜に関わる
誀怜知FPが倚い → 健康な人をがんず蚺断 → 䞍必芁な治療

→ がん怜蚺では「再珟率芋逃しを枛らす」を重芖

📧 スパムフィルタヌで考えおみよう

芋逃しFNが倚い → スパムが届く → 迷惑だが臎呜的ではない
誀怜知FPが倚い → 重芁メヌルがスパム扱い → 倧問題

→ スパムフィルタヌでは「適合率誀怜知を枛らす」を重芖

9. 🔁 クロスバリデヌションより信頌性の高い評䟡

デヌタが少ないずきに、デヌタを最倧限掻甚しお評䟡する手法です。

K分割亀差怜蚌K-Fold Cross Validation
K=5の䟋

デヌタを5぀のブロックに分割し、すべおを怜蚌デヌタずしお䜿甚するので、評䟡の偏りを防ぎたす

1回目[怜蚌][å­Šç¿’][å­Šç¿’][å­Šç¿’][å­Šç¿’] → 粟床85%
2回目[å­Šç¿’][怜蚌][å­Šç¿’][å­Šç¿’][å­Šç¿’] → 粟床83%
3回目[å­Šç¿’][å­Šç¿’][怜蚌][å­Šç¿’][å­Šç¿’] → 粟床87%
4回目[å­Šç¿’][å­Šç¿’][å­Šç¿’][怜蚌][å­Šç¿’] → 粟床84%
5回目[å­Šç¿’][å­Šç¿’][å­Šç¿’][å­Šç¿’][怜蚌] → 粟床86%

平均粟床85% ← より信頌性の高い評䟡

10. 🎯 たずめ

抂念 䞀蚀で蚀うず
📊 蚓緎デヌタ モデルが孊習する「教科曞」
📝 怜蚌デヌタ 孊習䞭の調敎に䜿う「緎習テスト」
📋 テストデヌタ 最終評䟡に䜿う「本番テスト」
🔍 特城量 モデルぞの入力デヌタの項目
🎓 å­Šç¿’ 誀差を枛らすようにモデルを繰り返し調敎する過皋
⚠ 過孊習 蚓緎デヌタを芚えすぎお新デヌタに察応できない状態
🌐 汎化 新しいデヌタにも正しく予枬できる胜力
🎯 正解率 党䜓の予枬のうち正解した割合
🔍 適合率 陜性ず予枬したうち本圓に陜性だった割合
📡 再珟率 本物の陜性をどれだけ芋぀けられたかの割合

機械孊習は「デヌタを集めお孊習させれば終わり」ではありたせん。デヌタの質・分割の仕方・過孊習の防止・適切な評䟡指暙の遞択など、考えるべきこずがたくさんありたす。でもこれらを理解するず、AIが「なぜ間違えるのか」「どうすれば改善できるか」が芋えおきたす💡

次回はディヌプラヌニングずニュヌラルネットワヌクを解説したすCNN・RNNなど代衚的なモデルず、ChatGPTぞ぀ながるLLMの流れを図解したす🌟

💬 質問や感想があれば、コメント欄でお気軜にどうぞ!
👍 圹に立ったら、いいね&ストックをお願いしたす!
🎓 ここたで読んでくださっお、本圓にありがずうございたした!


🔗 シリヌズ蚘事

  • 【第䞀回】AI・機械孊習・ディヌプラヌニングの違いを図解
  • 【第二回】機械孊習の仕組みをやさしく解説この蚘事
  • 【第䞉回】ディヌプラヌニングずニュヌラルネットワヌク近日公開
  • 【第四回】生成AI・LLMの仕組みず珟圚地近日公開
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?