機械学習の基本・種類

機械学習の定義と基本的な考え方

機械学習(Machine Learning)とは、 明示的なプログラムを書くことなく、コンピュータがデータから学習し、予測や意思決定を行う能力を与える技術です。これは、従来のプログラミングと対照的です。

・従来のプログラミング

プログラマーが、特定のタスクを実行するための具体的なルールや命令をすべて記述します。たとえば、画像に写った猫を判別するためには、「耳が尖っている」「ヒゲがある」「しっぽが長い」といったルールをすべて手動で定義する必要がありました。

・機械学習

大量の猫の画像と「これは猫です」という正解データをコンピュータに与えます。すると、コンピュータはデータの中から共通する特徴を自律的に見つけ出し、「猫とはこういうものだ」というパターンを学習します。その学習結果をもとに、新しい未知の画像が猫かどうかを判断できるようになります。

機械学習の種類

機械学習には、大きく分けて3つの主要な学習方法があります。

1. 教師あり学習(Supervised Learning)

最も一般的な学習方法で、正解データ(ラベル)付きのデータセットを使ってモデルを訓練します。モデルは、入力データと正解データの関係を学習し、未知のデータに対して予測を行います。

2. 教師なし学習(Unsupervised Learning)

正解データがない状態で、データそのものの構造やパターンを発見する学習方法です。

3. 強化学習(Reinforcement Learning)

エージェント(コンピュータ)が、環境と相互作用しながら、試行錯誤を通じて最適な行動戦略を学習する方法です。報酬を最大化するように行動を決定します。

基本的な考え方

応用例

教師あり学習の基本概念

教師あり学習(Supervised Learning)は、正解データ(ラベル)が与えられたデータセットを使って、コンピュータに予測や分類のルールを学習させる方法です。この学習プロセスは、ちょうど生徒(モデル)が教師(ラベル)から指導を受けるようなものです。

1.データセットの準備

この「特徴量」と「ラベル」のペアを大量に用意します。

2.モデルの訓練

3.予測の実行

教師あり学習の主要なタスク

教師あり学習は、予測するデータの種類によって、主に2つのタスクに分かれます。

no image

1.回帰(Regression)

2.分類(Classification)

教師あり学習のアルゴリズムを深掘り

線形回帰(Linear Regression)

ロジスティック回帰(Logistic Regression)

サポートベクターマシン(SVM: Support Vector Machine)

SVMって?

データを2つのクラスに分ける 境界線を決定境界(超平面)といいます。2次元データであれば直線、3次元データであれば平面、それ以上の高次元データであれば「超平面」と呼ばれます。SVMが目指すのは、この境界線から最も近いデータ点(サポートベクター)までの距離が、最も大きくなるように境界線を引くことです。この距離のことをマージンと呼びます。マージンを最大化することで、モデルは以下のようなメリットを得られます。

  • 汎用性の向上: 境界線がどのデータ点からも遠ざかるため、訓練データにはない新しい未知のデータが来たときでも、誤って分類される可能性が低くなります。これは、過学習(Overfitting)を防ぐ効果があります。

  • 安定性の向上: 境界線が最も近いデータ点によって頑丈に支えられるため、わずかなデータの変動に影響されにくくなります。

決定木(Decision Tree)とアンサンブル学習

アンサンブル学習にはいくつかの手法がありますが、決定木と組み合わせて使われる主要な2つの手法があります。

A. バギング(Bagging):並行的な組み合わせ

複数のモデルを並行して独立に訓練し、その結果を平均(回帰の場合)や多数決(分類の場合)で統合します。データのばらつきによる不安定さを減らす(分散を減らす)効果があります。

B. ブースティング(Boosting):逐次的な組み合わせ:逐次的な組み合わせ

弱いモデル(弱学習器)を逐次的(シーケンシャル)に訓練します。新しいモデルは、前のモデルが間違えたデータ(誤分類したデータ)に重点を置いて学習し、全体の精度を段階的に高めていきます。

教師あり学習の評価方法

モデルを訓練するだけでなく、その性能を正しく評価することも非常に重要です。

評価指標の例

教師あり学習の課題

クラスタリングの深掘り:k-平均法(k-Means)

