本文へスキップ
darkmocha.dev
機械学習の勉強を始めた。まず全体像をつかむ
機械学習の勉強を始めた。まず全体像をつかむ
ホームに戻る
2026-06-11機械学習Machine Learning6 min read

機械学習の勉強を始めた。まず全体像をつかむ

機械学習を0から勉強し始めた初学者が、教師あり学習・教師なし学習・強化学習と、モデルを作るまでの流れを自分なりに整理した。

機械学習初学者による、絶望のアウトプット記録。
生成AIの進化が話題になるたびに、「この先、自分は何を作れるんだろう」と考えるようになった。自分の存在価値まで考え始めると何も手につかなくなるので、いったん勉強することにした。
目標は、AIに使われる側ではなく、仕組みを理解して使う側にまわること。気持ちとしては「AIを支配する側にまわるぞ!」くらいでいきたい。
今回は、最初に掴んだ機械学習の全体像を自分の言葉で整理する。まだ数式まで理解できていない部分も多いので、これは完成した解説ではなく、勉強を始めた時点の記録だ。

機械学習を一言でいうと

これまでのプログラムでは、人間がデータを見て規則性を考え、そのルールをコードにしていた。機械学習では、データとアルゴリズムを渡し、ルールにあたる部分をモデル自身に学ばせる。
スパムメール判定なら、人間が「無料という単語が入っていたらスパム」と決める代わりに、スパムと通常メールの例を大量に与える。モデルはそこから、判定に使えそうなパターンを探していく。
すごく雑に言えば、「ルールを人間が直接書くか、データからモデルに見つけさせるか」の違いだと理解した。

学び方は大きく3種類ある

機械学習の分類で最初に押さえたのは、モデルが何を手がかりに学ぶかという違いだった。
種類学習の手がかり代表的な用途
教師あり学習正解ラベル分類・回帰
教師なし学習データに潜む構造クラスタリング・次元削減
強化学習行動の結果として得る報酬ゲームAI・ロボット制御

教師あり学習

教師あり学習は、入力データと正解をセットで渡して学習させる方法だ。
花のデータなら、花びらやがくの長さを入力し、品種名を正解ラベルとして与える。学習後は、未知の花の特徴から品種を予測できるようになる。
扱う問題は、大きく分類と回帰に分かれる。
  • 分類では、メールがスパムかどうか、画像に写っている数字が何か、といったクラスを予測する
  • 回帰では、住宅価格や気温のような連続した数値を予測する
最初は「回帰」という言葉から過去へ戻るような印象を受けたが、ここでは数値予測を指すらしい。用語を覚えるだけでも先は長い。
ラベルとは
教師あり学習で各データに付ける正解のこと。花の分類なら品種名、スパム判定なら「スパム」「通常」がラベルになる。

教師なし学習

教師なし学習では、正解ラベルを与えない。モデルはデータ同士の似ている部分や、まとまりを探す。
たとえば購買履歴が似ている顧客をグループに分けるクラスタリングや、多数の特徴量を少ない軸にまとめる次元削減がある。正解を当てるというより、データを眺めやすい形に整理するイメージが近かった。

強化学習

強化学習では、AIが環境の中で行動し、その結果として得る報酬を手がかりに学ぶ。チェスや囲碁のAI、ロボット制御などが代表例だ。
以前Unityでオセロを作ったとき、駒を取れば加点、角を取れば大きく加点する仕組みを実装したことがある。当時は強化学習に近いと思っていたが、そのAIは経験から方策を更新していない。振り返ると、報酬に似た点数を使った探索アルゴリズムであり、強化学習そのものではなかった。
「点数があるだけでは学習とは限らない」というのは、今回調べて初めて気づいた点だった。

モデルを作るまでの流れ

機械学習は、アルゴリズムを選んで終わりではない。実際にはデータを整える作業がかなり大きな割合を占める。
生データを集める

欠損値や形式を整える

訓練データとテストデータに分ける

必要に応じて特徴量を変換する

モデルを学習させる

未知のデータで評価する

前処理はモデルに合わせて選ぶ

前処理のひとつに、特徴量のスケーリングがある。年齢と年収のように値の大きさが大きく違う特徴量を、そのまま距離計算や最適化に使うと、数値の大きい特徴量が結果へ強く影響することがある。
標準化は平均0・分散1、正規化は一定の範囲に値を揃える処理だ。ただし、すべてのモデルで必要になるわけではない。KNNやロジスティック回帰などでは重要だが、決定木やランダムフォレストは比較的影響を受けにくい。
「機械学習ではとりあえず標準化する」のではなく、使うアルゴリズムに合わせて判断する必要がある。

評価用データを学習に混ぜない

モデルが訓練データに合いすぎて、未知のデータをうまく予測できなくなる状態を過学習という。教科書の問題だけ暗記して、初見の問題が解けない状態に近い。
そのため、モデルの最終評価には学習で使っていないテストデータを残しておく。モデルやハイパーパラメータを比較するときは、訓練データの中で交差検証を行い、最後までテストデータを見ないのが基本になる。
テストデータは最後まで取っておく
テストデータを見ながらモデルを調整すると、その情報が選択に混ざり、未知データに対する性能を正しく測れなくなる。

次にやること

今回は、機械学習の種類とモデルを評価するまでの流れを大まかに掴んだ。
正直、まだ「知っている単語が増えた」くらいで、モデルが内部でどう計算しているのかはほとんどわかっていない。次はIrisデータセットを実際に触りながら、scikit-learnの fit()predict()transform() が何をしているのか確かめる。
数式から逃げないようにする(予定)。

//Related Posts

読んでいただきありがとうございます。