0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

直感的にわかる「機械学習」の仕組み 〜いつものWebシステムと何が違うのか?〜

Last updated at Posted at 2025-11-10

🧠 はじめに

最近よく耳にする「機械学習」「深層学習」。
でも、Webエンジニアとしてシステムを組んでいると、
「結局どこで使われるの?」「DB参照と何が違うの?」と疑問に思うこともあります。

今回の記事では、
paizaの生成AIアプリ開発講座
で学んだ内容をもとに、Web開発の流れ(MVC・HTTP)に沿って、機械学習の“動き”を直感的に理解できるよう整理しました。

🧩 まずは通常のWebアプリの流れをおさらい

ふつうのWebアプリ(例:在庫検索システム)では、
ユーザーが入力したデータに対して、こう動きます。

┌────────────┐
│ ユーザー入力 │
└──────┬─────┘
↓
┌────────────┐
│ Controller │(入力を受け取る)
└──────┬─────┘
↓
┌────────────┐
│ Model │(DBから検索)
└──────┬─────┘
↓
┌────────────┐
│ View │(結果を表示)
└────────────┘

ここでは「ルール」はすべて人間が設計しています。
たとえば「店舗名で検索」「在庫数が0なら非表示」など、
条件分岐やSQLのWHERE句で明示的に書かれているわけです。

🤖 機械学習を入れると、何が変わるのか?

機械学習を導入したシステムでは、
この “Model” の部分が「学習済みモデル」に置き換わります。

┌────────────┐
│ ユーザー入力 │
└──────┬─────┘
↓
┌────────────┐
│ Controller │(入力を渡す)
└──────┬─────┘
↓
┌───────────────────────┐
│ AIモデル(学習済) │
│ 「傾向」から結果を“予測”する │
└──────┬────────────────┘
↓
┌────────────┐
│ View │(出力を表示)
└────────────┘

違いは、「データベースから引っ張る」ではなく、
データの傾向から“予測して答えを出す” こと。

たとえば、
「よく注文される店舗」「頻繁に買う商品」をモデルが学び、
次回の検索ではユーザーが入力する前に候補を提示できるようになります。

これが、いわゆる「予測システム」=機械学習の応用例です。

🔍 “学習する”とは、どういうこと?

学習とは、「データを分析してルールを自分で作る」こと。
これを数値的に行うのが**モデル(Model)**です。

モデルはたくさんのデータを見ながら、
「どの特徴がどれくらい重要か(=重み)」を調整していきます。

例)商品購入の要因
・価格(重み 0.6)
・人気度(重み 0.3)
・季節性(重み 0.1)

このように「重み」を調整しながら、
入力 → 出力の関係を最適化するのが「学習」です。

📘 学習の種類(3つのタイプ)

学習タイプ 概要
教師あり学習 正解ラベル付きのデータをもとに学ぶ 「この画像は犬/猫」など分類
教師なし学習 正解なしでデータ構造を見つける 顧客層を自動的にグループ化
強化学習 試行錯誤しながら最適行動を学ぶ ゲームAIやロボット制御

あなたのように「店舗や商品の利用傾向を学習させたい」場合は、
教師あり学習が適しています。

🧠 機械学習と深層学習の関係

機械学習は「ルールを自動で見つける」技術。
その中で、さらに進化したのが**深層学習(Deep Learning)**です。

観点 機械学習 深層学習
特徴抽出 人が特徴を設計する モデルが自動で特徴を抽出
構造 単層(シンプルなモデル) 多層(ニューラルネットワーク)
データ量 少量でもOK 大量データが必要
代表例 スパム判定、レコメンド 音声認識、画像生成、LLMなど

深層学習では、モデルが「特徴量」を自動で学び取るため、
画像・音声・自然言語など非構造化データの理解にも対応できるようになりました。

🌐 HTTPの流れで見た「AIの呼び出し位置」

WebアプリでAIを使うときは、主にこの3パターンがあります。

① ユーザー → Controller → LLM(API) → Controller → View (非保存型)
② ユーザー → Controller → LLM(API) → DB保存 → View (結果保存型)
③ ユーザー → Controller → DB参照 → LLM(API) → View (RAG構成)

このとき、自社でモデルを持たない場合は
OpenAIやPaizaなどのAPIを呼び出す形で利用します。

つまり、

  • LLMは「頭脳」
  • 自分のDBは「記憶」
  • Controllerは「仲介役」
    という関係です。

🔐 安全なやり取りを支えるMCPサーバー

LLMを直接呼び出すのではなく、
MCPサーバー(Model Context Protocol) を経由することで安全性が担保されます。

  • 社内DBや認証情報を直接送らない
  • ログ監査・アクセス制御が可能
  • APIリクエストの制御ポイントを一本化できる

つまり、MCPサーバーは
「AIとシステムをつなぐ安全なゲートウェイ」と言えます。

🧱 まとめ

用語 意味
機械学習 データから規則性を学ぶ技術
深層学習 機械学習の進化版。特徴を自動抽出
モデル 入力→出力の関係を学んだ数値構造
重み 各特徴の重要度を示すパラメータ
教師あり学習 正解データから学ぶ手法
MCPサーバー LLMと安全に通信するための仲介層

✍️ おわりに

「機械学習」は、魔法のような仕組みではなく、
“データからルールを見つける仕組み” です。

Web開発者が理解すると、
「データベース参照」や「条件分岐」だけでは実現できない体験を設計できるようになります。

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?