2013 joi春合宿 講義6 機械学習入門

71
2013/03/23 山下 洋史 @utatakiyoshi JOI 春合宿 講義6 機械学習入門

Upload: hiroshi-yamashita

Post on 26-Jun-2015

1.011 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 2013 JOI春合宿 講義6 機械学習入門

2013/03/23山下 洋史@utatakiyoshi

JOI 春合宿 講義6機械学習入門

Page 2: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

おしながき

・9:00~9:30(ぐらい) イントロダクション

・9:30~11:40 コンテスト

(途中自由に休憩してもらってかまいません)

・11:40~12:00 結果発表・まとめ

2

Page 3: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

Part1: 学習とはPart2: 学習の性能Part3: 簡単な手法の紹介Part4: 今日の問題の紹介

3

イントロダクション

Page 4: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

イントロダクションPart1:学習とは

4

Page 5: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

みなさん

5

Page 6: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

4日間おつかれさまでした

6

Page 7: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

皆さんが4日間取り組んだ問題は基本的に

『ちゃんとした問題』でした

7

Page 8: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

『ちゃんとした問題』?代表選抜なんだから,『ふわっとした問題』だったら困るだろ!いい加減にしろ!

8

Page 9: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

それはそうなのですが,これはそういう意味ではなく,

9

Page 10: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

『ちゃんとした問題』:論理や計算や数学の世界に属していてその世界の中だけで答えが決まる問題

10

Page 11: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門11

論理や計算や数学の世界

Page 12: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門12

現実の世界 論理や計算や数学の世界

私たちは論理や計算や数学の世界にそのまま住んでいるわけではありません

Page 13: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門13

現実の世界 論理や計算や数学の世界

モデル化

Page 14: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門14

モデル化?

Page 15: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門15

モデル化:

現実の世界を数学の世界に翻訳すること

・いろいろなやり方がある

・ただしある程度の目的はある

・目的は現実世界に即して決まる

 (論理や計算や数学の世界からは分からない)

Page 16: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

・早く走る車が良い  → エンジン出力・流体力学...・安くて丈夫な車が良い  → 耐久性・製作コスト...

現実と数学の繋ぎ方には複数のやり方が考えられる数学の世界からは早く走る車が良いか安くて丈夫な車が良いかは分からない

16

Example: 車のデザイン

Page 17: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

現実の事象→データ→知識・天気  →毎日の雲の状態と雨が降ったかどうか →「黒い雲が多ければ雨が降りそう」・物理学 →リンゴが木から落ちる →「重力"F=mg"」(リンゴが木から落ちるというデータだけではこういうモデル化はできなさそうですが…)

17

学習

この流れを計算機の力を借りてやろう

Page 18: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門18

現実の世界 論理や計算や数学の世界

現実の事象

知識活用

問題を定式化

フィードバック

計算機での処理

データをとる データ

学習の流れ

結果

Page 19: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

始めのステップで問題の構造を捉えそこねて

無駄なデータを集めたりするとその後で何をやってもうまくいきません

19

(天気を予想するのに昨日の夕飯の情報は全く使えない)

有用な情報は何か?をちゃんと考えなければならない

Page 20: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門20

なので,対象の現象や目的についての知識

が必要

Page 21: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門21

論理や計算や数学の世界から現実の世界に開いている

『ふわっとした問題』

Page 22: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

機械学習におけるタスクの主な分類

教師あり学習教師なし学習強化学習

22

Page 23: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

教師あり学習入力と出力の組がたくさんある

↓未知の入力

に対しても正しい出力をするようにしたい

23

Page 24: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

教師なし学習入力しかない

↓これといった「正解」は無いが,

「望ましい」出力をしたいex.クラスタリング

24

Page 25: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

強化学習何か行動を起こす

↓結果が帰ってくる

↓自発的にデータを取りながらよりよい

結果をもたらす行動を探す

25

ゲームAIとか…

Page 26: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

今回のコンテストでは教師あり学習

のカテゴリ分類問題のみを扱います

26

Page 27: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

イントロダクションPart2:

学習の性能

27

Page 28: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

学習の性能はどうやって測ればよいでしょうか?

28

Page 29: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

学習の性能はどうやって測ればよいでしょうか?

29

「持ってるデータで全部うまく  いけばいいんじゃないの」

Page 30: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

ほんとうに?

30

Page 31: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門31

身長

体重

男子と女子の身長と体重のデータ男女を分類したい

男子女子

(データは架空の物です)

Example1:

Page 32: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門32

身長

体重

ウオオと線を引いて区切る全部正しく分類できた! 常勝 !!!

Page 33: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門33

身長

体重

よく考えると意味不明

身長が高いなら男子ちょっと高いなら女子まあまあ高いなら男子

→なんで?

Page 34: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門34

身長

体重

新しいデータについてもうまくいかない

Page 35: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門35

身長

体重

(こう分割すればそれっぽくなる)

Page 36: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門36

3/20の6~18時の1時間毎の気温時刻 6 7 8 9 10 11 12 13 14 15 16 17 18

気温 15.3 15.6 15.8 16.5 17.9 18.8 18.3 19.9 19.5 20.6 20.0 19.8 19.7

中間の時間の気温を予想しよう!