k-平均法は、 教師なし学習で最も有名で広く使われているクラスタリング手法 です。

k-平均法の仕組み

k-平均法は、以下のシンプルなステップを繰り返すことで、データを最適な k 個のクラスタに分けます。

  1. kの決定(Initialisation): まず、ユーザーがいくつのクラスタに分けたいか(k の値)を決めます。

  2. 中心点の初期配置 :データ空間内に、ランダムに k 個の中心点(セントロイド)を配置します。

  3. 割当ステップ (Assignment Step): すべてのデータ点について、最も近いセントロイドを見つけ、そのセントロイドが属するクラスタに割り当てます。

  4. 更新ステップ (Update Step): 各クラスタに割り当てられたデータ点の平均値を計算し、セントロイドをその新しい平均値の位置に移動させます。

  5. 反復: セントロイドの位置がほとんど動かなくなるまで(収束するまで)、ステップ3と4を繰り返します。

k-平均法の課題

次元削減の深掘り:主成分分析(PCA)

主成分分析(PCA)は、データの本質的な情報を保ったまま、特徴量の数を削減する(次元を圧縮する)ための強力な統計的手法です。

PCAの目的と仕組み

PCAの目的は、「データが最もバラついている方向(分散が大きい方向)」を見つけ、その方向に新しい軸を設定し直すことです。

  1. 分散の最大化: データセットの情報を最も多く含んでいるのは、データが最も大きく広がっている方向です。PCAは、元の特徴量軸(例:年収、年齢)とは異なる、新しい主成分と呼ばれる軸を見つけます。

  2. 主成分の抽出

    • 第1主成分: データ全体の分散が最大となる方向(最も情報を持つ軸)です。

    • 第2主成分: 第1主成分と直交し(垂直に交わり)、残りの分散が最大となる方向です。

  3. 次元の削減: 保持したい情報量(例:全体の90%)に応じて、必要な数の主成分だけを残し、残りの情報を切り捨てます。例えば、100次元のデータを、最も重要な2つの主成分だけに圧縮すれば、データを2次元で表現でき、可視化が可能になります。

応用例

最新の動向:自己教師あり学習(Self-Supervised Learning, SSL)

近年、教師なし学習の概念は、ディープラーニングの進化と共に「自己教師あり学習」という形で大きく発展しています。

自己教師あり学習とは?

具体的なPretext Task(疑似タスク)の例

  1. ジグソーパズルタスク(画像): モデルにバラバラにした画像を与え、元の正しい配置を当てさせます。モデルは、このタスクを解く過程で、画像の「部分間の関係性」や「全体構造」といった、汎用的な特徴を自律的に学習します。

  2. マスクド言語モデリング(テキスト): 文章の一部の単語を隠し(マスクし)、隠された単語を予測させます(例:BERTなどの大規模言語モデルの基礎)。モデルは、このタスクを通じて、単語の文脈や意味的な関係性を深く理解するようになります。

このように、教師なし学習は、データを理解・整理する基本的な手法としてだけでなく、最新のAI開発においても、大量の未加工データから強力な特徴量を効率的に抽出するための基盤技術として、進化を続けています。

教師なし学習の課題

教師なし学習は強力ですが、 評価の難しさという大きな課題があります。モデルが導き出したクラスタリングの結果や次元削減の軸が「正しい」かどうかを客観的なスコアで判断するのが難しいです。多くの場合、人間が結果を解釈し、「このグループ分けはビジネス的に意味がある」と判断する必要があります。

強化学習の概要

エージェントは、以下のサイクルを繰り返して学習します。

学習のサイクル
1 エージェントは現在の状態(St​)を観測する。
2 エージェントは行動(At​)を選択し、実行する。
3 環境は新しい状態(St+1​)に変化する。
4 環境はエージェントに報酬(Rt+1​)を与える。
5 エージェントはこの経験(St​,At​,St+1​,Rt+1​)を基に、行動戦略を更新する。

2. 強化学習の目標

