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?

【備忘】機械学習の基礎を体系的に理解する — 概念・用語・実装プロセスまとめ

Posted at

本記事は、個人的な学習メモです。

🧭 はじめに

この記事では、以下内容を整理したまとめを記載

  • 「機械学習とは何か?」という概念的理解
  • 「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軸
  • 現場ではライブラリよりも「課題設定とデータ理解」がカギ
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?