Posted at

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

More than 1 year has passed since last update.


前回のお話

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)にバッチ勾配降下法を適用するもの





参考書籍



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