LoginSignup
9
10

More than 5 years have passed since last update.

Python機械学習プログラミング 第2章 分類問題 - 機械学習アルゴリズムのトレーニング まとめ

Posted at
1 / 12

前回のお話

Python 機械学習プログラミング 第1章 まとめ


はじめに

  • 本章で扱うもの
    • 初期の機械学習アルゴリズム
      • パーセプトロン
      • ADALINE
  • 学習内容

    • 機械学習アルゴリズムに対する直感を養う
    • データの読み込み、処理、可視化
    • 線形分類のアルゴリズムをPythonで実装
  • サンプルコード


2.1 人工ニューロン

  • 歴史
    • McCulloch-Pittsニューロン(1943)
      • 生物学上の脳の仕組みを解明することを目的
      • 簡略化された脳細胞に関する初めての概念
    • パーセプトロンの学習規則に関する最初の概念(1957)
      • Frank Rosenblatt
      • 最適な重み係数を自動的に学習したのち、入力信号と掛け合わせ、ニューロンが発火するかどうかを判断するもの
      • 二値分類タスク
  • キーワード
    • 総入力
    • 活性化関数
  • 学習規則
    1. 重みを0または値の小さい乱数で初期化する
    2. トレーニングサンプルごとに以下の手順を実行する
      1. 出力値 yを計算する
      2. 重みを更新する
  • パーセプトロンの収束可能性
    • 条件
      • 線形分離可能か
      • 学習率が十分小さいか
    • 収束しない場合
      • エポック、誤分類の最大数を設定

2.2 パーセプトロンの学習アルゴリズムをPythonで実装する

  • テキスト参照

2.3 Irisデータセットでのパーセプトロンモデルのトレーニング

  • Irisデータでの2値分類
  • 多クラス分類の場合は一対全(One-vs-all)の手法
  • テキスト参照

2.4 ADALINEと学習の収束

  • パーセプトロンアルゴリズムの改良
  • コスト関数の定義とその最小化に関する概念を具体的に示す
  • パーセプトロンとの違い
    • 重みの更新方法
      • 線形活性化関数に基づいて重み更新
    • 量子化器
      • クラスラベルの予測
    • モデル誤差の計算と重みの更新に用いるもの
      • パーセプトロン
        • 二値のクラスラベル
      • ADALINE
        • 線形活性化関数からの連続値の出力

2.5 勾配降下法によるコスト関数の最小化

  • 目的関数
    • 教師あり機械学習のアルゴリズムを構成する主な要素の1つ
    • 学習過程で最適化される
    • コスト関数
      • 重みの学習に用いる
      • 誤差平方和
    • この連続値の線形活性化関数の利点
      • 微分可能
      • 凸関数
        • 勾配降下法

2.5.1 ADALINEをPythonで実装する

  • テキスト参照
  • 学習率
    • 大きすぎる
      • 誤差平方和が増えて行く
    • 小さすぎる
      • 収束するのに相当な数のエポックが必要
  • 標準化
    • 特徴量のスケーリング手法の1つ
    • 各特徴量の平均を0に
    • 標準偏差を1にする

2.6 大規模な機械学習と確率的勾配降下法

  • バッチ勾配降下法
    • トレーニングデータセット全体
    • データセットが大きすぎると計算コストがかなりつく
  • 確率的勾配降下法(逐次的勾配降下法、オンライン勾配降下法)
    • 1つのデータサンプルに基づく
    • 浅い極小値をより抜け出しやすい
    • データをランダムに並び替える
    • 新しいデータが届いた時にその場でモデルがトレーニングできる(オンライン学習)
  • ミニバッチ学習
    • トレーニングデータの一部(例えば50)にバッチ勾配降下法を適用するもの

参考書籍


ありがとうございました。

9
10
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
9
10