強化学習の究極的な目標は、「将来的に受け取る報酬の合計(累積報酬)を最大化する」ような行動戦略(方策またはポリシーを見つけ出すことです。

単純に「目の前の報酬」を最大化するのではなく、長期的な視点で最善の行動を見つけることが重要です。

:チェスで、目の前の相手の駒を取る(小さな報酬)行動よりも、数手先でチェックメイトを狙えるような戦略的な駒の配置(大きな最終報酬)を選ぶことが重要です。

3. 主要なアルゴリズム

強化学習には様々なアプローチがありますが、代表的なものをいくつか紹介します。

  1. Q学習(Q-Learning)

    最も基本的なアルゴリズムの一つです。

    • Q値(Quality Value): ある状態(S)で、特定の行動(A)をとったときに、将来的にどれくらいの累積報酬が得られるかという期待値を示します。

    • エージェントは、このQ値を記録したQテーブルを作成し、更新していきます。学習が進むと、Q値が最も高くなる行動を選ぶことが、最適な戦略となります

  2. DQN(Deep Q-Network)

    Q学習をディープラーニングと組み合わせた手法です。従来のQ学習は、状態や行動の数が多い複雑な問題(例:画面上のピクセルが状態となるビデオゲーム)に対応できませんでした。DQNは、ニューラルネットワークを使ってQ値を推定することで、大量の状態を持つ大規模な問題にも対応できるようになりました。これが、ビデオゲームのAIなどで強化学習がブレイクスルーを起こしたきっかけです。

  3. 方策勾配法(Policy Gradient)

    Q値のような価値を直接学習するのではなく、行動そのものの確率(方策)を直接最適化する手法です。REINFORCEやA2C/A3Cなどが代表的です。これらの手法は、エージェントがより良い結果をもたらした行動の確率を高め、悪い結果をもたらした行動の確率を下げるように、方策を調整していきます 。

4. 強化学習の応用とブレイクスルー

強化学習は、特に制御と意思決定が求められる分野で大きな成果を上げています。

強化学習の魅力は、人間が明示的にルールを教えなくても、AIがゼロから複雑なタスクの最適解を自律的に発見できる点にあります。

半教師あり学習の仕組み(代表的な手法)

半教師あり学習の基本的なアイデアは、ラベル付きデータから得た知識を使って、ラベルなしデータに「もっともらしいラベル」を付与し、それを学習に利用していくことです。

1. 擬似ラベル付け(Pseudo-Labeling)

最もシンプルで広く使われる手法です。

  1. 初期モデルの訓練: 少量のラベル付きデータのみを使用して、最初の学習モデルを作ります。

  2. 擬似ラベルの生成: この初期モデルを、ラベルなしデータに適用し、予測を行います。

  3. データセットの拡張: モデルが高い確信度で予測したデータ(例:「これは99%の確率で猫だ」)に対し、その予測結果を「擬似ラベル」として付与します。

  4. モデルの再訓練: 元のラベル付きデータと、新しく擬似ラベルが付いたデータを組み合わせて、モデルを再度訓練し、性能を向上させます。

2. 協調訓練(Co-Training)

異なる視点や特徴を持つ複数のモデルを協調させて学習を進める手法です。

  1. データセットを異なる特徴の視点に分け、それぞれの視点で独立したモデル(分類器)を訓練します。

  2. 各モデルが、自身の訓練で自信を持って予測できた未ラベルデータに擬似ラベルを付けます。

  3. その擬似ラベルを、他のモデルの訓練データとして提供します。

  4. この相互作用を繰り返すことで、異なる知識を持つモデル同士が互いに学習を助け合い、精度を高めます。

3. 一貫性正則化(Consistency Regularization)

ディープラーニングで特に有効な手法です。

  1. モデルの入力となるラベルなしデータに、ノイズの付与や画像反転などの小さな変更(データ拡張)を加えます。

  2. モデルは、変更を加える前と後とで、同じデータであれば同じ予測結果を出すべきという制約(一貫性)のもとで学習します。

  3. これにより、モデルはノイズに強く、データの分布構造をより適切に学習できるようになります。

主な活用事例

活用分野 具体的なタスク SSLの役割
画像認識 自動運転における標識認識、医療画像(CT、MRI)の病変検出 専門家によるアノテーションコストが高い医療画像や、大量のウェブ画像からの物体検出
自然言語処理(NLP) テキスト分類、感情分析、チャットボットの応答分類 ラベル付けが大変な大量の文章データに対し、少量の感情ラベルから学習を拡張
音声認識 音声の書き起こし、話者識別 大量の未ラベリングの音声データを利用し、認識精度を向上
異常検知 製造ラインの不良品検知、ネットワークの不正アクセス検知 正常データは豊富だが、異常データが極端に少ない場合に、正常データの構造を深く学習

自己教師あり学習の概要

自己教師あり学習(Self-Supervised Learning, SSL)とは、人間が手動でラベル付けしたデータ(正解データ)に頼らず、ラベルのない大量のデータ自体から「問題」と「正解(疑似ラベル)」を自動的に生成してモデルを学習させる機械学習の手法です。これにより、モデルはデータに内在する構造や特徴を効率的に学習し、その知識をさまざまな実用的なタスクに応用(転移学習)できるようになります。

自己教師あり学習の仕組み

自己教師あり学習は、主に「事前学習(Pretext Task)」と「転移学習(Downstream Task)」の2つのステップで構成されます。

  1. 事前学習 (Pretext Task)

    デルにデータの基本的な構造を理解させるための「自家製の問題」を解かせます。このタスクの「正解」は、データ自体を操作することで自動的に生成されます。

    データタイプ Pretext Taskの例 疑似ラベルの生成方法 学習目標
    テキスト マスクされた単語の予測 (例: BERT) 「私は[マスク]が好きです」という文章で、「マスク」部分の元の単語を正解とする。 文脈を理解し、単語間の関係性を学習する。
    画像 画像のパッチ(断片)の復元 (例: MAE) 画像の一部を意図的に隠し、その隠した部分(元のピクセル値)を予測させる。 隠された情報を含め、画像全体の構造や意味を学習する。
    画像 画像の回転角度の予測 画像をランダムに回転させ(0°、90°、180°、270°)、モデルにその回転角度を予測させる。 オブジェクトの姿勢や形に対する不変的な特徴を学習する。
  2. 転移学習 (Downstream Task)

    事前学習で獲得した汎用的な特徴表現の知識を、少量のラベル付きデータを用いて、実際の応用タスク(分類や物体検出など)に転用(ファインチューニング)します。このステップで必要なラベル付きデータは、ゼロから学習する場合に比べて大幅に少なく済みます。

教師あり学習との大きな違い

自己教師あり学習の最大の価値は、人間による手動のラベル付け(アノテーション)のボトルネックを解消できる点にあります。

特徴 教師あり学習 (Supervised Learning) 自己教師あり学習 (Self-Supervised Learning, SSL)
学習データ すべてのデータに人間が付けた正解ラベルが必要。 ラベルなしの大量データが主体。
教師 人間が設定した正解データ(X→Y)。 データ自体から自動生成される「疑似ラベル」(X′→X)。
学習コスト 高い(ラベル付けに時間と専門知識が必要)。 低い(ラベル付け不要で大量データを活用できる)。
主な用途 最終的な分類や予測(画像分類、回帰など)。 汎用的な特徴表現の獲得(事前学習)。

自己教師あり学習のメリット

  1. アノテーションコストの削減: ラベル付け作業の労力、時間、コストを大幅に削減できます。

  2. 大規模データの活用: インターネット上の膨大なテキストや画像など、未整理のデータをそのまま学習リソースとして最大限に活用できます。

  3. 汎用性の高いモデル: 事前学習を通じてデータの構造全体を深く理解するため、学習済みのモデルは、新しいタスクや新しいドメインのデータに対しても高い転移学習性能を発揮しやすいです。

  4. 活用事例

    自己教師あり学習は、特に大量の非構造化データ(テキスト、画像、音声、動画)を扱う分野で革命を起こしました。

    • 自然言語処理 (NLP):BERTやGPTなどの大規模言語モデル(LLM)の基盤技術です。これらのモデルは、インターネット上の大量のテキストを使い、「文章の一部を隠して予測する」タスクなどで事前学習されています。

    • コンピュータビジョン:MAE (Masked Autoencoders)などの手法が、大量のウェブ画像で事前学習することで、物体検出やセグメンテーション(領域分割)といった応用タスクの精度向上に役立っています。

    • 音声認識:大量の音声データから、音声が時間的にどう変化するかを予測するタスクなどを解くことで、高い認識精度を実現しています。