Slide 1

Slide 1 text

機械学習プロジェクトの進め方 2018-03-19 宮川 拓

Slide 2

Slide 2 text

#ccc_e4 2/105 背景と動機  機械学習プロジェクトは、繰り返し的にシ ステムを改善していくプロセスらしい  繰り返しごとに、どこのツマミを回せば良 いのか? デ ー タ 収 集 特 徴 抽 出 モ デ ル 構 築 ハ イ パ ー パ ラ メ ー タ 調 整 学 習 ・ 評 価 評 価 軸 設 計

Slide 3

Slide 3 text

#ccc_e4 3/105 ネタ元  Coursera「Machine Learning」  機械学習の基礎を学ぶ実務者向け講義  厳密な根拠づけは省いて、「直観的には こんな感じ、やり方はこう」という内容  「実務上どう実現すればいいの?」とい う話もちょいちょい出てくる  今回は第6週、第11週がネタ元

Slide 4

Slide 4 text

題材1 (第6週) 線形回帰による住宅価格予測 #ccc_e4 4/105

Slide 5

Slide 5 text

#ccc_e4 5/105 題材1: 線形回帰  説明変数 (x)  広さ  部屋数  階数  築年数  ……  目的変数 (y)  住宅価格

Slide 6

Slide 6 text

#ccc_e4 6/105 次にどの手を打つべきか?  「予測がうまくいかない」とき  そもそもそれはどういう時?  何をするべき?  データをもっと集める?  説明変数を増やす?減らす?  1 2 + 2 みたいな多項式を新たな説明変 数にする?  正則化を強くする?弱くする?

Slide 7

Slide 7 text

def. 予測がうまくいっていない #ccc_e4 7/105 一般的なデータに対する予測の誤差が 大きい 訓練データセットに対する予測の誤差 が大きい ○ ×

Slide 8

Slide 8 text

データセットの分割 #ccc_e4 8/105 モデルのパラメータの推定のため に使うデータセット 最適な説明変数群、ハイパーパラ メータなどを選択する基準として 使うデータセット 最終的な予測の性能を測る 一般的なデータとして 使うデータセット 訓練セット バリデーション セット テストセット

Slide 9

Slide 9 text

説明変数の数と誤差の関係 #ccc_e4 9/105 誤差 説明変数の数 訓練誤差 バリデーション誤差 ←underfit overfit→

Slide 10

Slide 10 text

説明変数の数と誤差の関係 #ccc_e4 10/105 誤差 正則化項の係数λ 訓練誤差 バリデーション誤差 ←overfit underfit→

Slide 11

Slide 11 text

訓練セット量と誤差の関係 #ccc_e4 11/105 誤差 訓練データセットの量 Learning Curve 訓練誤差 バリデーション誤差 ←overfit 誤差が過大なら underfit→

Slide 12

Slide 12 text

#ccc_e4 12/105 状況ごとのやるべきこと Underfit: データに対してモデルが単純過ぎ  説明変数を増やす  正則化項の係数を小さくする Overfit: データに対してモデルが複雑過ぎ  訓練セットの量を増やす  説明変数を減らす  正則化項の係数を大きくする

Slide 13

Slide 13 text

題材2 (第6週) spamフィルタ #ccc_e4 13/105

Slide 14

Slide 14 text

#ccc_e4 14/105 基本的な進め方  まずは簡単なモデルを作ってみる  Learning Curve (訓練セット量vs誤差)を プロットしてみる  誤差が充分に小さければOK!  誤差が大きければ  underfit → モデルを複雑に  overfit → データを集める → モデルを単純に

Slide 15

Slide 15 text

#ccc_e4 15/105 エラー分析  具体的に打つ手を決めるためには、 分類エラーを分析することが有用  例: “med1cine”のような意図的なミスス ペルを持つメールがspamとして分類で きていない → 未知語の数を説明変数に追加

Slide 16

Slide 16 text

題材3 (第11週) Photo OCR #ccc_e4 16/105

Slide 17

Slide 17 text

題材: OCRパイプライン #ccc_e4 17/105 画像 テキスト検出 文字分割 文字認識(分類)

Slide 18

Slide 18 text

#ccc_e4 18/105 Ceiling Analysis  やみくもに各ステップを改善するのは 非効率的  Ceiling Analysisを行って、どのステップを 改善するべきか突き止めよう

Slide 19

Slide 19 text

Ceiling Analysis #ccc_e4 19/105 最終的な accuracy 改善 現行のパイプライン 70% - + 完璧なテキスト検出器 75% +5% + 完璧な文字分割器 90% +15% + 完璧な文字認識器 100% +10% → 最も改善が見込める文字分割器の改善に 労力をそそぐべき