Example2:

Page 37: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門37

y(x)は多項式とするx:時刻 y:気温

y=a+bx+cx^2+...+mx^12

未知数が13個・データ点が13個適当に代入して連立方程式を解く

データ点全部通る! 常勝!!!

Page 38: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門38

やってみた

Page 39: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門39

やってみた

Page 40: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門40

やってみた6時30分40℃

17時30分54℃

Page 41: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門41

54℃

Page 42: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門42

Page 43: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門43

Page 44: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門44

Page 45: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門45

(アカン)

Page 46: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門46

このように,学習データに対しては成功するが,

新しいデータに対しては失敗してしまう

Page 47: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

これを過学習

といいます

47

Page 48: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

また,新しいデータに対しても成功できる能力

これを汎化性能といいます現実にフィードバックして使いたいので,

過学習せずに汎化性能を高めたい

48

はんか

Page 49: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

汎化性能の測り方

49

Page 50: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門50

新しいデータに対する適応力汎化性能 is

Page 51: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門51

新しいデータに対する適応力汎化性能 is

→新しいデータを持ってきてうまく行くか見ればよい

Page 52: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

とはいえ,新しいデータは正解がわからないから,汎化性能のテストには使えない

52

Page 53: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

なので,データを2つに分ける・トレーニングセット

・検証用セットトレーニングセットで学習し,

検証用セットで汎化性能を測定する

53

Page 54: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

使えるデータが少ない時

54

トレーニングセットを出来るだけ大きく取りたい

T T T V T T T TT T

データを N 分割し, 1 個を検証セット

N-1 個をトレーニングセットにする

検証セットを変えながら繰り返す

交差検証(Cross-validation)

Page 55: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

イントロダクションPart3:

ごく簡単な手法の紹介

55

Page 56: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

イントロダクションPart3:

ごく簡単な手法の紹介

56

Page 57: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

アヤメ(Iris)

57

・アヤメの がく(petal)・花弁(sepal)の長さと幅

→アヤメの種 (setosa・versicolor・virginica)

・これをつかって説明します

Sepal.LengthPe

tal.Len

gth

Page 58: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

・データ領域を適当に分割

・新しいデータが来たら,それが入っているマスに入っている学習データを列挙し,最も多い種に分類する・学習データのないマスにきたらどうしようもないのでランダムに決める

マス目で多数決作戦

58

に分類

Page 59: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

最近傍法

・新しいデータが来たら,それに最も近い学習データを探し,それと同じ種に分類

59

に分類

Page 60: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

k-近傍法

・新しいデータが来たら,それに1~k番目に近い学習データを探し,k個で多数決して分類

60

2-3→  に分類

k=5

Page 61: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

イントロダクションPart4:

今日の課題の紹介

61

Page 62: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

Task1:アヤメ(Iris)

62

・アヤメの がく(petal)・花弁(sepal)の長さと幅

→アヤメの種 (setosa・versicolor・virginica)

・20pts × 50データ

Page 63: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

Task2: Mushroom(キノコ)

・キノコの特徴 → 食用? or 毒?

・属性: 22個 カテゴリデータ

・食用を回避するより毒を食べる方がヤバい

63

edible poisonous

score 食用と判定 毒と判定食用 0pts -3pts毒 -15pts 0pts

提出すれば10pt×500データ +

×500データ (毒の個数<=300)

Page 64: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

Task3[難]: arXiv

・comp(コンピュータ科学),math(数学),phys(物理),stat(統計学)の4つのジャンルの論文たち

・タイトル → ジャンル

・タイトルの単語は数字に変換してあります

・10pts × 300データ64

arxiv.org: 物理学を中心とした論文を保存・公開しているウェブサイト

Page 65: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

Good Luck & Have Fun

65

Page 66: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

まとめ

66

Page 67: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

参考文献・サイト

67

・PRMLの略称で有名

・今回のイントロダクションはこの本の第1章の受け売り

・図がカラーで綺麗

・上巻は基本的な話題(学習とは.確率分布,線形回帰・識別モデル,ニューラルネットワーク 下巻はそれを元にした発展的な手法の数々(まだ読んでないので知らない)

『パターン認識と機械学習 - ベイズ理論による統計的予測』 (上下巻) 丸善出版 C.M.ビショップ

Page 68: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

参考文献・サイト

・数学(確率論,行列,微積分,etc...)

的な記述が多く,慣れていないと大変

『パターン認識と機械学習の学習』(暗黒通信社) という同人誌が出るほど

・上下巻揃えると結構値が張る:¥14,300(税抜)

68

↓たとえばこんなの

Page 69: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

参考文献・サイト

・今日の課題のようなコンテストが開かれている 賞金アリ

・Blue Book for Bulldozers:ブルドーザーの車種,製造年,販売年,販売場所等のデータから販売価格を予測する.4/10に〆切

69

www.kaggle.com

Page 70: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

参考文献・サイト

70

UCI Machine Learning Repository

http://archive.ics.uci.edu/ml/

・機械学習のアルゴリズムを試すのに有用なテストデータが置いてある

Page 71: 2013 JOI春合宿 講義6 機械学習入門

2013/03/242013春合宿 講義6 機械学習入門

おつかれさまでした

71