本記事は、個人的な学習メモです。
🧭 はじめに
この記事では、以下内容を整理したまとめを記載
- 「機械学習とは何か?」という概念的理解
- 「AI / ML / DL」などの用語の正確な使い分け
- 実際にプロジェクトを進める上での実装プロセス
🧠 1. 概念理解:機械学習とは何か?
● 人工知能(AI)と機械学習(ML)の関係
| 概念 | 説明 |
|---|---|
| AI(Artificial Intelligence) | 「人間の知的行動を模倣する技術」全般を指す広い概念。例:ルールベース、機械学習、自然言語処理など。 |
| ML(Machine Learning) | データから「規則性を自動的に学習」する技術。AIを実現するための1つの手法。 |
| DL(Deep Learning) | 機械学習の中でも「ニューラルネットワーク」を多層構造にした手法。画像・音声・自然言語などに強い。 |
💡 イメージ図:
AI(人工知能)
└── 機械学習(Machine Learning)
└── 深層学習(Deep Learning)
⚙️ 2. 用語の使い分けと基礎分類
● 機械学習の3つの主要カテゴリ
| 分類 | 学習方法 | 代表的手法 | 主な用途 |
|---|---|---|---|
| 教師あり学習 | 入力データと正解ラベルをセットで学習 | 回帰・分類(Linear Regression, SVM, Random Forest, etc.) | 売上予測、スパム判定など |
| 教師なし学習 | 正解ラベルなしでデータ構造を学習 | クラスタリング(k-means)、次元削減(PCA) | 顧客セグメント分析など |
| 強化学習 | 行動の報酬をもとに最適戦略を学習 | Q-Learning, Deep Q-Networks | 自動運転、ゲームAIなど |
● その他の基本用語
| 用語 | 意味 |
|---|---|
| 特徴量(Feature) | 学習に使用するデータの属性(例:年齢、年収、利用回数など) |
| モデル(Model) | データから学習された規則を表す数式や構造 |
| 学習(Training) | 入力データからモデルのパラメータを最適化する過程 |
| 推論(Inference) | 学習済みモデルを使って未知データの結果を予測すること |
| 過学習(Overfitting) | 学習データに過度に適合し、未知データで性能が落ちる現象 |
| 汎化性能(Generalization) | 未知データに対しても適切に予測できる能力 |
🔧 3. 実装プロセス:機械学習の流れを理解する
以下のプロセスを一連の流れとして把握しておくと、技術試験や実務でも役立ちます。
🩺 Step 1. データ収集
- ログデータ、API、CSV、DBなどからデータを取得
- 欠損値や異常値を含む場合が多いため、整形処理が重要
📘例:pandasを使ってCSVを読み込む
import pandas as pd
df = pd.read_csv('sales.csv')
🧹 Step 2. データ前処理
- 欠損値補完、外れ値処理、スケーリング、エンコーディングなど
- 「Garbage in, Garbage out」(データの質が結果を左右する)
📘例:scikit-learnでスケーリング
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(df[['age', 'income']])
🧩 Step 3. 特徴量エンジニアリング
- モデルが学習しやすい形にデータを変換
- 例:日付を曜日に変換、カテゴリをOne-hot化、組み合わせ特徴を生成
📘例:
df['is_weekend'] = df['day_of_week'].isin(['Sat', 'Sun']).astype(int)
🧠 Step 4. モデル選択・学習
-
タスクに応じてアルゴリズムを選ぶ
- 回帰 → LinearRegression, RandomForestRegressor
- 分類 → LogisticRegression, XGBoost, LightGBM
📘例:
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
model.fit(X_train, y_train)
🧾 Step 5. 評価・改善
- 精度(Accuracy)、再現率(Recall)、F1スコア、RMSEなどを使用
- 交差検証(Cross Validation)で汎化性能を確認
📘例:
from sklearn.metrics import accuracy_score
y_pred = model.predict(X_test)
print("Accuracy:", accuracy_score(y_test, y_pred))
🚀 Step 6. 推論・デプロイ
- 学習済みモデルをAPI化、またはバッチ処理として実行
- 実務ではMLOpsの文脈(再現性・継続運用)も重要
📘例:
import joblib
joblib.dump(model, 'model.pkl')
✍️ まとめ
- 機械学習は「AIを実現するための主要技術」
- 理解すべきは「分類」「基本用語」「プロセス」の3軸
- 現場ではライブラリよりも「課題設定とデータ理解」がカギ