kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

PPP3: 機械学習 続き

15-02 機械学習プロジェクトの概要

仮説検証はPDCAで進める

  • P 仮説
    • どのデータをどのモデルに当てはめるとどういう結果がでるか、といった仮説を立てる
    • 機械学習の専門家・ドメインエキスパート・プログラマーで協議して
  • D 開発・実行
  • C 分析
  • A 次のアクション
    • 十分に実用的かどうかを判定
    • 実用的でなければ次にどうするかを決める
    • データの追加・前処理の改善・モデルの変更・パラメータの変更など

機械学習の専門家とプログラマーは別なんだ
プログラマーが専門家になってやるものかと思ってた
もちろん専門家レベルのプログラマーもいるだろうけどそればっかりじゃないんだな

AとPがカブってる気がするというのはPDCAあるある

  • 仮説検証では性能や品質よりも短時間で効率よく検証を行うことを優先する
  • システム開発では速度・効率・異常値の扱いなど、品質をあげる
  • 運用フェーズでは期待通りの成果が出ているかを測定し、必要に応じてチューニングする

これは機械学習に限った話ではなさそう

仮説検証フェーズでは

  • まず前提条件(期間や目的、データ、データ量など)を明らかにする
  • 精度の評価方法・レポートの形式を確認する
  • 1回目の検証は最小限にして素早く実施し、スコープやスケジュールを共有する
  • 限られた時間でより多くの試行
  • 結果を早くフィードバックし、次の一手を決める

  • データ取得と前処理
    • 偏りのないデータを集める
    • 処理しやすい形に変換する(ラベル化、One-hotエンコーディング、ベクトル化など)
  • 学習プログラムと予測プログラムの作成
  • 精度検証用にデータを分割
    • たとえば、データの半分を学習用に、残りをテスト用に使う

でプログラム実行して結果の分析
まず結果を4種類に分類

  • TP (True Positibe):真である結果を真と予測した(正解)
  • FP (False Positive):偽である結果を真と予測した(誤り)
  • FN (False Negative):真である結果を偽と予測した(誤り)
  • TN(True Negative):偽である結果を儀と予測した(正解)

ちょっとわかりづらいな
Positive/Negativeが予測結果で、True/Falseが正解/誤りってことか

評価指標

  • 正解率(accuracy):全体のうちで正解がどれだけあるか
  • 適合率(precision):真と予測したもののうちどれだけが実際に真だったか
  • 再現率(recall):実際に真のもののうちどれだけが真と予測されたか
  • F値(f measure):適合率と再現率の調和平均

性質を理解して使い分けるようにする