データの活用

に公開

はじめに

概要

  • シラバス:E資格2024#2
  • ラベル付きデータやサンプルデータが足りない時に使う手法を勉強する

モデル訓練のステップ

  1. アーキテクチャの設計
  2. 入力層設計
  3. 中間層設計
  4. 出力層設計
  5. 誤差計算
  6. モデルに誤差を反映する
  7. 重みの更新の設定をする
  8. 最適なモデルを手に入れる

キーワード

半教師あり学習, self-training, co-training, 自己教師あり学習,
contrastive learning, ブートストラップ法

学習内容

半教師あり学習

  • 少量のラベル付きデータと、大量のラベルなしデータを組み合わせて学習する方法
  • ラベル付きデータの用意は大変・高コスト→ラベルなしデータをうまく活用して精度向上を狙うのが、半教師あり学習の目的

https://zenn.dev/cartellya/articles/cartellya_20250430222104_e-memo-00003

自己学習(self-training)

  • モデルが予測したラベルを「擬似ラベル」として再学習

共学習(co-training)

  • 別々の特徴で学習した2つのモデルが、お互いにラベルを補い合う
  • 特徴
    • 2つの分類器の独立性が前提(異なる特徴)
    • ラベルなしデータを相互に強化し合う

自己教師あり学習

  • 外部のラベルを使わず、自分自身で「擬似ラベル」を生成して学習する方法

コントラスト学習(contrastive learning)

  • 似たものは近づけ、違うものは遠ざけるように特徴ベクトルを学習する
  • 類似・非類似のペアを作る
  • ラベルなしでも特徴表現を抽出する

ブートストラップ法(bootstrap)

  • もとのデータから「重複ありでランダムサンプル」を多数作り、統計量(平均、分散など)を推定
  • 少ないサンプルから統計的に信頼性を測るために使われる

ブートストラップ法と半教師あり学習の比較

  • 両者の組み合わせもあり得る

共通点

  • 少ないデータでもうまく学習・推定したいという目的
  • 同じデータを何度も「異なる形」で使う
  • 統計的な工夫で性能を補う

違い

項目 ブートストラップ法 半教師あり学習
主な用途 推定・統計解析 機械学習におけるラベル不足の対処
データ前提 ラベルの有無を問わない ラベル付きとラベルなしのデータが必要
ターゲット 統計量(平均・分散など) モデルの性能向上
繰り返し処理 データ再サンプリングによる 学習と予測の反復的強化
GitHubで編集を提案

Discussion